UNPKG

@gk8/mermaid

Version:

Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

808 lines 80.8 kB
import { m as _1, c as B1, a as Me, d as ls, l as W, b as hs, e as fs, f as ds, g as kt, h as u1, i as F1, p as ps, j as Dt, s as As, k as Ft, u as gs, n as bt, o as St, q as bs, t as k1, v as Es, w as ms } from "./mermaid-e6b51d44.js"; const ys = { trace: (...e) => { }, debug: (...e) => { }, info: (...e) => { }, warn: (...e) => { }, error: (...e) => { }, fatal: (...e) => { } }; var S1 = function() { var e = function(Ae, l, f, p) { for (f = f || {}, p = Ae.length; p--; f[Ae[p]] = l) ; return f; }, s = [1, 9], r = [1, 7], i = [1, 6], u = [1, 8], a = [1, 20, 21, 22, 23, 38, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], o = [2, 10], d = [1, 20], h = [1, 21], A = [1, 22], g = [1, 23], D = [1, 30], F = [1, 32], C = [1, 33], X = [1, 34], k = [1, 56], T = [1, 55], ge = [1, 36], se = [1, 37], Ue = [1, 38], Ge = [1, 39], je = [1, 40], L = [1, 51], R = [1, 53], I = [1, 49], N = [1, 54], w = [1, 50], O = [1, 57], P = [1, 52], M = [1, 58], z = [1, 59], We = [1, 41], Ke = [1, 42], He = [1, 43], Ye = [1, 44], M1 = [1, 62], Ne = [1, 67], B = [1, 20, 21, 22, 23, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], Z = [1, 71], $ = [1, 70], ee = [1, 72], Xe = [20, 21, 23, 84, 86], ye = [1, 98], ke = [1, 103], De = [1, 102], Fe = [1, 99], Se = [1, 95], xe = [1, 101], Ce = [1, 97], Te = [1, 104], _e = [1, 100], Be = [1, 105], ve = [1, 96], qe = [20, 21, 22, 23, 84, 86], U = [20, 21, 22, 23, 55, 84, 86], H = [20, 21, 22, 23, 40, 53, 55, 57, 59, 61, 63, 65, 67, 69, 72, 74, 76, 77, 79, 84, 86, 97, 110, 113, 114, 117, 119, 122, 123, 124], _ = [20, 21, 23], z1 = [20, 21, 23, 53, 69, 84, 86, 97, 110, 113, 114, 117, 119, 122, 123, 124], d1 = [1, 12, 20, 21, 22, 23, 24, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], we = [53, 69, 97, 110, 113, 114, 117, 119, 122, 123, 124], U1 = [1, 134], G1 = [1, 133], j1 = [1, 141], W1 = [1, 155], K1 = [1, 156], H1 = [1, 157], Y1 = [1, 158], X1 = [1, 143], q1 = [1, 145], Q1 = [1, 149], J1 = [1, 150], Z1 = [1, 151], $1 = [1, 152], et = [1, 153], tt = [1, 154], st = [1, 159], nt = [1, 160], it = [1, 139], rt = [1, 140], ut = [1, 147], at = [1, 142], ct = [1, 146], ot = [1, 144], p1 = [20, 21, 22, 23, 38, 43, 45, 47, 49, 53, 69, 92, 93, 94, 95, 96, 97, 110, 113, 114, 117, 119, 122, 123, 124, 129, 130, 131, 132], lt = [1, 162], Y = [20, 21, 22, 23, 26, 53, 69, 97, 113, 114, 117, 119, 122, 123, 124], b = [1, 182], G = [1, 178], j = [1, 179], E = [1, 183], m = [1, 180], y = [1, 181], ht = [12, 21, 22, 24], Ve = [86, 124, 127], S = [20, 21, 22, 23, 24, 26, 38, 40, 43, 53, 69, 84, 92, 93, 94, 95, 96, 97, 98, 113, 117, 119, 122, 123, 124], ft = [22, 114], pe = [42, 58, 60, 62, 64, 66, 71, 73, 75, 76, 78, 80, 124, 125, 126], ne = [1, 250], ie = [1, 248], re = [1, 252], ue = [1, 246], ae = [1, 247], ce = [1, 249], oe = [1, 251], le = [1, 253], Le = [1, 270], dt = [20, 21, 23, 114], te = [20, 21, 22, 23, 69, 92, 113, 114, 117, 118, 119, 120], A1 = { trace: function() { }, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, openDirective: 6, typeDirective: 7, closeDirective: 8, separator: 9, ":": 10, argDirective: 11, open_directive: 12, type_directive: 13, arg_directive: 14, close_directive: 15, graphConfig: 16, document: 17, line: 18, statement: 19, SEMI: 20, NEWLINE: 21, SPACE: 22, EOF: 23, GRAPH: 24, NODIR: 25, DIR: 26, FirstStmtSeperator: 27, ending: 28, endToken: 29, spaceList: 30, spaceListNewline: 31, verticeStatement: 32, styleStatement: 33, linkStyleStatement: 34, classDefStatement: 35, classStatement: 36, clickStatement: 37, subgraph: 38, textNoTags: 39, SQS: 40, text: 41, SQE: 42, end: 43, direction: 44, acc_title: 45, acc_title_value: 46, acc_descr: 47, acc_descr_value: 48, acc_descr_multiline_value: 49, link: 50, node: 51, styledVertex: 52, AMP: 53, vertex: 54, STYLE_SEPARATOR: 55, idString: 56, DOUBLECIRCLESTART: 57, DOUBLECIRCLEEND: 58, PS: 59, PE: 60, "(-": 61, "-)": 62, STADIUMSTART: 63, STADIUMEND: 64, SUBROUTINESTART: 65, SUBROUTINEEND: 66, VERTEX_WITH_PROPS_START: 67, "NODE_STRING[field]": 68, COLON: 69, "NODE_STRING[value]": 70, PIPE: 71, CYLINDERSTART: 72, CYLINDEREND: 73, DIAMOND_START: 74, DIAMOND_STOP: 75, TAGEND: 76, TRAPSTART: 77, TRAPEND: 78, INVTRAPSTART: 79, INVTRAPEND: 80, linkStatement: 81, arrowText: 82, TESTSTR: 83, START_LINK: 84, edgeText: 85, LINK: 86, edgeTextToken: 87, STR: 88, MD_STR: 89, textToken: 90, keywords: 91, STYLE: 92, LINKSTYLE: 93, CLASSDEF: 94, CLASS: 95, CLICK: 96, DOWN: 97, UP: 98, textNoTagsToken: 99, stylesOpt: 100, "idString[vertex]": 101, "idString[class]": 102, CALLBACKNAME: 103, CALLBACKARGS: 104, HREF: 105, LINK_TARGET: 106, "STR[link]": 107, "STR[tooltip]": 108, alphaNum: 109, DEFAULT: 110, numList: 111, INTERPOLATE: 112, NUM: 113, COMMA: 114, style: 115, styleComponent: 116, NODE_STRING: 117, UNIT: 118, BRKT: 119, PCT: 120, idStringToken: 121, MINUS: 122, MULT: 123, UNICODE_TEXT: 124, TEXT: 125, TAGSTART: 126, EDGE_TEXT: 127, alphaNumToken: 128, direction_tb: 129, direction_bt: 130, direction_rl: 131, direction_lr: 132, $accept: 0, $end: 1 }, terminals_: { 2: "error", 10: ":", 12: "open_directive", 13: "type_directive", 14: "arg_directive", 15: "close_directive", 20: "SEMI", 21: "NEWLINE", 22: "SPACE", 23: "EOF", 24: "GRAPH", 25: "NODIR", 26: "DIR", 38: "subgraph", 40: "SQS", 42: "SQE", 43: "end", 45: "acc_title", 46: "acc_title_value", 47: "acc_descr", 48: "acc_descr_value", 49: "acc_descr_multiline_value", 53: "AMP", 55: "STYLE_SEPARATOR", 57: "DOUBLECIRCLESTART", 58: "DOUBLECIRCLEEND", 59: "PS", 60: "PE", 61: "(-", 62: "-)", 63: "STADIUMSTART", 64: "STADIUMEND", 65: "SUBROUTINESTART", 66: "SUBROUTINEEND", 67: "VERTEX_WITH_PROPS_START", 68: "NODE_STRING[field]", 69: "COLON", 70: "NODE_STRING[value]", 71: "PIPE", 72: "CYLINDERSTART", 73: "CYLINDEREND", 74: "DIAMOND_START", 75: "DIAMOND_STOP", 76: "TAGEND", 77: "TRAPSTART", 78: "TRAPEND", 79: "INVTRAPSTART", 80: "INVTRAPEND", 83: "TESTSTR", 84: "START_LINK", 86: "LINK", 88: "STR", 89: "MD_STR", 92: "STYLE", 93: "LINKSTYLE", 94: "CLASSDEF", 95: "CLASS", 96: "CLICK", 97: "DOWN", 98: "UP", 101: "idString[vertex]", 102: "idString[class]", 103: "CALLBACKNAME", 104: "CALLBACKARGS", 105: "HREF", 106: "LINK_TARGET", 107: "STR[link]", 108: "STR[tooltip]", 110: "DEFAULT", 112: "INTERPOLATE", 113: "NUM", 114: "COMMA", 117: "NODE_STRING", 118: "UNIT", 119: "BRKT", 120: "PCT", 122: "MINUS", 123: "MULT", 124: "UNICODE_TEXT", 125: "TEXT", 126: "TAGSTART", 127: "EDGE_TEXT", 129: "direction_tb", 130: "direction_bt", 131: "direction_rl", 132: "direction_lr" }, productions_: [0, [3, 1], [3, 2], [5, 4], [5, 6], [6, 1], [7, 1], [11, 1], [8, 1], [4, 2], [17, 0], [17, 2], [18, 1], [18, 1], [18, 1], [18, 1], [18, 1], [16, 2], [16, 2], [16, 2], [16, 3], [28, 2], [28, 1], [29, 1], [29, 1], [29, 1], [27, 1], [27, 1], [27, 2], [31, 2], [31, 2], [31, 1], [31, 1], [30, 2], [30, 1], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 9], [19, 6], [19, 4], [19, 1], [19, 2], [19, 2], [19, 1], [9, 1], [9, 1], [9, 1], [32, 3], [32, 4], [32, 2], [32, 1], [51, 1], [51, 5], [52, 1], [52, 3], [54, 4], [54, 4], [54, 6], [54, 4], [54, 4], [54, 4], [54, 8], [54, 4], [54, 4], [54, 4], [54, 6], [54, 4], [54, 4], [54, 4], [54, 4], [54, 4], [54, 1], [50, 2], [50, 3], [50, 3], [50, 1], [50, 3], [85, 1], [85, 2], [85, 1], [85, 1], [81, 1], [82, 3], [41, 1], [41, 2], [41, 1], [41, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [39, 1], [39, 2], [39, 1], [39, 1], [35, 5], [36, 5], [37, 2], [37, 4], [37, 3], [37, 5], [37, 3], [37, 5], [37, 5], [37, 7], [37, 2], [37, 4], [37, 2], [37, 4], [37, 4], [37, 6], [33, 5], [34, 5], [34, 5], [34, 9], [34, 9], [34, 7], [34, 7], [111, 1], [111, 3], [100, 1], [100, 3], [115, 1], [115, 2], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [116, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [121, 1], [90, 1], [90, 1], [90, 1], [90, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [99, 1], [87, 1], [87, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [128, 1], [56, 1], [56, 2], [109, 1], [109, 2], [44, 1], [44, 1], [44, 1], [44, 1]], performAction: function(l, f, p, c, v, t, Oe) { var n = t.length - 1; switch (v) { case 5: c.parseDirective("%%{", "open_directive"); break; case 6: c.parseDirective(t[n], "type_directive"); break; case 7: t[n] = t[n].trim().replace(/'/g, '"'), c.parseDirective(t[n], "arg_directive"); break; case 8: c.parseDirective("}%%", "close_directive", "flowchart"); break; case 10: this.$ = []; break; case 11: (!Array.isArray(t[n]) || t[n].length > 0) && t[n - 1].push(t[n]), this.$ = t[n - 1]; break; case 12: case 184: this.$ = t[n]; break; case 19: c.setDirection("TB"), this.$ = "TB"; break; case 20: c.setDirection(t[n - 1]), this.$ = t[n - 1]; break; case 35: this.$ = t[n - 1].nodes; break; case 36: case 37: case 38: case 39: case 40: this.$ = []; break; case 41: this.$ = c.addSubGraph(t[n - 6], t[n - 1], t[n - 4]); break; case 42: this.$ = c.addSubGraph(t[n - 3], t[n - 1], t[n - 3]); break; case 43: this.$ = c.addSubGraph(void 0, t[n - 1], void 0); break; case 45: this.$ = t[n].trim(), c.setAccTitle(this.$); break; case 46: case 47: this.$ = t[n].trim(), c.setAccDescription(this.$); break; case 51: c.addLink(t[n - 2].stmt, t[n], t[n - 1]), this.$ = { stmt: t[n], nodes: t[n].concat(t[n - 2].nodes) }; break; case 52: c.addLink(t[n - 3].stmt, t[n - 1], t[n - 2]), this.$ = { stmt: t[n - 1], nodes: t[n - 1].concat(t[n - 3].nodes) }; break; case 53: this.$ = { stmt: t[n - 1], nodes: t[n - 1] }; break; case 54: this.$ = { stmt: t[n], nodes: t[n] }; break; case 55: this.$ = [t[n]]; break; case 56: this.$ = t[n - 4].concat(t[n]); break; case 57: this.$ = t[n]; break; case 58: this.$ = t[n - 2], c.setClass(t[n - 2], t[n]); break; case 59: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "square"); break; case 60: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "doublecircle"); break; case 61: this.$ = t[n - 5], c.addVertex(t[n - 5], t[n - 2], "circle"); break; case 62: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "ellipse"); break; case 63: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "stadium"); break; case 64: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "subroutine"); break; case 65: this.$ = t[n - 7], c.addVertex(t[n - 7], t[n - 1], "rect", void 0, void 0, void 0, Object.fromEntries([[t[n - 5], t[n - 3]]])); break; case 66: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "cylinder"); break; case 67: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "round"); break; case 68: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "diamond"); break; case 69: this.$ = t[n - 5], c.addVertex(t[n - 5], t[n - 2], "hexagon"); break; case 70: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "odd"); break; case 71: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "trapezoid"); break; case 72: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "inv_trapezoid"); break; case 73: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "lean_right"); break; case 74: this.$ = t[n - 3], c.addVertex(t[n - 3], t[n - 1], "lean_left"); break; case 75: this.$ = t[n], c.addVertex(t[n]); break; case 76: t[n - 1].text = t[n], this.$ = t[n - 1]; break; case 77: case 78: t[n - 2].text = t[n - 1], this.$ = t[n - 2]; break; case 79: this.$ = t[n]; break; case 80: var q = c.destructLink(t[n], t[n - 2]); this.$ = { type: q.type, stroke: q.stroke, length: q.length, text: t[n - 1] }; break; case 81: this.$ = { text: t[n], type: "text" }; break; case 82: this.$ = { text: t[n - 1].text + "" + t[n], type: t[n - 1].type }; break; case 83: this.$ = { text: t[n], type: "string" }; break; case 84: this.$ = { text: t[n], type: "markdown" }; break; case 85: var q = c.destructLink(t[n]); this.$ = { type: q.type, stroke: q.stroke, length: q.length }; break; case 86: this.$ = t[n - 1]; break; case 87: this.$ = { text: t[n], type: "text" }; break; case 88: this.$ = { text: t[n - 1].text + "" + t[n], type: t[n - 1].type }; break; case 89: this.$ = { text: t[n], type: "string" }; break; case 90: case 105: this.$ = { text: t[n], type: "markdown" }; break; case 102: this.$ = { text: t[n], type: "text" }; break; case 103: this.$ = { text: t[n - 1].text + "" + t[n], type: t[n - 1].type }; break; case 104: this.$ = { text: t[n], type: "text" }; break; case 106: this.$ = t[n - 4], c.addClass(t[n - 2], t[n]); break; case 107: this.$ = t[n - 4], c.setClass(t[n - 2], t[n]); break; case 108: case 116: this.$ = t[n - 1], c.setClickEvent(t[n - 1], t[n]); break; case 109: case 117: this.$ = t[n - 3], c.setClickEvent(t[n - 3], t[n - 2]), c.setTooltip(t[n - 3], t[n]); break; case 110: this.$ = t[n - 2], c.setClickEvent(t[n - 2], t[n - 1], t[n]); break; case 111: this.$ = t[n - 4], c.setClickEvent(t[n - 4], t[n - 3], t[n - 2]), c.setTooltip(t[n - 4], t[n]); break; case 112: this.$ = t[n - 2], c.setLink(t[n - 2], t[n]); break; case 113: this.$ = t[n - 4], c.setLink(t[n - 4], t[n - 2]), c.setTooltip(t[n - 4], t[n]); break; case 114: this.$ = t[n - 4], c.setLink(t[n - 4], t[n - 2], t[n]); break; case 115: this.$ = t[n - 6], c.setLink(t[n - 6], t[n - 4], t[n]), c.setTooltip(t[n - 6], t[n - 2]); break; case 118: this.$ = t[n - 1], c.setLink(t[n - 1], t[n]); break; case 119: this.$ = t[n - 3], c.setLink(t[n - 3], t[n - 2]), c.setTooltip(t[n - 3], t[n]); break; case 120: this.$ = t[n - 3], c.setLink(t[n - 3], t[n - 2], t[n]); break; case 121: this.$ = t[n - 5], c.setLink(t[n - 5], t[n - 4], t[n]), c.setTooltip(t[n - 5], t[n - 2]); break; case 122: this.$ = t[n - 4], c.addVertex(t[n - 2], void 0, void 0, t[n]); break; case 123: this.$ = t[n - 4], c.updateLink([t[n - 2]], t[n]); break; case 124: this.$ = t[n - 4], c.updateLink(t[n - 2], t[n]); break; case 125: this.$ = t[n - 8], c.updateLinkInterpolate([t[n - 6]], t[n - 2]), c.updateLink([t[n - 6]], t[n]); break; case 126: this.$ = t[n - 8], c.updateLinkInterpolate(t[n - 6], t[n - 2]), c.updateLink(t[n - 6], t[n]); break; case 127: this.$ = t[n - 6], c.updateLinkInterpolate([t[n - 4]], t[n]); break; case 128: this.$ = t[n - 6], c.updateLinkInterpolate(t[n - 4], t[n]); break; case 129: case 131: this.$ = [t[n]]; break; case 130: case 132: t[n - 2].push(t[n]), this.$ = t[n - 2]; break; case 134: this.$ = t[n - 1] + t[n]; break; case 182: this.$ = t[n]; break; case 183: this.$ = t[n - 1] + "" + t[n]; break; case 185: this.$ = t[n - 1] + "" + t[n]; break; case 186: this.$ = { stmt: "dir", value: "TB" }; break; case 187: this.$ = { stmt: "dir", value: "BT" }; break; case 188: this.$ = { stmt: "dir", value: "RL" }; break; case 189: this.$ = { stmt: "dir", value: "LR" }; break; } }, table: [{ 3: 1, 4: 2, 5: 3, 6: 5, 12: s, 16: 4, 21: r, 22: i, 24: u }, { 1: [3] }, { 1: [2, 1] }, { 3: 10, 4: 2, 5: 3, 6: 5, 12: s, 16: 4, 21: r, 22: i, 24: u }, e(a, o, { 17: 11 }), { 7: 12, 13: [1, 13] }, { 16: 14, 21: r, 22: i, 24: u }, { 16: 15, 21: r, 22: i, 24: u }, { 25: [1, 16], 26: [1, 17] }, { 13: [2, 5] }, { 1: [2, 2] }, { 1: [2, 9], 18: 18, 19: 19, 20: d, 21: h, 22: A, 23: g, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: D, 44: 31, 45: F, 47: C, 49: X, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: T, 92: ge, 93: se, 94: Ue, 95: Ge, 96: je, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z, 129: We, 130: Ke, 131: He, 132: Ye }, { 8: 60, 10: [1, 61], 15: M1 }, e([10, 15], [2, 6]), e(a, [2, 17]), e(a, [2, 18]), e(a, [2, 19]), { 20: [1, 64], 21: [1, 65], 22: Ne, 27: 63, 30: 66 }, e(B, [2, 11]), e(B, [2, 12]), e(B, [2, 13]), e(B, [2, 14]), e(B, [2, 15]), e(B, [2, 16]), { 9: 68, 20: Z, 21: $, 23: ee, 50: 69, 81: 73, 84: [1, 74], 86: [1, 75] }, { 9: 76, 20: Z, 21: $, 23: ee }, { 9: 77, 20: Z, 21: $, 23: ee }, { 9: 78, 20: Z, 21: $, 23: ee }, { 9: 79, 20: Z, 21: $, 23: ee }, { 9: 80, 20: Z, 21: $, 23: ee }, { 9: 82, 20: Z, 21: $, 22: [1, 81], 23: ee }, e(B, [2, 44]), { 46: [1, 83] }, { 48: [1, 84] }, e(B, [2, 47]), e(Xe, [2, 54], { 30: 85, 22: Ne }), { 22: [1, 86] }, { 22: [1, 87] }, { 22: [1, 88] }, { 22: [1, 89] }, { 26: ye, 53: ke, 69: De, 88: [1, 93], 97: Fe, 103: [1, 90], 105: [1, 91], 109: 92, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve, 128: 94 }, e(B, [2, 186]), e(B, [2, 187]), e(B, [2, 188]), e(B, [2, 189]), e(qe, [2, 55]), e(qe, [2, 57], { 55: [1, 106] }), e(U, [2, 75], { 121: 119, 40: [1, 107], 53: k, 57: [1, 108], 59: [1, 109], 61: [1, 110], 63: [1, 111], 65: [1, 112], 67: [1, 113], 69: T, 72: [1, 114], 74: [1, 115], 76: [1, 116], 77: [1, 117], 79: [1, 118], 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 122: P, 123: M, 124: z }), e(H, [2, 182]), e(H, [2, 143]), e(H, [2, 144]), e(H, [2, 145]), e(H, [2, 146]), e(H, [2, 147]), e(H, [2, 148]), e(H, [2, 149]), e(H, [2, 150]), e(H, [2, 151]), e(H, [2, 152]), e(H, [2, 153]), { 9: 120, 20: Z, 21: $, 23: ee }, { 11: 121, 14: [1, 122] }, e(_, [2, 8]), e(a, [2, 20]), e(a, [2, 26]), e(a, [2, 27]), { 21: [1, 123] }, e(z1, [2, 34], { 30: 124, 22: Ne }), e(B, [2, 35]), { 51: 125, 52: 45, 53: k, 54: 46, 56: 47, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, e(d1, [2, 48]), e(d1, [2, 49]), e(d1, [2, 50]), e(we, [2, 79], { 82: 126, 71: [1, 128], 83: [1, 127] }), { 85: 129, 87: 130, 88: [1, 131], 89: [1, 132], 124: U1, 127: G1 }, e([53, 69, 71, 83, 97, 110, 113, 114, 117, 119, 122, 123, 124], [2, 85]), e(B, [2, 36]), e(B, [2, 37]), e(B, [2, 38]), e(B, [2, 39]), e(B, [2, 40]), { 22: j1, 24: W1, 26: K1, 38: H1, 39: 135, 43: Y1, 53: X1, 69: q1, 84: Q1, 88: [1, 137], 89: [1, 138], 91: 148, 92: J1, 93: Z1, 94: $1, 95: et, 96: tt, 97: st, 98: nt, 99: 136, 113: it, 117: rt, 119: ut, 122: at, 123: ct, 124: ot }, e(p1, o, { 17: 161 }), e(B, [2, 45]), e(B, [2, 46]), e(Xe, [2, 53], { 53: lt }), { 53: k, 56: 163, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, { 110: [1, 164], 111: 165, 113: [1, 166] }, { 53: k, 56: 167, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, { 53: k, 56: 168, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, e(_, [2, 108], { 22: [1, 169], 104: [1, 170] }), { 88: [1, 171] }, e(_, [2, 116], { 128: 173, 22: [1, 172], 26: ye, 53: ke, 69: De, 97: Fe, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve }), e(_, [2, 118], { 22: [1, 174] }), e(Y, [2, 184]), e(Y, [2, 171]), e(Y, [2, 172]), e(Y, [2, 173]), e(Y, [2, 174]), e(Y, [2, 175]), e(Y, [2, 176]), e(Y, [2, 177]), e(Y, [2, 178]), e(Y, [2, 179]), e(Y, [2, 180]), e(Y, [2, 181]), { 53: k, 56: 175, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, { 41: 176, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 184, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 186, 59: [1, 185], 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 187, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 188, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 189, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 117: [1, 190] }, { 41: 191, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 192, 74: [1, 193], 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 194, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 195, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 41: 196, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, e(H, [2, 183]), e(ht, [2, 3]), { 8: 197, 15: M1 }, { 15: [2, 7] }, e(a, [2, 28]), e(z1, [2, 33]), e(Xe, [2, 51], { 30: 198, 22: Ne }), e(we, [2, 76], { 22: [1, 199] }), { 22: [1, 200] }, { 41: 201, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 86: [1, 202], 87: 203, 124: U1, 127: G1 }, e(Ve, [2, 81]), e(Ve, [2, 83]), e(Ve, [2, 84]), e(Ve, [2, 169]), e(Ve, [2, 170]), { 9: 205, 20: Z, 21: $, 22: j1, 23: ee, 24: W1, 26: K1, 38: H1, 40: [1, 204], 43: Y1, 53: X1, 69: q1, 84: Q1, 91: 148, 92: J1, 93: Z1, 94: $1, 95: et, 96: tt, 97: st, 98: nt, 99: 206, 113: it, 117: rt, 119: ut, 122: at, 123: ct, 124: ot }, e(S, [2, 102]), e(S, [2, 104]), e(S, [2, 105]), e(S, [2, 158]), e(S, [2, 159]), e(S, [2, 160]), e(S, [2, 161]), e(S, [2, 162]), e(S, [2, 163]), e(S, [2, 164]), e(S, [2, 165]), e(S, [2, 166]), e(S, [2, 167]), e(S, [2, 168]), e(S, [2, 91]), e(S, [2, 92]), e(S, [2, 93]), e(S, [2, 94]), e(S, [2, 95]), e(S, [2, 96]), e(S, [2, 97]), e(S, [2, 98]), e(S, [2, 99]), e(S, [2, 100]), e(S, [2, 101]), { 18: 18, 19: 19, 20: d, 21: h, 22: A, 23: g, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: D, 43: [1, 207], 44: 31, 45: F, 47: C, 49: X, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: T, 92: ge, 93: se, 94: Ue, 95: Ge, 96: je, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z, 129: We, 130: Ke, 131: He, 132: Ye }, { 22: Ne, 30: 208 }, { 22: [1, 209], 53: k, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 119, 122: P, 123: M, 124: z }, { 22: [1, 210] }, { 22: [1, 211], 114: [1, 212] }, e(ft, [2, 129]), { 22: [1, 213], 53: k, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 119, 122: P, 123: M, 124: z }, { 22: [1, 214], 53: k, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 119, 122: P, 123: M, 124: z }, { 88: [1, 215] }, e(_, [2, 110], { 22: [1, 216] }), e(_, [2, 112], { 22: [1, 217] }), { 88: [1, 218] }, e(Y, [2, 185]), { 88: [1, 219], 106: [1, 220] }, e(qe, [2, 58], { 121: 119, 53: k, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 122: P, 123: M, 124: z }), { 42: [1, 221], 76: b, 90: 222, 124: E, 125: m, 126: y }, e(pe, [2, 87]), e(pe, [2, 89]), e(pe, [2, 90]), e(pe, [2, 154]), e(pe, [2, 155]), e(pe, [2, 156]), e(pe, [2, 157]), { 58: [1, 223], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 41: 224, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 60: [1, 225], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 62: [1, 226], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 64: [1, 227], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 66: [1, 228], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 69: [1, 229] }, { 73: [1, 230], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 75: [1, 231], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 41: 232, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, { 42: [1, 233], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 76: b, 78: [1, 234], 80: [1, 235], 90: 222, 124: E, 125: m, 126: y }, { 76: b, 78: [1, 237], 80: [1, 236], 90: 222, 124: E, 125: m, 126: y }, { 9: 238, 20: Z, 21: $, 23: ee }, e(Xe, [2, 52], { 53: lt }), e(we, [2, 78]), e(we, [2, 77]), { 71: [1, 239], 76: b, 90: 222, 124: E, 125: m, 126: y }, e(we, [2, 80]), e(Ve, [2, 82]), { 41: 240, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, e(p1, o, { 17: 241 }), e(S, [2, 103]), e(B, [2, 43]), { 52: 242, 53: k, 54: 46, 56: 47, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, { 22: ne, 69: ie, 92: re, 100: 243, 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, { 22: ne, 69: ie, 92: re, 100: 254, 112: [1, 255], 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, { 22: ne, 69: ie, 92: re, 100: 256, 112: [1, 257], 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, { 113: [1, 258] }, { 22: ne, 69: ie, 92: re, 100: 259, 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, { 53: k, 56: 260, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z }, e(_, [2, 109]), { 88: [1, 261] }, { 88: [1, 262], 106: [1, 263] }, e(_, [2, 117]), e(_, [2, 119], { 22: [1, 264] }), e(_, [2, 120]), e(U, [2, 59]), e(pe, [2, 88]), e(U, [2, 60]), { 60: [1, 265], 76: b, 90: 222, 124: E, 125: m, 126: y }, e(U, [2, 67]), e(U, [2, 62]), e(U, [2, 63]), e(U, [2, 64]), { 117: [1, 266] }, e(U, [2, 66]), e(U, [2, 68]), { 75: [1, 267], 76: b, 90: 222, 124: E, 125: m, 126: y }, e(U, [2, 70]), e(U, [2, 71]), e(U, [2, 73]), e(U, [2, 72]), e(U, [2, 74]), e(ht, [2, 4]), e([22, 53, 69, 97, 110, 113, 114, 117, 119, 122, 123, 124], [2, 86]), { 42: [1, 268], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 18: 18, 19: 19, 20: d, 21: h, 22: A, 23: g, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: D, 43: [1, 269], 44: 31, 45: F, 47: C, 49: X, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: T, 92: ge, 93: se, 94: Ue, 95: Ge, 96: je, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z, 129: We, 130: Ke, 131: He, 132: Ye }, e(qe, [2, 56]), e(_, [2, 122], { 114: Le }), e(dt, [2, 131], { 116: 271, 22: ne, 69: ie, 92: re, 113: ue, 117: ae, 118: ce, 119: oe, 120: le }), e(te, [2, 133]), e(te, [2, 135]), e(te, [2, 136]), e(te, [2, 137]), e(te, [2, 138]), e(te, [2, 139]), e(te, [2, 140]), e(te, [2, 141]), e(te, [2, 142]), e(_, [2, 123], { 114: Le }), { 22: [1, 272] }, e(_, [2, 124], { 114: Le }), { 22: [1, 273] }, e(ft, [2, 130]), e(_, [2, 106], { 114: Le }), e(_, [2, 107], { 121: 119, 53: k, 69: T, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 122: P, 123: M, 124: z }), e(_, [2, 111]), e(_, [2, 113], { 22: [1, 274] }), e(_, [2, 114]), { 106: [1, 275] }, { 60: [1, 276] }, { 71: [1, 277] }, { 75: [1, 278] }, { 9: 279, 20: Z, 21: $, 23: ee }, e(B, [2, 42]), { 22: ne, 69: ie, 92: re, 113: ue, 115: 280, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, e(te, [2, 134]), { 26: ye, 53: ke, 69: De, 97: Fe, 109: 281, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve, 128: 94 }, { 26: ye, 53: ke, 69: De, 97: Fe, 109: 282, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve, 128: 94 }, { 106: [1, 283] }, e(_, [2, 121]), e(U, [2, 61]), { 41: 284, 76: b, 88: G, 89: j, 90: 177, 124: E, 125: m, 126: y }, e(U, [2, 69]), e(p1, o, { 17: 285 }), e(dt, [2, 132], { 116: 271, 22: ne, 69: ie, 92: re, 113: ue, 117: ae, 118: ce, 119: oe, 120: le }), e(_, [2, 127], { 128: 173, 22: [1, 286], 26: ye, 53: ke, 69: De, 97: Fe, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve }), e(_, [2, 128], { 128: 173, 22: [1, 287], 26: ye, 53: ke, 69: De, 97: Fe, 113: Se, 114: xe, 117: Ce, 119: Te, 122: _e, 123: Be, 124: ve }), e(_, [2, 115]), { 42: [1, 288], 76: b, 90: 222, 124: E, 125: m, 126: y }, { 18: 18, 19: 19, 20: d, 21: h, 22: A, 23: g, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: D, 43: [1, 289], 44: 31, 45: F, 47: C, 49: X, 51: 35, 52: 45, 53: k, 54: 46, 56: 47, 69: T, 92: ge, 93: se, 94: Ue, 95: Ge, 96: je, 97: L, 110: R, 113: I, 114: N, 117: w, 119: O, 121: 48, 122: P, 123: M, 124: z, 129: We, 130: Ke, 131: He, 132: Ye }, { 22: ne, 69: ie, 92: re, 100: 290, 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, { 22: ne, 69: ie, 92: re, 100: 291, 113: ue, 115: 244, 116: 245, 117: ae, 118: ce, 119: oe, 120: le }, e(U, [2, 65]), e(B, [2, 41]), e(_, [2, 125], { 114: Le }), e(_, [2, 126], { 114: Le })], defaultActions: { 2: [2, 1], 9: [2, 5], 10: [2, 2], 122: [2, 7] }, parseError: function(l, f) { if (f.recoverable) this.trace(l); else { var p = new Error(l); throw p.hash = f, p; } }, parse: function(l) { var f = this, p = [0], c = [], v = [null], t = [], Oe = this.table, n = "", q = 0, pt = 0, us = 2, At = 1, as = t.slice.call(arguments, 1), V = Object.create(this.lexer), be = { yy: {} }; for (var b1 in this.yy) Object.prototype.hasOwnProperty.call(this.yy, b1) && (be.yy[b1] = this.yy[b1]); V.setInput(l, be.yy), be.yy.lexer = V, be.yy.parser = this, typeof V.yylloc > "u" && (V.yylloc = {}); var E1 = V.yylloc; t.push(E1); var cs = V.options && V.options.ranges; typeof be.yy.parseError == "function" ? this.parseError = be.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; function os() { var fe; return fe = c.pop() || V.lex() || At, typeof fe != "number" && (fe instanceof Array && (c = fe, fe = c.pop()), fe = f.symbols_[fe] || fe), fe; } for (var K, Ee, Q, m1, Re = {}, Qe, he, gt, Je; ; ) { if (Ee = p[p.length - 1], this.defaultActions[Ee] ? Q = this.defaultActions[Ee] : ((K === null || typeof K > "u") && (K = os()), Q = Oe[Ee] && Oe[Ee][K]), typeof Q > "u" || !Q.length || !Q[0]) { var y1 = ""; Je = []; for (Qe in Oe[Ee]) this.terminals_[Qe] && Qe > us && Je.push("'" + this.terminals_[Qe] + "'"); V.showPosition ? y1 = "Parse error on line " + (q + 1) + `: ` + V.showPosition() + ` Expecting ` + Je.join(", ") + ", got '" + (this.terminals_[K] || K) + "'" : y1 = "Parse error on line " + (q + 1) + ": Unexpected " + (K == At ? "end of input" : "'" + (this.terminals_[K] || K) + "'"), this.parseError(y1, { text: V.match, token: this.terminals_[K] || K, line: V.yylineno, loc: E1, expected: Je }); } if (Q[0] instanceof Array && Q.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + Ee + ", token: " + K); switch (Q[0]) { case 1: p.push(K), v.push(V.yytext), t.push(V.yylloc), p.push(Q[1]), K = null, pt = V.yyleng, n = V.yytext, q = V.yylineno, E1 = V.yylloc; break; case 2: if (he = this.productions_[Q[1]][1], Re.$ = v[v.length - he], Re._$ = { first_line: t[t.length - (he || 1)].first_line, last_line: t[t.length - 1].last_line, first_column: t[t.length - (he || 1)].first_column, last_column: t[t.length - 1].last_column }, cs && (Re._$.range = [ t[t.length - (he || 1)].range[0], t[t.length - 1].range[1] ]), m1 = this.performAction.apply(Re, [ n, pt, q, be.yy, Q[1], v, t ].concat(as)), typeof m1 < "u") return m1; he && (p = p.slice(0, -1 * he * 2), v = v.slice(0, -1 * he), t = t.slice(0, -1 * he)), p.push(this.productions_[Q[1]][0]), v.push(Re.$), t.push(Re._$), gt = Oe[p[p.length - 2]][p[p.length - 1]], p.push(gt); break; case 3: return !0; } } return !0; } }, rs = function() { var Ae = { EOF: 1, parseError: function(f, p) { if (this.yy.parser) this.yy.parser.parseError(f, p); else throw new Error(f); }, // resets the lexer, sets new input setInput: function(l, f) { return this.yy = f || this.yy || {}, this._input = l, 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; }, // consumes and returns one char from the input input: function() { var l = this._input[0]; this.yytext += l, this.yyleng++, this.offset++, this.match += l, this.matched += l; var f = l.match(/(?:\r\n?|\n).*/g); return f ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), l; }, // unshifts one char (or a string) into the input unput: function(l) { var f = l.length, p = l.split(/(?:\r\n?|\n)/g); this._input = l + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - f), this.offset -= f; var c = 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), p.length - 1 && (this.yylineno -= p.length - 1); var v = 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: p ? (p.length === c.length ? this.yylloc.first_column : 0) + c[c.length - p.length].length - p[0].length : this.yylloc.first_column - f }, this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - f]), this.yyleng = this.yytext.length, this; }, // When called from action, caches matched text and appends it on next action more: function() { return this._more = !0, this; }, // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. reject: function() { if (this.options.backtrack_lexer) this._backtrack = !0; else return 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). ` + this.showPosition(), { text: "", token: null, line: this.yylineno }); return this; }, // retain first n characters of the match less: function(l) { this.unput(this.match.slice(l)); }, // displays already matched input, i.e. for error messages pastInput: function() { var l = this.matched.substr(0, this.matched.length - this.match.length); return (l.length > 20 ? "..." : "") + l.substr(-20).replace(/\n/g, ""); }, // displays upcoming input, i.e. for error messages upcomingInput: function() { var l = this.match; return l.length < 20 && (l += this._input.substr(0, 20 - l.length)), (l.substr(0, 20) + (l.length > 20 ? "..." : "")).replace(/\n/g, ""); }, // displays the character position where the lexing error occurred, i.e. for error messages showPosition: function() { var l = this.pastInput(), f = new Array(l.length + 1).join("-"); return l + this.upcomingInput() + ` ` + f + "^"; }, // test the lexed token: return FALSE when not a match, otherwise return token test_match: function(l, f) { var p, c, v; if (this.options.backtrack_lexer && (v = { 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 && (v.yylloc.range = this.yylloc.range.slice(0))), c = l[0].match(/(?:\r\n?|\n).*/g), c && (this.yylineno += c.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: c ? c[c.length - 1].length - c[c.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + l[0].length }, this.yytext += l[0], this.match += l[0], this.matches = l, 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(l[0].length), this.matched += l[0], p = this.performAction.call(this, this.yy, this, f, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), p) return p; if (this._backtrack) { for (var t in v) this[t] = v[t]; return !1; } return !1; }, // return next match in input next: function() { if (this.done) return this.EOF; this._input || (this.done = !0); var l, f, p, c; this._more || (this.yytext = "", this.match = ""); for (var v = this._currentRules(), t = 0; t < v.length; t++) if (p = this._input.match(this.rules[v[t]]), p && (!f || p[0].length > f[0].length)) { if (f = p, c = t, this.options.backtrack_lexer) { if (l = this.test_match(p, v[t]), l !== !1) return l; if (this._backtrack) { f = !1; continue; } else return !1; } else if (!this.options.flex) break; } return f ? (l = this.test_match(f, v[c]), l !== !1 ? l : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text. ` + this.showPosition(), { text: "", token: null, line: this.yylineno }); }, // return next match that has a token lex: function() { var f = this.next(); return f || this.lex(); }, // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) begin: function(f) { this.conditionStack.push(f); }, // pop the previously active lexer condition state off the condition stack popState: function() { var f = this.conditionStack.length - 1; return f > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, // produce the lexer rule set which is active for the currently active lexer condition state _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; }, // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available topState: function(f) { return f = this.conditionStack.length - 1 - Math.abs(f || 0), f >= 0 ? this.conditionStack[f] : "INITIAL"; }, // alias for begin(condition) pushState: function(f) { this.begin(f); }, // return the number of states currently on the stack stateStackSize: function() { return this.conditionStack.length; }, options: {}, performAction: function(f, p, c, v) { switch (c) { case 0: return this.begin("open_directive"), 12; case 1: return this.begin("type_directive"), 13; case 2: return this.popState(), this.begin("arg_directive"), 10; case 3: return this.popState(), this.popState(), 15; case 4: return 14; case 5: return this.begin("acc_title"), 45; case 6: return this.popState(), "acc_title_value"; case 7: return this.begin("acc_descr"), 47; case 8: return this.popState(), "acc_descr_value"; case 9: this.begin("acc_descr_multiline"); break; case 10: this.popState(); break; case 11: return "acc_descr_multiline_value"; case 12: this.begin("callbackname"); break; case 13: this.popState(); break; case 14: this.popState(), this.begin("callbackargs"); break; case 15: return 103; case 16: this.popState(); break; case 17: return 104; case 18: return "MD_STR"; case 19: this.popState(); break; case 20: this.begin("md_string"); break; case 21: return "STR"; case 22: this.popState(); break; case 23: this.pushState("string"); break; case 24: return 92; case 25: return 110; case 26: return 93; case 27: return 112; case 28: return 94; case 29: return 95; case 30: return 105; case 31: this.begin("click"); break; case 32: this.popState(); break; case 33: return 96; case 34: return f.lex.firstGraph() && this.begin("dir"), 24; case 35: return f.lex.firstGraph() && this.begin("dir"), 24; case 36: return f.lex.firstGraph() && this.begin("dir"), 24; case 37: return 38; case 38: return 43; case 39: return 106; case 40: return 106; case 41: return 106; case 42: return 106; case 43: return this.popState(), 25; case 44: return this.popState(), 26; case 45: return this.popState(), 26; case 46: return this.popState(), 26; case 47: return this.popState(), 26; case 48: return this.popState(), 26; case 49: return this.popState(), 26; case 50: return this.popState(), 26; case 51: return this.popState(), 26; case 52: return this.popState(), 26; case 53: return this.popState(), 26; case 54: return 129; case 55: return 130; case 56: return 131; case 57: return 132; case 58: return 113; case 59: return 119; case 60: return 55; case 61: return 69; case 62: return 53; case 63: return 20; case 64: return 114; case 65: return 123; case 66: return this.popState(), 86; case 67: return this.pushState("edgeText"), 84; case 68: return 127; case 69: return this.popState(), 86; case 70: return this.pushState("thickEdgeText"), 84; case 71: return 127; case 72: return this.popState(), 86; case 73: return this.pushState("dottedEdgeText"), 84; case 74: return 127; case 75: return 86; case 76: return this.popState(), 62; case 77: return "TEXT"; case 78: return this.pushState("ellipseText"), 61; case 79: return this.popState(), 64; case 80: return this.pushState("text"), 63; case 81: return this.popState(), 66; case 82: return this.pushState("text"), 65; case 83: return 67; case 84: return this.pushState("text"), 76; case 85: return this.popState(), 73; case 86: return this.pushState("text"), 72; case 87: return this.popState(), 58; case 88: return this.pushState("text"), 57; case 89: return this.popState(), 78; case 90: return this.popState(), 80; case 91: return 125; case 92: return this.pushState("trapText"), 77; case 93: return this.pushState("trapText"), 79; case 94: return 126; case 95: return 76; case 96: return 98; case 97: return "SEP"; case 98: return 97; case 99: return 123; case 100: return 119; case 101: return 53; case 102: return 117; case 103: return 122; case 104: return 124; case 105: return this.popState(), 71; case 106: return this.pushState("text"), 71; case 107: return this.popState(), 60; case 108: return this.pushState("text"), 59; case 109: return this.popState(), 42; case 110: return this.pushState("text"), 40; case 111: return this.popState(), 75; case 112: return this.pushState("text"), 74; case 113: return "TEXT"; case 114: return "QUOTE"; case 115: return 21; case 116: return 22; case 117: return 23; } }, rules: [/^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["][`])/, /^(?:[^"]+)/, /^(?:["])/, /^(?:["])/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:href[\s])/, /^(?:click[\s]+)/, /^(?:[\s\n])/, /^(?:[^\s\n]*)/, /^(?:flowchart-elk\b)/, /^(?:graph\b)/, /^(?:flowchart\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:(\r?\n)*\s*\n)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:.*direction\s+TB[^\n]*)/, /^(?:.*direction\s+BT[^\n]*)/, /^(?:.*direction\s+RL[^\n]*)/, /^(?:.*direction\s+LR[^\n]*)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:[^-]|-(?!-)+)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:[^=]|=(?!))/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:[^\.]|\.(?!))/, /^(?:\s*~~[\~]+\s*)/, /^(?:[-/\)][\)])/, /^(?:[^\(\)\[\]\{\}]|(?!\)+))/, /^(?:\(-)/, /^(?:\]\))/, /^(?:\(\[)/, /^(?:\]\])/, /^(?:\[\[)/, /^(?:\[\|)/, /^(?:>)/, /^(?:\)\])/, /^(?:\[\()/, /^(?:\)\)\))/, /^(?:\(\(\()/, /^(?:[\\(?=\])][\]])/, /^(?:\/(?=\])\])/, /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/, /^(?:\[\/)/, /^(?:\[\\)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:\*)/, /^(?:#)/, /^(?:&)/, /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/, /^(?:-)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E