@gmb/bitmark-parser-generator 5.31.1 → 5.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3186,11 +3186,16 @@ var CARDSETS = {
3186
3186
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3187
3187
  },
3188
3188
  {
3189
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3190
+ // only: it must fire (so value-side cells inherit via
3191
+ // `$ancestor`) but emit nothing itself — emission is
3192
+ // owned by the value-side's cell-nested rule
3193
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3194
+ // flat `$ancestor` rule here double-emitted at bit
3195
+ // scope and broke the `optimize(fullize(x)) ==
3196
+ // optimize(x)` law on match-matrix.
3189
3197
  key: ConfigKey.property_isCaseSensitive,
3190
- exportJsonKey: [
3191
- { "@absent": { isCaseSensitive: "$ancestor" } },
3192
- { isCaseSensitive: "$" }
3193
- ],
3198
+ exportJsonKey: {},
3194
3199
  description: "Property to indicate if the match is case sensitive.",
3195
3200
  format: TagFormat.boolean
3196
3201
  }
@@ -5070,18 +5075,16 @@ var GROUPS = {
5070
5075
  description: "Item, lead, page number, margin number, instruction and hint tags"
5071
5076
  },
5072
5077
  {
5073
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5074
- // `@example` from the bit header marks EVERY choice with
5075
- // `isExample: true` (matches BPG output), but only the
5076
- // FIRST correct choice gets `example: true` (BPG
5077
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
5078
- //
5079
- // Two `@absent` rules, picked first-match-wins:
5080
- // 1. Verbose form gated on `@parent.isCorrect=true` with
5081
- // `maxEmits:1` fires once for the first correct.
5082
- // 2. Plain `@absent` fires on every remaining entry
5083
- // (subsequent corrects and all incorrects), emitting
5084
- // `isExample` only.
5078
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5079
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
5080
+ // the FIRST correct choice (`example: true` via the
5081
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
5082
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
5083
+ // There is deliberately NO plain `@absent` rule: an ancestor
5084
+ // bare example must leave the remaining choices untouched
5085
+ // (a plain `@absent` decoration broke the
5086
+ // `optimize(fullize(x)) == optimize(x)` law the
5087
+ // synthesized `isExample` keys survived re-optimization).
5085
5088
  // The `serialize_cards` cascade-counter scope holds the cap
5086
5089
  // across the whole cardset.
5087
5090
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5109,13 +5112,6 @@ var GROUPS = {
5109
5112
  "@card": { isExample: true }
5110
5113
  }
5111
5114
  },
5112
- {
5113
- "@absent": {
5114
- isExample: true,
5115
- "@bit": { isExample: true },
5116
- "@card": { isExample: true }
5117
- }
5118
- },
5119
5115
  {
5120
5116
  isExample: true,
5121
5117
  example: "$",
@@ -5157,11 +5153,13 @@ var GROUPS = {
5157
5153
  description: "Item, lead, page number, margin number, instruction and hint tags"
5158
5154
  },
5159
5155
  {
5160
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5161
- // `@example` on a `-` (incorrect choice) emits
5162
- // `isExample: true` only — no `example` (BPG fixtures show
5163
- // `isExample` on every choice, but `example` only on the
5164
- // first correct via firstCorrectOnly cascade).
5156
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5157
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5158
+ // incorrect choices UNTOUCHED — no cascade decoration at
5159
+ // all (no `@absent` rule; a plain `@absent isExample`
5160
+ // decoration broke the `optimize(fullize(x)) ==
5161
+ // optimize(x)` law). Only an explicit `[@example]` on the
5162
+ // choice itself emits.
5165
5163
  // @card scope-shift writes choice-container isExample.
5166
5164
  key: ConfigKey.property_example,
5167
5165
  jsonKey: "example",
@@ -5174,13 +5172,6 @@ var GROUPS = {
5174
5172
  "@card": { isExample: true }
5175
5173
  }
5176
5174
  },
5177
- {
5178
- "@absent": {
5179
- isExample: true,
5180
- "@bit": { isExample: true },
5181
- "@card": { isExample: true }
5182
- }
5183
- },
5184
5175
  {
5185
5176
  isExample: true,
5186
5177
  example: "$",
@@ -5188,7 +5179,7 @@ var GROUPS = {
5188
5179
  "@card": { isExample: true }
5189
5180
  }
5190
5181
  ],
5191
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5182
+ description: "An example for the true/false statement/question (incorrect entry \u2014 no cascade decoration: an ancestor bare example leaves incorrect choices untouched, bpg 5.31)",
5192
5183
  format: TagFormat.boolean,
5193
5184
  nullable: true
5194
5185
  }
@@ -7247,7 +7238,9 @@ var BITS = {
7247
7238
  description: "Common tags for quiz bits"
7248
7239
  },
7249
7240
  {
7250
- exportJsonKey: { title: "$" },
7241
+ maxCount: 2,
7242
+ jsonKey: "title|multi(count=2, key=subtitle)",
7243
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7251
7244
  key: ConfigKey.tag_title,
7252
7245
  description: "The title of the flashcard quiz"
7253
7246
  },
@@ -7352,7 +7345,9 @@ var BITS = {
7352
7345
  description: "Article bit, used for articles / paragraphs",
7353
7346
  tags: [
7354
7347
  {
7355
- exportJsonKey: { title: "$" },
7348
+ maxCount: 2,
7349
+ jsonKey: "title|multi(count=2, key=subtitle)",
7350
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7356
7351
  key: ConfigKey.tag_title,
7357
7352
  description: "The title of the article"
7358
7353
  }
@@ -9318,7 +9313,9 @@ var BITS = {
9318
9313
  description: "Example bit, used to provide examples in articles or books",
9319
9314
  tags: [
9320
9315
  {
9321
- exportJsonKey: { title: "$" },
9316
+ maxCount: 2,
9317
+ jsonKey: "title|multi(count=2, key=subtitle)",
9318
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9322
9319
  key: ConfigKey.tag_title,
9323
9320
  description: "The title of the example"
9324
9321
  },
@@ -11919,7 +11916,9 @@ var BITS = {
11919
11916
  description: "Page bit, used to create pages in articles or books",
11920
11917
  tags: [
11921
11918
  {
11922
- exportJsonKey: { title: "$" },
11919
+ maxCount: 2,
11920
+ jsonKey: "title|multi(count=2, key=subtitle)",
11921
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11923
11922
  key: ConfigKey.tag_title,
11924
11923
  description: "Title of the page, used to display the page title"
11925
11924
  },
@@ -12377,7 +12376,9 @@ var BITS = {
12377
12376
  description: "Review note bit, used to create review notes in articles or books",
12378
12377
  tags: [
12379
12378
  {
12380
- exportJsonKey: { title: "$" },
12379
+ maxCount: 2,
12380
+ jsonKey: "title|multi(count=2, key=subtitle)",
12381
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12381
12382
  key: ConfigKey.tag_title,
12382
12383
  description: "Title of the review note, used to display the note title"
12383
12384
  },
@@ -13963,7 +13964,7 @@ var instance2 = new Config();
13963
13964
  // src/generated/package_info.ts
13964
13965
  var PACKAGE_INFO = {
13965
13966
  "name": "@gmb/bitmark-parser-generator",
13966
- "version": "5.31.1",
13967
+ "version": "5.32.0",
13967
13968
  "author": "Get More Brain Ltd",
13968
13969
  "license": "ISC",
13969
13970
  "description": "A bitmark parser and generator using Peggy.js"
@@ -14238,6 +14239,7 @@ var TextMarkType = {
14238
14239
  del: "del",
14239
14240
  underline: "underline",
14240
14241
  doubleUnderline: "doubleUnderline",
14242
+ smallcaps: "smallcaps",
14241
14243
  circle: "circle",
14242
14244
  languageEmRed: "languageEmRed",
14243
14245
  languageEmOrange: "languageEmOrange",
@@ -14269,7 +14271,10 @@ var TextMarkType = {
14269
14271
  code: "code",
14270
14272
  timer: "timer",
14271
14273
  duration: "duration",
14274
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14272
14275
  color: "color",
14276
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14277
+ textStyle: "textStyle",
14273
14278
  colorPicker: "colorPicker",
14274
14279
  comment: "comment"
14275
14280
  };
@@ -15854,6 +15859,7 @@ var INLINE_MARK_TYPES = [
15854
15859
  TextMarkType.del,
15855
15860
  TextMarkType.underline,
15856
15861
  TextMarkType.doubleUnderline,
15862
+ TextMarkType.smallcaps,
15857
15863
  TextMarkType.circle,
15858
15864
  TextMarkType.languageEmRed,
15859
15865
  TextMarkType.languageEmOrange,
@@ -15884,11 +15890,24 @@ var INLINE_MARK_TYPES = [
15884
15890
  TextMarkType.var,
15885
15891
  TextMarkType.code,
15886
15892
  TextMarkType.timer,
15887
- TextMarkType.duration,
15888
15893
  TextMarkType.color,
15894
+ // legacy input, written as color: (same as textStyle)
15895
+ TextMarkType.textStyle,
15889
15896
  TextMarkType.colorPicker,
15890
15897
  TextMarkType.comment
15891
15898
  ];
15899
+ var HIGHLIGHT_COLORS = [
15900
+ "orange",
15901
+ "yellow",
15902
+ "green",
15903
+ "blue",
15904
+ "purple",
15905
+ "pink",
15906
+ "brown",
15907
+ "white",
15908
+ "black",
15909
+ "gray"
15910
+ ];
15892
15911
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15893
15912
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15894
15913
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16452,14 +16471,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16452
16471
  this.writeMarkTextWrapper(INLINE_MARK);
16453
16472
  return;
16454
16473
  }
16455
- const singleMark = node.marks.length === 1 && forceSingleMark;
16456
- const markStartEnd = node.marks.reduce(
16474
+ const marks = this.getWritableMarks(node.marks);
16475
+ if (marks.length === 0) return;
16476
+ const singleMark = marks.length === 1 && forceSingleMark;
16477
+ const markStartEnd = marks.reduce(
16457
16478
  (acc, mark) => {
16458
16479
  if (acc) return acc;
16459
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16480
+ if (this.isStandardMark(mark)) {
16460
16481
  if (singleMark) return STANDARD_MARKS[mark.type];
16461
16482
  return INLINE_MARK;
16462
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16483
+ } else if (this.isInlineMark(mark)) {
16463
16484
  return INLINE_MARK;
16464
16485
  } else {
16465
16486
  }
@@ -16474,8 +16495,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16474
16495
  this.writeMarkTextWrapper(markStartEnd);
16475
16496
  }
16476
16497
  if (stage == Stage.between) {
16477
- for (const mark of node.marks) {
16478
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16498
+ for (const mark of marks) {
16499
+ if (this.isStandardMark(mark)) {
16479
16500
  if (!singleMark) {
16480
16501
  this.writeInlineMarkStartEnd();
16481
16502
  this.writeInlineMark(mark);
@@ -16504,7 +16525,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16504
16525
  } else if (TextMarkType.symbol === mark.type) {
16505
16526
  this.writeInlineMarkStartEnd();
16506
16527
  this.writeSymbolMark(mark);
16507
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16528
+ } else if (this.isInlineMark(mark)) {
16508
16529
  this.writeInlineMarkStartEnd();
16509
16530
  this.writeInlineMark(mark);
16510
16531
  } else {
@@ -16513,12 +16534,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16513
16534
  }
16514
16535
  if (stage == Stage.exit) {
16515
16536
  let inlineMarkWritten = false;
16516
- for (const mark of node.marks) {
16517
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16537
+ for (const mark of marks) {
16538
+ if (this.isStandardMark(mark)) {
16518
16539
  if (!singleMark) {
16519
16540
  inlineMarkWritten = true;
16520
16541
  }
16521
- } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16542
+ } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || this.isInlineMark(mark)) {
16522
16543
  inlineMarkWritten = true;
16523
16544
  } else {
16524
16545
  }
@@ -16599,8 +16620,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16599
16620
  if (node.attrs == null || !node.attrs.src) return;
16600
16621
  const attrs = node.attrs;
16601
16622
  const inlineImage = node.type === TextNodeType.imageInline;
16623
+ let ignoreAttributes;
16624
+ if (inlineImage) {
16625
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16626
+ const a = attrs;
16627
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16628
+ if (a.size === "line-height") ignoreAttributes.add("size");
16629
+ }
16602
16630
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16603
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16631
+ ignoreAttributes
16604
16632
  });
16605
16633
  let s = "";
16606
16634
  if (inlineImage) {
@@ -16630,16 +16658,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16630
16658
  if (s) this.write(s);
16631
16659
  }
16632
16660
  writeInlineMark(mark) {
16633
- let s = `${mark.type}`;
16634
- if (mark.attrs) {
16635
- for (const [k, v] of Object.entries(mark.attrs)) {
16636
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16637
- s = `${s}:${v}`;
16661
+ const attrs = mark.attrs ?? {};
16662
+ let s;
16663
+ switch (mark.type) {
16664
+ case TextMarkType.textStyle:
16665
+ case TextMarkType.color:
16666
+ s = `color:${attrs.color ?? ""}`;
16667
+ break;
16668
+ case TextMarkType.timer:
16669
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16670
+ s += `|duration:${attrs.duration ?? ""}`;
16671
+ break;
16672
+ case TextMarkType.highlight:
16673
+ case TextMarkType.userHighlight:
16674
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16675
+ break;
16676
+ default: {
16677
+ s = `${mark.type}`;
16678
+ for (const [k, v] of Object.entries(attrs)) {
16679
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16680
+ s = `${s}:${v}`;
16681
+ }
16638
16682
  }
16639
16683
  }
16640
16684
  }
16641
16685
  this.write(s);
16642
16686
  }
16687
+ /**
16688
+ * Resolve the marks of a text node into the marks that will actually be written.
16689
+ *
16690
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16691
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16692
+ * without a duration).
16693
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16694
+ * mark when its color is a valid highlight color; written in the original order the
16695
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16696
+ */
16697
+ getWritableMarks(nodeMarks) {
16698
+ const attrsOf = (m) => m.attrs ?? {};
16699
+ let marks = [...nodeMarks];
16700
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16701
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16702
+ if (timer && duration && !attrsOf(timer).duration) {
16703
+ marks = marks.map(
16704
+ (m) => m === timer ? {
16705
+ ...timer,
16706
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16707
+ } : m
16708
+ );
16709
+ }
16710
+ marks = marks.filter((m) => {
16711
+ if (m.type === TextMarkType.duration) return false;
16712
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16713
+ return true;
16714
+ });
16715
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16716
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16717
+ for (let i = 0; i < marks.length - 1; i++) {
16718
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16719
+ const tmp = marks[i];
16720
+ marks[i] = marks[i + 1];
16721
+ marks[i + 1] = tmp;
16722
+ }
16723
+ }
16724
+ return marks;
16725
+ }
16726
+ /**
16727
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16728
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16729
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16730
+ */
16731
+ isStandardMark(mark) {
16732
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16733
+ return !(mark.attrs && mark.attrs.color);
16734
+ }
16735
+ /**
16736
+ * True if the mark is written using the inline chain form (==text==|mark|).
16737
+ */
16738
+ isInlineMark(mark) {
16739
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16740
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16741
+ }
16643
16742
  writeCommentMark(mark) {
16644
16743
  const comment = mark.comment || "";
16645
16744
  const s = `#${comment}`;
@@ -16844,7 +16943,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16844
16943
  };
16845
16944
 
16846
16945
  // src/generated/parser/text/text-peggy-parser.js
16847
- var VERSION = "8.37.3";
16946
+ var VERSION = "8.41.1";
16848
16947
  function unbreakscape(str) {
16849
16948
  if (typeof str !== "string") return null;
16850
16949
  return instance3.unbreakscape(str);
@@ -17059,87 +17158,88 @@ function peg$parse(input, options) {
17059
17158
  const peg$c60 = "var:";
17060
17159
  const peg$c61 = "code:";
17061
17160
  const peg$c62 = "timer";
17062
- const peg$c63 = "timer:";
17063
- const peg$c64 = "duration:";
17064
- const peg$c65 = "P";
17065
- const peg$c66 = "color:";
17066
- const peg$c67 = "colorPicker:";
17067
- const peg$c68 = "|\u25BA";
17068
- const peg$c69 = "bold";
17069
- const peg$c70 = "italic";
17070
- const peg$c71 = "light";
17071
- const peg$c72 = "highlightOrange";
17072
- const peg$c73 = "highlightYellow";
17073
- const peg$c74 = "highlightGreen";
17074
- const peg$c75 = "highlightBlue";
17075
- const peg$c76 = "highlightPurple";
17076
- const peg$c77 = "highlightPink";
17077
- const peg$c78 = "highlightBrown";
17078
- const peg$c79 = "highlightBlack";
17079
- const peg$c80 = "highlightWhite";
17080
- const peg$c81 = "highlightGray";
17081
- const peg$c82 = "highlight";
17082
- const peg$c83 = "strike";
17083
- const peg$c84 = "subscript";
17084
- const peg$c85 = "superscript";
17085
- const peg$c86 = "ins";
17086
- const peg$c87 = "del";
17087
- const peg$c88 = "underline";
17088
- const peg$c89 = "doubleUnderline";
17089
- const peg$c90 = "circle";
17090
- const peg$c91 = "languageEmRed";
17091
- const peg$c92 = "languageEmOrange";
17092
- const peg$c93 = "languageEmYellow";
17093
- const peg$c94 = "languageEmGreen";
17094
- const peg$c95 = "languageEmBlue";
17095
- const peg$c96 = "languageEmPurple";
17096
- const peg$c97 = "languageEmPink";
17097
- const peg$c98 = "languageEmBrown";
17098
- const peg$c99 = "languageEmBlack";
17099
- const peg$c100 = "languageEmWhite";
17100
- const peg$c101 = "languageEmGray";
17101
- const peg$c102 = "languageEm";
17102
- const peg$c103 = "userUnderline";
17103
- const peg$c104 = "userDoubleUnderline";
17104
- const peg$c105 = "userStrike";
17105
- const peg$c106 = "userCircle";
17106
- const peg$c107 = "userHighlight";
17107
- const peg$c108 = "notranslate";
17108
- const peg$c109 = "aqua";
17109
- const peg$c110 = "black";
17110
- const peg$c111 = "blue";
17111
- const peg$c112 = "brown";
17112
- const peg$c113 = "fuchsia";
17113
- const peg$c114 = "lightgrey";
17114
- const peg$c115 = "gray";
17115
- const peg$c116 = "darkgray";
17116
- const peg$c117 = "green";
17117
- const peg$c118 = "lime";
17118
- const peg$c119 = "magenta";
17119
- const peg$c120 = "maroon";
17120
- const peg$c121 = "navy";
17121
- const peg$c122 = "olive";
17122
- const peg$c123 = "orange";
17123
- const peg$c124 = "pink";
17124
- const peg$c125 = "purple";
17125
- const peg$c126 = "red";
17126
- const peg$c127 = "silver";
17127
- const peg$c128 = "teal";
17128
- const peg$c129 = "violet";
17129
- const peg$c130 = "white";
17130
- const peg$c131 = "yellow";
17131
- const peg$c132 = "*";
17132
- const peg$c133 = "_";
17133
- const peg$c134 = "`";
17134
- const peg$c135 = "!";
17135
- const peg$c136 = "[!";
17136
- const peg$c137 = "]";
17137
- const peg$c138 = "\n";
17138
- const peg$c139 = "\r\n";
17139
- const peg$c140 = "http";
17140
- const peg$c141 = "s";
17141
- const peg$c142 = "://";
17142
- const peg$c143 = "mailto:";
17161
+ const peg$c63 = "duration:";
17162
+ const peg$c64 = "P";
17163
+ const peg$c65 = "timer:";
17164
+ const peg$c66 = "highlight";
17165
+ const peg$c67 = "color:";
17166
+ const peg$c68 = "userHighlight";
17167
+ const peg$c69 = "colorPicker:";
17168
+ const peg$c70 = "|\u25BA";
17169
+ const peg$c71 = "bold";
17170
+ const peg$c72 = "italic";
17171
+ const peg$c73 = "light";
17172
+ const peg$c74 = "highlightOrange";
17173
+ const peg$c75 = "highlightYellow";
17174
+ const peg$c76 = "highlightGreen";
17175
+ const peg$c77 = "highlightBlue";
17176
+ const peg$c78 = "highlightPurple";
17177
+ const peg$c79 = "highlightPink";
17178
+ const peg$c80 = "highlightBrown";
17179
+ const peg$c81 = "highlightBlack";
17180
+ const peg$c82 = "highlightWhite";
17181
+ const peg$c83 = "highlightGray";
17182
+ const peg$c84 = "strike";
17183
+ const peg$c85 = "subscript";
17184
+ const peg$c86 = "superscript";
17185
+ const peg$c87 = "ins";
17186
+ const peg$c88 = "del";
17187
+ const peg$c89 = "underline";
17188
+ const peg$c90 = "doubleUnderline";
17189
+ const peg$c91 = "smallcaps";
17190
+ const peg$c92 = "circle";
17191
+ const peg$c93 = "languageEmRed";
17192
+ const peg$c94 = "languageEmOrange";
17193
+ const peg$c95 = "languageEmYellow";
17194
+ const peg$c96 = "languageEmGreen";
17195
+ const peg$c97 = "languageEmBlue";
17196
+ const peg$c98 = "languageEmPurple";
17197
+ const peg$c99 = "languageEmPink";
17198
+ const peg$c100 = "languageEmBrown";
17199
+ const peg$c101 = "languageEmBlack";
17200
+ const peg$c102 = "languageEmWhite";
17201
+ const peg$c103 = "languageEmGray";
17202
+ const peg$c104 = "languageEm";
17203
+ const peg$c105 = "userUnderline";
17204
+ const peg$c106 = "userDoubleUnderline";
17205
+ const peg$c107 = "userStrike";
17206
+ const peg$c108 = "userCircle";
17207
+ const peg$c109 = "notranslate";
17208
+ const peg$c110 = "aqua";
17209
+ const peg$c111 = "black";
17210
+ const peg$c112 = "blue";
17211
+ const peg$c113 = "brown";
17212
+ const peg$c114 = "fuchsia";
17213
+ const peg$c115 = "lightgrey";
17214
+ const peg$c116 = "gray";
17215
+ const peg$c117 = "darkgray";
17216
+ const peg$c118 = "green";
17217
+ const peg$c119 = "lime";
17218
+ const peg$c120 = "magenta";
17219
+ const peg$c121 = "maroon";
17220
+ const peg$c122 = "navy";
17221
+ const peg$c123 = "olive";
17222
+ const peg$c124 = "orange";
17223
+ const peg$c125 = "pink";
17224
+ const peg$c126 = "purple";
17225
+ const peg$c127 = "red";
17226
+ const peg$c128 = "silver";
17227
+ const peg$c129 = "teal";
17228
+ const peg$c130 = "violet";
17229
+ const peg$c131 = "white";
17230
+ const peg$c132 = "yellow";
17231
+ const peg$c133 = "*";
17232
+ const peg$c134 = "_";
17233
+ const peg$c135 = "`";
17234
+ const peg$c136 = "!";
17235
+ const peg$c137 = "[!";
17236
+ const peg$c138 = "]";
17237
+ const peg$c139 = "\n";
17238
+ const peg$c140 = "\r\n";
17239
+ const peg$c141 = "http";
17240
+ const peg$c142 = "s";
17241
+ const peg$c143 = "://";
17242
+ const peg$c144 = "mailto:";
17143
17243
  const peg$r0 = /^[ \t]/;
17144
17244
  const peg$r1 = /^[0-9]/;
17145
17245
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17212,91 +17312,92 @@ function peg$parse(input, options) {
17212
17312
  const peg$e64 = peg$literalExpectation("var:", false);
17213
17313
  const peg$e65 = peg$literalExpectation("code:", false);
17214
17314
  const peg$e66 = peg$literalExpectation("timer", false);
17215
- const peg$e67 = peg$literalExpectation("timer:", false);
17216
- const peg$e68 = peg$literalExpectation("duration:", false);
17217
- const peg$e69 = peg$literalExpectation("P", false);
17218
- const peg$e70 = peg$literalExpectation("color:", false);
17219
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17220
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17221
- const peg$e73 = peg$literalExpectation("bold", false);
17222
- const peg$e74 = peg$literalExpectation("italic", false);
17223
- const peg$e75 = peg$literalExpectation("light", false);
17224
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17225
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17226
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17227
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17228
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17229
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17230
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17231
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17232
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17233
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17234
- const peg$e86 = peg$literalExpectation("highlight", false);
17235
- const peg$e87 = peg$literalExpectation("strike", false);
17236
- const peg$e88 = peg$literalExpectation("subscript", false);
17237
- const peg$e89 = peg$literalExpectation("superscript", false);
17238
- const peg$e90 = peg$literalExpectation("ins", false);
17239
- const peg$e91 = peg$literalExpectation("del", false);
17240
- const peg$e92 = peg$literalExpectation("underline", false);
17241
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17242
- const peg$e94 = peg$literalExpectation("circle", false);
17243
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17244
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17245
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17246
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17247
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17248
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17249
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17250
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17251
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17252
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17253
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17254
- const peg$e106 = peg$literalExpectation("languageEm", false);
17255
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17256
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17257
- const peg$e109 = peg$literalExpectation("userStrike", false);
17258
- const peg$e110 = peg$literalExpectation("userCircle", false);
17259
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17260
- const peg$e112 = peg$literalExpectation("notranslate", false);
17261
- const peg$e113 = peg$literalExpectation("aqua", false);
17262
- const peg$e114 = peg$literalExpectation("black", false);
17263
- const peg$e115 = peg$literalExpectation("blue", false);
17264
- const peg$e116 = peg$literalExpectation("brown", false);
17265
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17266
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17267
- const peg$e119 = peg$literalExpectation("gray", false);
17268
- const peg$e120 = peg$literalExpectation("darkgray", false);
17269
- const peg$e121 = peg$literalExpectation("green", false);
17270
- const peg$e122 = peg$literalExpectation("lime", false);
17271
- const peg$e123 = peg$literalExpectation("magenta", false);
17272
- const peg$e124 = peg$literalExpectation("maroon", false);
17273
- const peg$e125 = peg$literalExpectation("navy", false);
17274
- const peg$e126 = peg$literalExpectation("olive", false);
17275
- const peg$e127 = peg$literalExpectation("orange", false);
17276
- const peg$e128 = peg$literalExpectation("pink", false);
17277
- const peg$e129 = peg$literalExpectation("purple", false);
17278
- const peg$e130 = peg$literalExpectation("red", false);
17279
- const peg$e131 = peg$literalExpectation("silver", false);
17280
- const peg$e132 = peg$literalExpectation("teal", false);
17281
- const peg$e133 = peg$literalExpectation("violet", false);
17282
- const peg$e134 = peg$literalExpectation("white", false);
17283
- const peg$e135 = peg$literalExpectation("yellow", false);
17284
- const peg$e136 = peg$literalExpectation("*", false);
17285
- const peg$e137 = peg$literalExpectation("_", false);
17286
- const peg$e138 = peg$literalExpectation("`", false);
17287
- const peg$e139 = peg$literalExpectation("!", false);
17288
- const peg$e140 = peg$literalExpectation("[!", false);
17289
- const peg$e141 = peg$literalExpectation("]", false);
17290
- const peg$e142 = peg$otherExpectation("Line Terminator");
17291
- const peg$e143 = peg$literalExpectation("\n", false);
17292
- const peg$e144 = peg$literalExpectation("\r\n", false);
17293
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17294
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17295
- const peg$e147 = peg$literalExpectation("http", false);
17296
- const peg$e148 = peg$literalExpectation("s", false);
17297
- const peg$e149 = peg$literalExpectation("://", false);
17298
- const peg$e150 = peg$literalExpectation("mailto:", false);
17299
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17315
+ const peg$e67 = peg$literalExpectation("duration:", false);
17316
+ const peg$e68 = peg$literalExpectation("P", false);
17317
+ const peg$e69 = peg$literalExpectation("timer:", false);
17318
+ const peg$e70 = peg$literalExpectation("highlight", false);
17319
+ const peg$e71 = peg$literalExpectation("color:", false);
17320
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17321
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17322
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17323
+ const peg$e75 = peg$literalExpectation("bold", false);
17324
+ const peg$e76 = peg$literalExpectation("italic", false);
17325
+ const peg$e77 = peg$literalExpectation("light", false);
17326
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17327
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17328
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17329
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17330
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17331
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17332
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17333
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17334
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17335
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17336
+ const peg$e88 = peg$literalExpectation("strike", false);
17337
+ const peg$e89 = peg$literalExpectation("subscript", false);
17338
+ const peg$e90 = peg$literalExpectation("superscript", false);
17339
+ const peg$e91 = peg$literalExpectation("ins", false);
17340
+ const peg$e92 = peg$literalExpectation("del", false);
17341
+ const peg$e93 = peg$literalExpectation("underline", false);
17342
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17343
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17344
+ const peg$e96 = peg$literalExpectation("circle", false);
17345
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17346
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17347
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17348
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17349
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17350
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17351
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17352
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17353
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17354
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17355
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17356
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17357
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17358
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17359
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17360
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17361
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17362
+ const peg$e114 = peg$literalExpectation("aqua", false);
17363
+ const peg$e115 = peg$literalExpectation("black", false);
17364
+ const peg$e116 = peg$literalExpectation("blue", false);
17365
+ const peg$e117 = peg$literalExpectation("brown", false);
17366
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17367
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17368
+ const peg$e120 = peg$literalExpectation("gray", false);
17369
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17370
+ const peg$e122 = peg$literalExpectation("green", false);
17371
+ const peg$e123 = peg$literalExpectation("lime", false);
17372
+ const peg$e124 = peg$literalExpectation("magenta", false);
17373
+ const peg$e125 = peg$literalExpectation("maroon", false);
17374
+ const peg$e126 = peg$literalExpectation("navy", false);
17375
+ const peg$e127 = peg$literalExpectation("olive", false);
17376
+ const peg$e128 = peg$literalExpectation("orange", false);
17377
+ const peg$e129 = peg$literalExpectation("pink", false);
17378
+ const peg$e130 = peg$literalExpectation("purple", false);
17379
+ const peg$e131 = peg$literalExpectation("red", false);
17380
+ const peg$e132 = peg$literalExpectation("silver", false);
17381
+ const peg$e133 = peg$literalExpectation("teal", false);
17382
+ const peg$e134 = peg$literalExpectation("violet", false);
17383
+ const peg$e135 = peg$literalExpectation("white", false);
17384
+ const peg$e136 = peg$literalExpectation("yellow", false);
17385
+ const peg$e137 = peg$literalExpectation("*", false);
17386
+ const peg$e138 = peg$literalExpectation("_", false);
17387
+ const peg$e139 = peg$literalExpectation("`", false);
17388
+ const peg$e140 = peg$literalExpectation("!", false);
17389
+ const peg$e141 = peg$literalExpectation("[!", false);
17390
+ const peg$e142 = peg$literalExpectation("]", false);
17391
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17392
+ const peg$e144 = peg$literalExpectation("\n", false);
17393
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17394
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17395
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17396
+ const peg$e148 = peg$literalExpectation("http", false);
17397
+ const peg$e149 = peg$literalExpectation("s", false);
17398
+ const peg$e150 = peg$literalExpectation("://", false);
17399
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17400
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17300
17401
  function peg$f0() {
17301
17402
  return VERSION;
17302
17403
  }
@@ -17572,7 +17673,7 @@ function peg$parse(input, options) {
17572
17673
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17573
17674
  }
17574
17675
  function peg$f57(alt, u, ch) {
17575
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17676
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17576
17677
  }
17577
17678
  function peg$f58(t, marks) {
17578
17679
  if (!marks) marks = [];
@@ -17651,59 +17752,62 @@ function peg$parse(input, options) {
17651
17752
  function peg$f82(lang) {
17652
17753
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17653
17754
  }
17654
- function peg$f83() {
17655
- return { type: "timer", attrs: { name: "" } };
17755
+ function peg$f83(d) {
17756
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17656
17757
  }
17657
- function peg$f84(str) {
17658
- return { type: "timer", attrs: { name: str.trim() } };
17758
+ function peg$f84(str, d) {
17759
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17659
17760
  }
17660
- function peg$f85(str) {
17661
- return { type: "duration", attrs: { duration: str } };
17761
+ function peg$f85(color) {
17762
+ return { type: "highlight", attrs: { color } };
17662
17763
  }
17663
17764
  function peg$f86(color) {
17664
- return { type: "color", attrs: { color } };
17765
+ return { type: "userHighlight", attrs: { color } };
17665
17766
  }
17666
- function peg$f87(str) {
17767
+ function peg$f87(color) {
17768
+ return { type: "textStyle", attrs: { color } };
17769
+ }
17770
+ function peg$f88(str) {
17667
17771
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17668
17772
  }
17669
- function peg$f88(style) {
17773
+ function peg$f89(style) {
17670
17774
  return { type: style };
17671
17775
  }
17672
- function peg$f89(str) {
17776
+ function peg$f90(str) {
17673
17777
  return { type: "comment", comment: str };
17674
17778
  }
17675
- function peg$f90(r) {
17779
+ function peg$f91(r) {
17676
17780
  return r.trim();
17677
17781
  }
17678
- function peg$f91(bs) {
17782
+ function peg$f92(bs) {
17679
17783
  return [{ type: "paragraph", content: bs, attrs: {} }];
17680
17784
  }
17681
- function peg$f92(first, more) {
17785
+ function peg$f93(first, more) {
17682
17786
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17683
17787
  return cleaned_;
17684
17788
  }
17685
- function peg$f93() {
17789
+ function peg$f94() {
17686
17790
  return { "type": "hardBreak" };
17687
17791
  }
17688
- function peg$f94(t) {
17792
+ function peg$f95(t) {
17689
17793
  return { text: unbreakscape(t), type: "text" };
17690
17794
  }
17691
- function peg$f95(t) {
17795
+ function peg$f96(t) {
17692
17796
  return { index: +t, type: "bit" };
17693
17797
  }
17694
- function peg$f96(t) {
17798
+ function peg$f97(t) {
17695
17799
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17696
17800
  }
17697
- function peg$f97(t) {
17801
+ function peg$f98(t) {
17698
17802
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17699
17803
  }
17700
- function peg$f98(t) {
17804
+ function peg$f99(t) {
17701
17805
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17702
17806
  }
17703
- function peg$f99(t) {
17807
+ function peg$f100(t) {
17704
17808
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17705
17809
  }
17706
- function peg$f100(pr, t) {
17810
+ function peg$f101(pr, t) {
17707
17811
  return { pr, t };
17708
17812
  }
17709
17813
  let peg$currPos = options.peg$currPos | 0;
@@ -22573,7 +22677,7 @@ function peg$parse(input, options) {
22573
22677
  return s0;
22574
22678
  }
22575
22679
  function peg$parseAttrChainItem() {
22576
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22680
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22577
22681
  s0 = peg$currPos;
22578
22682
  if (input.substr(peg$currPos, 5) === peg$c52) {
22579
22683
  s1 = peg$c52;
@@ -23541,8 +23645,110 @@ function peg$parse(input, options) {
23541
23645
  if (s1 !== peg$FAILED) {
23542
23646
  s2 = peg$parseBlockTag();
23543
23647
  if (s2 !== peg$FAILED) {
23544
- peg$savedPos = s0;
23545
- s0 = peg$f83();
23648
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23649
+ s3 = peg$c63;
23650
+ peg$currPos += 9;
23651
+ } else {
23652
+ s3 = peg$FAILED;
23653
+ if (peg$silentFails === 0) {
23654
+ peg$fail(peg$e67);
23655
+ }
23656
+ }
23657
+ if (s3 !== peg$FAILED) {
23658
+ s4 = peg$currPos;
23659
+ s5 = peg$currPos;
23660
+ if (input.charCodeAt(peg$currPos) === 80) {
23661
+ s6 = peg$c64;
23662
+ peg$currPos++;
23663
+ } else {
23664
+ s6 = peg$FAILED;
23665
+ if (peg$silentFails === 0) {
23666
+ peg$fail(peg$e68);
23667
+ }
23668
+ }
23669
+ if (s6 !== peg$FAILED) {
23670
+ s7 = peg$currPos;
23671
+ s8 = [];
23672
+ s9 = peg$currPos;
23673
+ s10 = peg$currPos;
23674
+ peg$silentFails++;
23675
+ s11 = peg$parseBlockTag();
23676
+ peg$silentFails--;
23677
+ if (s11 === peg$FAILED) {
23678
+ s10 = void 0;
23679
+ } else {
23680
+ peg$currPos = s10;
23681
+ s10 = peg$FAILED;
23682
+ }
23683
+ if (s10 !== peg$FAILED) {
23684
+ s11 = peg$parsechar();
23685
+ if (s11 !== peg$FAILED) {
23686
+ s10 = [s10, s11];
23687
+ s9 = s10;
23688
+ } else {
23689
+ peg$currPos = s9;
23690
+ s9 = peg$FAILED;
23691
+ }
23692
+ } else {
23693
+ peg$currPos = s9;
23694
+ s9 = peg$FAILED;
23695
+ }
23696
+ while (s9 !== peg$FAILED) {
23697
+ s8.push(s9);
23698
+ s9 = peg$currPos;
23699
+ s10 = peg$currPos;
23700
+ peg$silentFails++;
23701
+ s11 = peg$parseBlockTag();
23702
+ peg$silentFails--;
23703
+ if (s11 === peg$FAILED) {
23704
+ s10 = void 0;
23705
+ } else {
23706
+ peg$currPos = s10;
23707
+ s10 = peg$FAILED;
23708
+ }
23709
+ if (s10 !== peg$FAILED) {
23710
+ s11 = peg$parsechar();
23711
+ if (s11 !== peg$FAILED) {
23712
+ s10 = [s10, s11];
23713
+ s9 = s10;
23714
+ } else {
23715
+ peg$currPos = s9;
23716
+ s9 = peg$FAILED;
23717
+ }
23718
+ } else {
23719
+ peg$currPos = s9;
23720
+ s9 = peg$FAILED;
23721
+ }
23722
+ }
23723
+ s7 = input.substring(s7, peg$currPos);
23724
+ s6 = [s6, s7];
23725
+ s5 = s6;
23726
+ } else {
23727
+ peg$currPos = s5;
23728
+ s5 = peg$FAILED;
23729
+ }
23730
+ if (s5 !== peg$FAILED) {
23731
+ s4 = input.substring(s4, peg$currPos);
23732
+ } else {
23733
+ s4 = s5;
23734
+ }
23735
+ if (s4 !== peg$FAILED) {
23736
+ s5 = peg$parseBlockTag();
23737
+ if (s5 !== peg$FAILED) {
23738
+ peg$savedPos = s0;
23739
+ s0 = peg$f83(s4);
23740
+ } else {
23741
+ peg$currPos = s0;
23742
+ s0 = peg$FAILED;
23743
+ }
23744
+ } else {
23745
+ peg$currPos = s0;
23746
+ s0 = peg$FAILED;
23747
+ }
23748
+ } else {
23749
+ peg$currPos = s0;
23750
+ s0 = peg$FAILED;
23751
+ }
23546
23752
  } else {
23547
23753
  peg$currPos = s0;
23548
23754
  s0 = peg$FAILED;
@@ -23553,13 +23759,13 @@ function peg$parse(input, options) {
23553
23759
  }
23554
23760
  if (s0 === peg$FAILED) {
23555
23761
  s0 = peg$currPos;
23556
- if (input.substr(peg$currPos, 6) === peg$c63) {
23557
- s1 = peg$c63;
23762
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23763
+ s1 = peg$c65;
23558
23764
  peg$currPos += 6;
23559
23765
  } else {
23560
23766
  s1 = peg$FAILED;
23561
23767
  if (peg$silentFails === 0) {
23562
- peg$fail(peg$e67);
23768
+ peg$fail(peg$e69);
23563
23769
  }
23564
23770
  }
23565
23771
  if (s1 !== peg$FAILED) {
@@ -23619,110 +23825,156 @@ function peg$parse(input, options) {
23619
23825
  s2 = input.substring(s2, peg$currPos);
23620
23826
  s3 = peg$parseBlockTag();
23621
23827
  if (s3 !== peg$FAILED) {
23622
- peg$savedPos = s0;
23623
- s0 = peg$f84(s2);
23624
- } else {
23625
- peg$currPos = s0;
23626
- s0 = peg$FAILED;
23627
- }
23628
- } else {
23629
- peg$currPos = s0;
23630
- s0 = peg$FAILED;
23631
- }
23632
- if (s0 === peg$FAILED) {
23633
- s0 = peg$currPos;
23634
- if (input.substr(peg$currPos, 9) === peg$c64) {
23635
- s1 = peg$c64;
23636
- peg$currPos += 9;
23637
- } else {
23638
- s1 = peg$FAILED;
23639
- if (peg$silentFails === 0) {
23640
- peg$fail(peg$e68);
23641
- }
23642
- }
23643
- if (s1 !== peg$FAILED) {
23644
- s2 = peg$currPos;
23645
- s3 = peg$currPos;
23646
- if (input.charCodeAt(peg$currPos) === 80) {
23647
- s4 = peg$c65;
23648
- peg$currPos++;
23828
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23829
+ s4 = peg$c63;
23830
+ peg$currPos += 9;
23649
23831
  } else {
23650
23832
  s4 = peg$FAILED;
23651
23833
  if (peg$silentFails === 0) {
23652
- peg$fail(peg$e69);
23834
+ peg$fail(peg$e67);
23653
23835
  }
23654
23836
  }
23655
23837
  if (s4 !== peg$FAILED) {
23656
23838
  s5 = peg$currPos;
23657
- s6 = [];
23658
- s7 = peg$currPos;
23659
- s8 = peg$currPos;
23660
- peg$silentFails++;
23661
- s9 = peg$parseBlockTag();
23662
- peg$silentFails--;
23663
- if (s9 === peg$FAILED) {
23664
- s8 = void 0;
23839
+ s6 = peg$currPos;
23840
+ if (input.charCodeAt(peg$currPos) === 80) {
23841
+ s7 = peg$c64;
23842
+ peg$currPos++;
23665
23843
  } else {
23666
- peg$currPos = s8;
23667
- s8 = peg$FAILED;
23668
- }
23669
- if (s8 !== peg$FAILED) {
23670
- s9 = peg$parsechar();
23671
- if (s9 !== peg$FAILED) {
23672
- s8 = [s8, s9];
23673
- s7 = s8;
23674
- } else {
23675
- peg$currPos = s7;
23676
- s7 = peg$FAILED;
23677
- }
23678
- } else {
23679
- peg$currPos = s7;
23680
23844
  s7 = peg$FAILED;
23845
+ if (peg$silentFails === 0) {
23846
+ peg$fail(peg$e68);
23847
+ }
23681
23848
  }
23682
- while (s7 !== peg$FAILED) {
23683
- s6.push(s7);
23684
- s7 = peg$currPos;
23849
+ if (s7 !== peg$FAILED) {
23685
23850
  s8 = peg$currPos;
23851
+ s9 = [];
23852
+ s10 = peg$currPos;
23853
+ s11 = peg$currPos;
23686
23854
  peg$silentFails++;
23687
- s9 = peg$parseBlockTag();
23855
+ s12 = peg$parseBlockTag();
23688
23856
  peg$silentFails--;
23689
- if (s9 === peg$FAILED) {
23690
- s8 = void 0;
23857
+ if (s12 === peg$FAILED) {
23858
+ s11 = void 0;
23691
23859
  } else {
23692
- peg$currPos = s8;
23693
- s8 = peg$FAILED;
23860
+ peg$currPos = s11;
23861
+ s11 = peg$FAILED;
23694
23862
  }
23695
- if (s8 !== peg$FAILED) {
23696
- s9 = peg$parsechar();
23697
- if (s9 !== peg$FAILED) {
23698
- s8 = [s8, s9];
23699
- s7 = s8;
23863
+ if (s11 !== peg$FAILED) {
23864
+ s12 = peg$parsechar();
23865
+ if (s12 !== peg$FAILED) {
23866
+ s11 = [s11, s12];
23867
+ s10 = s11;
23700
23868
  } else {
23701
- peg$currPos = s7;
23702
- s7 = peg$FAILED;
23869
+ peg$currPos = s10;
23870
+ s10 = peg$FAILED;
23703
23871
  }
23704
23872
  } else {
23705
- peg$currPos = s7;
23706
- s7 = peg$FAILED;
23873
+ peg$currPos = s10;
23874
+ s10 = peg$FAILED;
23875
+ }
23876
+ while (s10 !== peg$FAILED) {
23877
+ s9.push(s10);
23878
+ s10 = peg$currPos;
23879
+ s11 = peg$currPos;
23880
+ peg$silentFails++;
23881
+ s12 = peg$parseBlockTag();
23882
+ peg$silentFails--;
23883
+ if (s12 === peg$FAILED) {
23884
+ s11 = void 0;
23885
+ } else {
23886
+ peg$currPos = s11;
23887
+ s11 = peg$FAILED;
23888
+ }
23889
+ if (s11 !== peg$FAILED) {
23890
+ s12 = peg$parsechar();
23891
+ if (s12 !== peg$FAILED) {
23892
+ s11 = [s11, s12];
23893
+ s10 = s11;
23894
+ } else {
23895
+ peg$currPos = s10;
23896
+ s10 = peg$FAILED;
23897
+ }
23898
+ } else {
23899
+ peg$currPos = s10;
23900
+ s10 = peg$FAILED;
23901
+ }
23707
23902
  }
23903
+ s8 = input.substring(s8, peg$currPos);
23904
+ s7 = [s7, s8];
23905
+ s6 = s7;
23906
+ } else {
23907
+ peg$currPos = s6;
23908
+ s6 = peg$FAILED;
23909
+ }
23910
+ if (s6 !== peg$FAILED) {
23911
+ s5 = input.substring(s5, peg$currPos);
23912
+ } else {
23913
+ s5 = s6;
23914
+ }
23915
+ if (s5 !== peg$FAILED) {
23916
+ s6 = peg$parseBlockTag();
23917
+ if (s6 !== peg$FAILED) {
23918
+ peg$savedPos = s0;
23919
+ s0 = peg$f84(s2, s5);
23920
+ } else {
23921
+ peg$currPos = s0;
23922
+ s0 = peg$FAILED;
23923
+ }
23924
+ } else {
23925
+ peg$currPos = s0;
23926
+ s0 = peg$FAILED;
23708
23927
  }
23709
- s5 = input.substring(s5, peg$currPos);
23710
- s4 = [s4, s5];
23711
- s3 = s4;
23712
23928
  } else {
23713
- peg$currPos = s3;
23714
- s3 = peg$FAILED;
23929
+ peg$currPos = s0;
23930
+ s0 = peg$FAILED;
23715
23931
  }
23716
- if (s3 !== peg$FAILED) {
23717
- s2 = input.substring(s2, peg$currPos);
23718
- } else {
23719
- s2 = s3;
23932
+ } else {
23933
+ peg$currPos = s0;
23934
+ s0 = peg$FAILED;
23935
+ }
23936
+ } else {
23937
+ peg$currPos = s0;
23938
+ s0 = peg$FAILED;
23939
+ }
23940
+ if (s0 === peg$FAILED) {
23941
+ s0 = peg$currPos;
23942
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23943
+ s1 = peg$c66;
23944
+ peg$currPos += 9;
23945
+ } else {
23946
+ s1 = peg$FAILED;
23947
+ if (peg$silentFails === 0) {
23948
+ peg$fail(peg$e70);
23720
23949
  }
23950
+ }
23951
+ if (s1 !== peg$FAILED) {
23952
+ s2 = peg$parseBlockTag();
23721
23953
  if (s2 !== peg$FAILED) {
23722
- s3 = peg$parseBlockTag();
23954
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23955
+ s3 = peg$c67;
23956
+ peg$currPos += 6;
23957
+ } else {
23958
+ s3 = peg$FAILED;
23959
+ if (peg$silentFails === 0) {
23960
+ peg$fail(peg$e71);
23961
+ }
23962
+ }
23723
23963
  if (s3 !== peg$FAILED) {
23724
- peg$savedPos = s0;
23725
- s0 = peg$f85(s2);
23964
+ s4 = peg$parseHighlightColor();
23965
+ if (s4 !== peg$FAILED) {
23966
+ s5 = peg$parseBlockTag();
23967
+ if (s5 !== peg$FAILED) {
23968
+ peg$savedPos = s0;
23969
+ s0 = peg$f85(s4);
23970
+ } else {
23971
+ peg$currPos = s0;
23972
+ s0 = peg$FAILED;
23973
+ }
23974
+ } else {
23975
+ peg$currPos = s0;
23976
+ s0 = peg$FAILED;
23977
+ }
23726
23978
  } else {
23727
23979
  peg$currPos = s0;
23728
23980
  s0 = peg$FAILED;
@@ -23737,22 +23989,42 @@ function peg$parse(input, options) {
23737
23989
  }
23738
23990
  if (s0 === peg$FAILED) {
23739
23991
  s0 = peg$currPos;
23740
- if (input.substr(peg$currPos, 6) === peg$c66) {
23741
- s1 = peg$c66;
23742
- peg$currPos += 6;
23992
+ if (input.substr(peg$currPos, 13) === peg$c68) {
23993
+ s1 = peg$c68;
23994
+ peg$currPos += 13;
23743
23995
  } else {
23744
23996
  s1 = peg$FAILED;
23745
23997
  if (peg$silentFails === 0) {
23746
- peg$fail(peg$e70);
23998
+ peg$fail(peg$e72);
23747
23999
  }
23748
24000
  }
23749
24001
  if (s1 !== peg$FAILED) {
23750
- s2 = peg$parseColor();
24002
+ s2 = peg$parseBlockTag();
23751
24003
  if (s2 !== peg$FAILED) {
23752
- s3 = peg$parseBlockTag();
24004
+ if (input.substr(peg$currPos, 6) === peg$c67) {
24005
+ s3 = peg$c67;
24006
+ peg$currPos += 6;
24007
+ } else {
24008
+ s3 = peg$FAILED;
24009
+ if (peg$silentFails === 0) {
24010
+ peg$fail(peg$e71);
24011
+ }
24012
+ }
23753
24013
  if (s3 !== peg$FAILED) {
23754
- peg$savedPos = s0;
23755
- s0 = peg$f86(s2);
24014
+ s4 = peg$parseHighlightColor();
24015
+ if (s4 !== peg$FAILED) {
24016
+ s5 = peg$parseBlockTag();
24017
+ if (s5 !== peg$FAILED) {
24018
+ peg$savedPos = s0;
24019
+ s0 = peg$f86(s4);
24020
+ } else {
24021
+ peg$currPos = s0;
24022
+ s0 = peg$FAILED;
24023
+ }
24024
+ } else {
24025
+ peg$currPos = s0;
24026
+ s0 = peg$FAILED;
24027
+ }
23756
24028
  } else {
23757
24029
  peg$currPos = s0;
23758
24030
  s0 = peg$FAILED;
@@ -23767,9 +24039,9 @@ function peg$parse(input, options) {
23767
24039
  }
23768
24040
  if (s0 === peg$FAILED) {
23769
24041
  s0 = peg$currPos;
23770
- if (input.substr(peg$currPos, 12) === peg$c67) {
24042
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23771
24043
  s1 = peg$c67;
23772
- peg$currPos += 12;
24044
+ peg$currPos += 6;
23773
24045
  } else {
23774
24046
  s1 = peg$FAILED;
23775
24047
  if (peg$silentFails === 0) {
@@ -23777,34 +24049,38 @@ function peg$parse(input, options) {
23777
24049
  }
23778
24050
  }
23779
24051
  if (s1 !== peg$FAILED) {
23780
- s2 = peg$currPos;
23781
- s3 = [];
23782
- s4 = peg$currPos;
23783
- s5 = peg$currPos;
23784
- peg$silentFails++;
23785
- s6 = peg$parseBlockTag();
23786
- peg$silentFails--;
23787
- if (s6 === peg$FAILED) {
23788
- s5 = void 0;
23789
- } else {
23790
- peg$currPos = s5;
23791
- s5 = peg$FAILED;
23792
- }
23793
- if (s5 !== peg$FAILED) {
23794
- s6 = peg$parsechar();
23795
- if (s6 !== peg$FAILED) {
23796
- s5 = [s5, s6];
23797
- s4 = s5;
24052
+ s2 = peg$parseColor();
24053
+ if (s2 !== peg$FAILED) {
24054
+ s3 = peg$parseBlockTag();
24055
+ if (s3 !== peg$FAILED) {
24056
+ peg$savedPos = s0;
24057
+ s0 = peg$f87(s2);
23798
24058
  } else {
23799
- peg$currPos = s4;
23800
- s4 = peg$FAILED;
24059
+ peg$currPos = s0;
24060
+ s0 = peg$FAILED;
23801
24061
  }
23802
24062
  } else {
23803
- peg$currPos = s4;
23804
- s4 = peg$FAILED;
24063
+ peg$currPos = s0;
24064
+ s0 = peg$FAILED;
24065
+ }
24066
+ } else {
24067
+ peg$currPos = s0;
24068
+ s0 = peg$FAILED;
24069
+ }
24070
+ if (s0 === peg$FAILED) {
24071
+ s0 = peg$currPos;
24072
+ if (input.substr(peg$currPos, 12) === peg$c69) {
24073
+ s1 = peg$c69;
24074
+ peg$currPos += 12;
24075
+ } else {
24076
+ s1 = peg$FAILED;
24077
+ if (peg$silentFails === 0) {
24078
+ peg$fail(peg$e73);
24079
+ }
23805
24080
  }
23806
- while (s4 !== peg$FAILED) {
23807
- s3.push(s4);
24081
+ if (s1 !== peg$FAILED) {
24082
+ s2 = peg$currPos;
24083
+ s3 = [];
23808
24084
  s4 = peg$currPos;
23809
24085
  s5 = peg$currPos;
23810
24086
  peg$silentFails++;
@@ -23829,50 +24105,8 @@ function peg$parse(input, options) {
23829
24105
  peg$currPos = s4;
23830
24106
  s4 = peg$FAILED;
23831
24107
  }
23832
- }
23833
- s2 = input.substring(s2, peg$currPos);
23834
- s3 = peg$parseBlockTag();
23835
- if (s3 !== peg$FAILED) {
23836
- peg$savedPos = s0;
23837
- s0 = peg$f87(s2);
23838
- } else {
23839
- peg$currPos = s0;
23840
- s0 = peg$FAILED;
23841
- }
23842
- } else {
23843
- peg$currPos = s0;
23844
- s0 = peg$FAILED;
23845
- }
23846
- if (s0 === peg$FAILED) {
23847
- s0 = peg$currPos;
23848
- s1 = peg$parseAlternativeStyleTags();
23849
- if (s1 !== peg$FAILED) {
23850
- s2 = peg$parseBlockTag();
23851
- if (s2 !== peg$FAILED) {
23852
- peg$savedPos = s0;
23853
- s0 = peg$f88(s1);
23854
- } else {
23855
- peg$currPos = s0;
23856
- s0 = peg$FAILED;
23857
- }
23858
- } else {
23859
- peg$currPos = s0;
23860
- s0 = peg$FAILED;
23861
- }
23862
- if (s0 === peg$FAILED) {
23863
- s0 = peg$currPos;
23864
- if (input.charCodeAt(peg$currPos) === 35) {
23865
- s1 = peg$c21;
23866
- peg$currPos++;
23867
- } else {
23868
- s1 = peg$FAILED;
23869
- if (peg$silentFails === 0) {
23870
- peg$fail(peg$e25);
23871
- }
23872
- }
23873
- if (s1 !== peg$FAILED) {
23874
- s2 = peg$currPos;
23875
- s3 = [];
24108
+ while (s4 !== peg$FAILED) {
24109
+ s3.push(s4);
23876
24110
  s4 = peg$currPos;
23877
24111
  s5 = peg$currPos;
23878
24112
  peg$silentFails++;
@@ -23897,8 +24131,50 @@ function peg$parse(input, options) {
23897
24131
  peg$currPos = s4;
23898
24132
  s4 = peg$FAILED;
23899
24133
  }
23900
- while (s4 !== peg$FAILED) {
23901
- s3.push(s4);
24134
+ }
24135
+ s2 = input.substring(s2, peg$currPos);
24136
+ s3 = peg$parseBlockTag();
24137
+ if (s3 !== peg$FAILED) {
24138
+ peg$savedPos = s0;
24139
+ s0 = peg$f88(s2);
24140
+ } else {
24141
+ peg$currPos = s0;
24142
+ s0 = peg$FAILED;
24143
+ }
24144
+ } else {
24145
+ peg$currPos = s0;
24146
+ s0 = peg$FAILED;
24147
+ }
24148
+ if (s0 === peg$FAILED) {
24149
+ s0 = peg$currPos;
24150
+ s1 = peg$parseAlternativeStyleTags();
24151
+ if (s1 !== peg$FAILED) {
24152
+ s2 = peg$parseBlockTag();
24153
+ if (s2 !== peg$FAILED) {
24154
+ peg$savedPos = s0;
24155
+ s0 = peg$f89(s1);
24156
+ } else {
24157
+ peg$currPos = s0;
24158
+ s0 = peg$FAILED;
24159
+ }
24160
+ } else {
24161
+ peg$currPos = s0;
24162
+ s0 = peg$FAILED;
24163
+ }
24164
+ if (s0 === peg$FAILED) {
24165
+ s0 = peg$currPos;
24166
+ if (input.charCodeAt(peg$currPos) === 35) {
24167
+ s1 = peg$c21;
24168
+ peg$currPos++;
24169
+ } else {
24170
+ s1 = peg$FAILED;
24171
+ if (peg$silentFails === 0) {
24172
+ peg$fail(peg$e25);
24173
+ }
24174
+ }
24175
+ if (s1 !== peg$FAILED) {
24176
+ s2 = peg$currPos;
24177
+ s3 = [];
23902
24178
  s4 = peg$currPos;
23903
24179
  s5 = peg$currPos;
23904
24180
  peg$silentFails++;
@@ -23923,19 +24199,46 @@ function peg$parse(input, options) {
23923
24199
  peg$currPos = s4;
23924
24200
  s4 = peg$FAILED;
23925
24201
  }
23926
- }
23927
- s2 = input.substring(s2, peg$currPos);
23928
- s3 = peg$parseBlockTag();
23929
- if (s3 !== peg$FAILED) {
23930
- peg$savedPos = s0;
23931
- s0 = peg$f89(s2);
24202
+ while (s4 !== peg$FAILED) {
24203
+ s3.push(s4);
24204
+ s4 = peg$currPos;
24205
+ s5 = peg$currPos;
24206
+ peg$silentFails++;
24207
+ s6 = peg$parseBlockTag();
24208
+ peg$silentFails--;
24209
+ if (s6 === peg$FAILED) {
24210
+ s5 = void 0;
24211
+ } else {
24212
+ peg$currPos = s5;
24213
+ s5 = peg$FAILED;
24214
+ }
24215
+ if (s5 !== peg$FAILED) {
24216
+ s6 = peg$parsechar();
24217
+ if (s6 !== peg$FAILED) {
24218
+ s5 = [s5, s6];
24219
+ s4 = s5;
24220
+ } else {
24221
+ peg$currPos = s4;
24222
+ s4 = peg$FAILED;
24223
+ }
24224
+ } else {
24225
+ peg$currPos = s4;
24226
+ s4 = peg$FAILED;
24227
+ }
24228
+ }
24229
+ s2 = input.substring(s2, peg$currPos);
24230
+ s3 = peg$parseBlockTag();
24231
+ if (s3 !== peg$FAILED) {
24232
+ peg$savedPos = s0;
24233
+ s0 = peg$f90(s2);
24234
+ } else {
24235
+ peg$currPos = s0;
24236
+ s0 = peg$FAILED;
24237
+ }
23932
24238
  } else {
23933
24239
  peg$currPos = s0;
23934
24240
  s0 = peg$FAILED;
23935
24241
  }
23936
- } else {
23937
- peg$currPos = s0;
23938
- s0 = peg$FAILED;
23939
24242
  }
23940
24243
  }
23941
24244
  }
@@ -23969,13 +24272,13 @@ function peg$parse(input, options) {
23969
24272
  function peg$parseRef() {
23970
24273
  let s0, s1, s2, s3, s4, s5, s6;
23971
24274
  s0 = peg$currPos;
23972
- if (input.substr(peg$currPos, 2) === peg$c68) {
23973
- s1 = peg$c68;
24275
+ if (input.substr(peg$currPos, 2) === peg$c70) {
24276
+ s1 = peg$c70;
23974
24277
  peg$currPos += 2;
23975
24278
  } else {
23976
24279
  s1 = peg$FAILED;
23977
24280
  if (peg$silentFails === 0) {
23978
- peg$fail(peg$e72);
24281
+ peg$fail(peg$e74);
23979
24282
  }
23980
24283
  }
23981
24284
  if (s1 !== peg$FAILED) {
@@ -24034,7 +24337,7 @@ function peg$parse(input, options) {
24034
24337
  }
24035
24338
  s2 = input.substring(s2, peg$currPos);
24036
24339
  peg$savedPos = s0;
24037
- s0 = peg$f90(s2);
24340
+ s0 = peg$f91(s2);
24038
24341
  } else {
24039
24342
  peg$currPos = s0;
24040
24343
  s0 = peg$FAILED;
@@ -24043,403 +24346,414 @@ function peg$parse(input, options) {
24043
24346
  }
24044
24347
  function peg$parseAlternativeStyleTags() {
24045
24348
  let s0;
24046
- if (input.substr(peg$currPos, 4) === peg$c69) {
24047
- s0 = peg$c69;
24349
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24350
+ s0 = peg$c71;
24048
24351
  peg$currPos += 4;
24049
24352
  } else {
24050
24353
  s0 = peg$FAILED;
24051
24354
  if (peg$silentFails === 0) {
24052
- peg$fail(peg$e73);
24355
+ peg$fail(peg$e75);
24053
24356
  }
24054
24357
  }
24055
24358
  if (s0 === peg$FAILED) {
24056
- if (input.substr(peg$currPos, 6) === peg$c70) {
24057
- s0 = peg$c70;
24359
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24360
+ s0 = peg$c72;
24058
24361
  peg$currPos += 6;
24059
24362
  } else {
24060
24363
  s0 = peg$FAILED;
24061
24364
  if (peg$silentFails === 0) {
24062
- peg$fail(peg$e74);
24365
+ peg$fail(peg$e76);
24063
24366
  }
24064
24367
  }
24065
24368
  if (s0 === peg$FAILED) {
24066
- if (input.substr(peg$currPos, 5) === peg$c71) {
24067
- s0 = peg$c71;
24369
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24370
+ s0 = peg$c73;
24068
24371
  peg$currPos += 5;
24069
24372
  } else {
24070
24373
  s0 = peg$FAILED;
24071
24374
  if (peg$silentFails === 0) {
24072
- peg$fail(peg$e75);
24375
+ peg$fail(peg$e77);
24073
24376
  }
24074
24377
  }
24075
24378
  if (s0 === peg$FAILED) {
24076
- if (input.substr(peg$currPos, 15) === peg$c72) {
24077
- s0 = peg$c72;
24379
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24380
+ s0 = peg$c74;
24078
24381
  peg$currPos += 15;
24079
24382
  } else {
24080
24383
  s0 = peg$FAILED;
24081
24384
  if (peg$silentFails === 0) {
24082
- peg$fail(peg$e76);
24385
+ peg$fail(peg$e78);
24083
24386
  }
24084
24387
  }
24085
24388
  if (s0 === peg$FAILED) {
24086
- if (input.substr(peg$currPos, 15) === peg$c73) {
24087
- s0 = peg$c73;
24389
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24390
+ s0 = peg$c75;
24088
24391
  peg$currPos += 15;
24089
24392
  } else {
24090
24393
  s0 = peg$FAILED;
24091
24394
  if (peg$silentFails === 0) {
24092
- peg$fail(peg$e77);
24395
+ peg$fail(peg$e79);
24093
24396
  }
24094
24397
  }
24095
24398
  if (s0 === peg$FAILED) {
24096
- if (input.substr(peg$currPos, 14) === peg$c74) {
24097
- s0 = peg$c74;
24399
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24400
+ s0 = peg$c76;
24098
24401
  peg$currPos += 14;
24099
24402
  } else {
24100
24403
  s0 = peg$FAILED;
24101
24404
  if (peg$silentFails === 0) {
24102
- peg$fail(peg$e78);
24405
+ peg$fail(peg$e80);
24103
24406
  }
24104
24407
  }
24105
24408
  if (s0 === peg$FAILED) {
24106
- if (input.substr(peg$currPos, 13) === peg$c75) {
24107
- s0 = peg$c75;
24409
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24410
+ s0 = peg$c77;
24108
24411
  peg$currPos += 13;
24109
24412
  } else {
24110
24413
  s0 = peg$FAILED;
24111
24414
  if (peg$silentFails === 0) {
24112
- peg$fail(peg$e79);
24415
+ peg$fail(peg$e81);
24113
24416
  }
24114
24417
  }
24115
24418
  if (s0 === peg$FAILED) {
24116
- if (input.substr(peg$currPos, 15) === peg$c76) {
24117
- s0 = peg$c76;
24419
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24420
+ s0 = peg$c78;
24118
24421
  peg$currPos += 15;
24119
24422
  } else {
24120
24423
  s0 = peg$FAILED;
24121
24424
  if (peg$silentFails === 0) {
24122
- peg$fail(peg$e80);
24425
+ peg$fail(peg$e82);
24123
24426
  }
24124
24427
  }
24125
24428
  if (s0 === peg$FAILED) {
24126
- if (input.substr(peg$currPos, 13) === peg$c77) {
24127
- s0 = peg$c77;
24429
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24430
+ s0 = peg$c79;
24128
24431
  peg$currPos += 13;
24129
24432
  } else {
24130
24433
  s0 = peg$FAILED;
24131
24434
  if (peg$silentFails === 0) {
24132
- peg$fail(peg$e81);
24435
+ peg$fail(peg$e83);
24133
24436
  }
24134
24437
  }
24135
24438
  if (s0 === peg$FAILED) {
24136
- if (input.substr(peg$currPos, 14) === peg$c78) {
24137
- s0 = peg$c78;
24439
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24440
+ s0 = peg$c80;
24138
24441
  peg$currPos += 14;
24139
24442
  } else {
24140
24443
  s0 = peg$FAILED;
24141
24444
  if (peg$silentFails === 0) {
24142
- peg$fail(peg$e82);
24445
+ peg$fail(peg$e84);
24143
24446
  }
24144
24447
  }
24145
24448
  if (s0 === peg$FAILED) {
24146
- if (input.substr(peg$currPos, 14) === peg$c79) {
24147
- s0 = peg$c79;
24449
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24450
+ s0 = peg$c81;
24148
24451
  peg$currPos += 14;
24149
24452
  } else {
24150
24453
  s0 = peg$FAILED;
24151
24454
  if (peg$silentFails === 0) {
24152
- peg$fail(peg$e83);
24455
+ peg$fail(peg$e85);
24153
24456
  }
24154
24457
  }
24155
24458
  if (s0 === peg$FAILED) {
24156
- if (input.substr(peg$currPos, 14) === peg$c80) {
24157
- s0 = peg$c80;
24459
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24460
+ s0 = peg$c82;
24158
24461
  peg$currPos += 14;
24159
24462
  } else {
24160
24463
  s0 = peg$FAILED;
24161
24464
  if (peg$silentFails === 0) {
24162
- peg$fail(peg$e84);
24465
+ peg$fail(peg$e86);
24163
24466
  }
24164
24467
  }
24165
24468
  if (s0 === peg$FAILED) {
24166
- if (input.substr(peg$currPos, 13) === peg$c81) {
24167
- s0 = peg$c81;
24469
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24470
+ s0 = peg$c83;
24168
24471
  peg$currPos += 13;
24169
24472
  } else {
24170
24473
  s0 = peg$FAILED;
24171
24474
  if (peg$silentFails === 0) {
24172
- peg$fail(peg$e85);
24475
+ peg$fail(peg$e87);
24173
24476
  }
24174
24477
  }
24175
24478
  if (s0 === peg$FAILED) {
24176
- if (input.substr(peg$currPos, 9) === peg$c82) {
24177
- s0 = peg$c82;
24479
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24480
+ s0 = peg$c66;
24178
24481
  peg$currPos += 9;
24179
24482
  } else {
24180
24483
  s0 = peg$FAILED;
24181
24484
  if (peg$silentFails === 0) {
24182
- peg$fail(peg$e86);
24485
+ peg$fail(peg$e70);
24183
24486
  }
24184
24487
  }
24185
24488
  if (s0 === peg$FAILED) {
24186
- if (input.substr(peg$currPos, 6) === peg$c83) {
24187
- s0 = peg$c83;
24489
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24490
+ s0 = peg$c84;
24188
24491
  peg$currPos += 6;
24189
24492
  } else {
24190
24493
  s0 = peg$FAILED;
24191
24494
  if (peg$silentFails === 0) {
24192
- peg$fail(peg$e87);
24495
+ peg$fail(peg$e88);
24193
24496
  }
24194
24497
  }
24195
24498
  if (s0 === peg$FAILED) {
24196
- if (input.substr(peg$currPos, 9) === peg$c84) {
24197
- s0 = peg$c84;
24499
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24500
+ s0 = peg$c85;
24198
24501
  peg$currPos += 9;
24199
24502
  } else {
24200
24503
  s0 = peg$FAILED;
24201
24504
  if (peg$silentFails === 0) {
24202
- peg$fail(peg$e88);
24505
+ peg$fail(peg$e89);
24203
24506
  }
24204
24507
  }
24205
24508
  if (s0 === peg$FAILED) {
24206
- if (input.substr(peg$currPos, 11) === peg$c85) {
24207
- s0 = peg$c85;
24509
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24510
+ s0 = peg$c86;
24208
24511
  peg$currPos += 11;
24209
24512
  } else {
24210
24513
  s0 = peg$FAILED;
24211
24514
  if (peg$silentFails === 0) {
24212
- peg$fail(peg$e89);
24515
+ peg$fail(peg$e90);
24213
24516
  }
24214
24517
  }
24215
24518
  if (s0 === peg$FAILED) {
24216
- if (input.substr(peg$currPos, 3) === peg$c86) {
24217
- s0 = peg$c86;
24519
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24520
+ s0 = peg$c87;
24218
24521
  peg$currPos += 3;
24219
24522
  } else {
24220
24523
  s0 = peg$FAILED;
24221
24524
  if (peg$silentFails === 0) {
24222
- peg$fail(peg$e90);
24525
+ peg$fail(peg$e91);
24223
24526
  }
24224
24527
  }
24225
24528
  if (s0 === peg$FAILED) {
24226
- if (input.substr(peg$currPos, 3) === peg$c87) {
24227
- s0 = peg$c87;
24529
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24530
+ s0 = peg$c88;
24228
24531
  peg$currPos += 3;
24229
24532
  } else {
24230
24533
  s0 = peg$FAILED;
24231
24534
  if (peg$silentFails === 0) {
24232
- peg$fail(peg$e91);
24535
+ peg$fail(peg$e92);
24233
24536
  }
24234
24537
  }
24235
24538
  if (s0 === peg$FAILED) {
24236
- if (input.substr(peg$currPos, 9) === peg$c88) {
24237
- s0 = peg$c88;
24539
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24540
+ s0 = peg$c89;
24238
24541
  peg$currPos += 9;
24239
24542
  } else {
24240
24543
  s0 = peg$FAILED;
24241
24544
  if (peg$silentFails === 0) {
24242
- peg$fail(peg$e92);
24545
+ peg$fail(peg$e93);
24243
24546
  }
24244
24547
  }
24245
24548
  if (s0 === peg$FAILED) {
24246
- if (input.substr(peg$currPos, 15) === peg$c89) {
24247
- s0 = peg$c89;
24549
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24550
+ s0 = peg$c90;
24248
24551
  peg$currPos += 15;
24249
24552
  } else {
24250
24553
  s0 = peg$FAILED;
24251
24554
  if (peg$silentFails === 0) {
24252
- peg$fail(peg$e93);
24555
+ peg$fail(peg$e94);
24253
24556
  }
24254
24557
  }
24255
24558
  if (s0 === peg$FAILED) {
24256
- if (input.substr(peg$currPos, 6) === peg$c90) {
24257
- s0 = peg$c90;
24258
- peg$currPos += 6;
24559
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24560
+ s0 = peg$c91;
24561
+ peg$currPos += 9;
24259
24562
  } else {
24260
24563
  s0 = peg$FAILED;
24261
24564
  if (peg$silentFails === 0) {
24262
- peg$fail(peg$e94);
24565
+ peg$fail(peg$e95);
24263
24566
  }
24264
24567
  }
24265
24568
  if (s0 === peg$FAILED) {
24266
- if (input.substr(peg$currPos, 13) === peg$c91) {
24267
- s0 = peg$c91;
24268
- peg$currPos += 13;
24569
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24570
+ s0 = peg$c92;
24571
+ peg$currPos += 6;
24269
24572
  } else {
24270
24573
  s0 = peg$FAILED;
24271
24574
  if (peg$silentFails === 0) {
24272
- peg$fail(peg$e95);
24575
+ peg$fail(peg$e96);
24273
24576
  }
24274
24577
  }
24275
24578
  if (s0 === peg$FAILED) {
24276
- if (input.substr(peg$currPos, 16) === peg$c92) {
24277
- s0 = peg$c92;
24278
- peg$currPos += 16;
24579
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24580
+ s0 = peg$c93;
24581
+ peg$currPos += 13;
24279
24582
  } else {
24280
24583
  s0 = peg$FAILED;
24281
24584
  if (peg$silentFails === 0) {
24282
- peg$fail(peg$e96);
24585
+ peg$fail(peg$e97);
24283
24586
  }
24284
24587
  }
24285
24588
  if (s0 === peg$FAILED) {
24286
- if (input.substr(peg$currPos, 16) === peg$c93) {
24287
- s0 = peg$c93;
24589
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24590
+ s0 = peg$c94;
24288
24591
  peg$currPos += 16;
24289
24592
  } else {
24290
24593
  s0 = peg$FAILED;
24291
24594
  if (peg$silentFails === 0) {
24292
- peg$fail(peg$e97);
24595
+ peg$fail(peg$e98);
24293
24596
  }
24294
24597
  }
24295
24598
  if (s0 === peg$FAILED) {
24296
- if (input.substr(peg$currPos, 15) === peg$c94) {
24297
- s0 = peg$c94;
24298
- peg$currPos += 15;
24599
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24600
+ s0 = peg$c95;
24601
+ peg$currPos += 16;
24299
24602
  } else {
24300
24603
  s0 = peg$FAILED;
24301
24604
  if (peg$silentFails === 0) {
24302
- peg$fail(peg$e98);
24605
+ peg$fail(peg$e99);
24303
24606
  }
24304
24607
  }
24305
24608
  if (s0 === peg$FAILED) {
24306
- if (input.substr(peg$currPos, 14) === peg$c95) {
24307
- s0 = peg$c95;
24308
- peg$currPos += 14;
24609
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24610
+ s0 = peg$c96;
24611
+ peg$currPos += 15;
24309
24612
  } else {
24310
24613
  s0 = peg$FAILED;
24311
24614
  if (peg$silentFails === 0) {
24312
- peg$fail(peg$e99);
24615
+ peg$fail(peg$e100);
24313
24616
  }
24314
24617
  }
24315
24618
  if (s0 === peg$FAILED) {
24316
- if (input.substr(peg$currPos, 16) === peg$c96) {
24317
- s0 = peg$c96;
24318
- peg$currPos += 16;
24619
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24620
+ s0 = peg$c97;
24621
+ peg$currPos += 14;
24319
24622
  } else {
24320
24623
  s0 = peg$FAILED;
24321
24624
  if (peg$silentFails === 0) {
24322
- peg$fail(peg$e100);
24625
+ peg$fail(peg$e101);
24323
24626
  }
24324
24627
  }
24325
24628
  if (s0 === peg$FAILED) {
24326
- if (input.substr(peg$currPos, 14) === peg$c97) {
24327
- s0 = peg$c97;
24328
- peg$currPos += 14;
24629
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24630
+ s0 = peg$c98;
24631
+ peg$currPos += 16;
24329
24632
  } else {
24330
24633
  s0 = peg$FAILED;
24331
24634
  if (peg$silentFails === 0) {
24332
- peg$fail(peg$e101);
24635
+ peg$fail(peg$e102);
24333
24636
  }
24334
24637
  }
24335
24638
  if (s0 === peg$FAILED) {
24336
- if (input.substr(peg$currPos, 15) === peg$c98) {
24337
- s0 = peg$c98;
24338
- peg$currPos += 15;
24639
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24640
+ s0 = peg$c99;
24641
+ peg$currPos += 14;
24339
24642
  } else {
24340
24643
  s0 = peg$FAILED;
24341
24644
  if (peg$silentFails === 0) {
24342
- peg$fail(peg$e102);
24645
+ peg$fail(peg$e103);
24343
24646
  }
24344
24647
  }
24345
24648
  if (s0 === peg$FAILED) {
24346
- if (input.substr(peg$currPos, 15) === peg$c99) {
24347
- s0 = peg$c99;
24649
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24650
+ s0 = peg$c100;
24348
24651
  peg$currPos += 15;
24349
24652
  } else {
24350
24653
  s0 = peg$FAILED;
24351
24654
  if (peg$silentFails === 0) {
24352
- peg$fail(peg$e103);
24655
+ peg$fail(peg$e104);
24353
24656
  }
24354
24657
  }
24355
24658
  if (s0 === peg$FAILED) {
24356
- if (input.substr(peg$currPos, 15) === peg$c100) {
24357
- s0 = peg$c100;
24659
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24660
+ s0 = peg$c101;
24358
24661
  peg$currPos += 15;
24359
24662
  } else {
24360
24663
  s0 = peg$FAILED;
24361
24664
  if (peg$silentFails === 0) {
24362
- peg$fail(peg$e104);
24665
+ peg$fail(peg$e105);
24363
24666
  }
24364
24667
  }
24365
24668
  if (s0 === peg$FAILED) {
24366
- if (input.substr(peg$currPos, 14) === peg$c101) {
24367
- s0 = peg$c101;
24368
- peg$currPos += 14;
24669
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24670
+ s0 = peg$c102;
24671
+ peg$currPos += 15;
24369
24672
  } else {
24370
24673
  s0 = peg$FAILED;
24371
24674
  if (peg$silentFails === 0) {
24372
- peg$fail(peg$e105);
24675
+ peg$fail(peg$e106);
24373
24676
  }
24374
24677
  }
24375
24678
  if (s0 === peg$FAILED) {
24376
- if (input.substr(peg$currPos, 10) === peg$c102) {
24377
- s0 = peg$c102;
24378
- peg$currPos += 10;
24679
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24680
+ s0 = peg$c103;
24681
+ peg$currPos += 14;
24379
24682
  } else {
24380
24683
  s0 = peg$FAILED;
24381
24684
  if (peg$silentFails === 0) {
24382
- peg$fail(peg$e106);
24685
+ peg$fail(peg$e107);
24383
24686
  }
24384
24687
  }
24385
24688
  if (s0 === peg$FAILED) {
24386
- if (input.substr(peg$currPos, 13) === peg$c103) {
24387
- s0 = peg$c103;
24388
- peg$currPos += 13;
24689
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24690
+ s0 = peg$c104;
24691
+ peg$currPos += 10;
24389
24692
  } else {
24390
24693
  s0 = peg$FAILED;
24391
24694
  if (peg$silentFails === 0) {
24392
- peg$fail(peg$e107);
24695
+ peg$fail(peg$e108);
24393
24696
  }
24394
24697
  }
24395
24698
  if (s0 === peg$FAILED) {
24396
- if (input.substr(peg$currPos, 19) === peg$c104) {
24397
- s0 = peg$c104;
24398
- peg$currPos += 19;
24699
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24700
+ s0 = peg$c105;
24701
+ peg$currPos += 13;
24399
24702
  } else {
24400
24703
  s0 = peg$FAILED;
24401
24704
  if (peg$silentFails === 0) {
24402
- peg$fail(peg$e108);
24705
+ peg$fail(peg$e109);
24403
24706
  }
24404
24707
  }
24405
24708
  if (s0 === peg$FAILED) {
24406
- if (input.substr(peg$currPos, 10) === peg$c105) {
24407
- s0 = peg$c105;
24408
- peg$currPos += 10;
24709
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24710
+ s0 = peg$c106;
24711
+ peg$currPos += 19;
24409
24712
  } else {
24410
24713
  s0 = peg$FAILED;
24411
24714
  if (peg$silentFails === 0) {
24412
- peg$fail(peg$e109);
24715
+ peg$fail(peg$e110);
24413
24716
  }
24414
24717
  }
24415
24718
  if (s0 === peg$FAILED) {
24416
- if (input.substr(peg$currPos, 10) === peg$c106) {
24417
- s0 = peg$c106;
24719
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24720
+ s0 = peg$c107;
24418
24721
  peg$currPos += 10;
24419
24722
  } else {
24420
24723
  s0 = peg$FAILED;
24421
24724
  if (peg$silentFails === 0) {
24422
- peg$fail(peg$e110);
24725
+ peg$fail(peg$e111);
24423
24726
  }
24424
24727
  }
24425
24728
  if (s0 === peg$FAILED) {
24426
- if (input.substr(peg$currPos, 13) === peg$c107) {
24427
- s0 = peg$c107;
24428
- peg$currPos += 13;
24729
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24730
+ s0 = peg$c108;
24731
+ peg$currPos += 10;
24429
24732
  } else {
24430
24733
  s0 = peg$FAILED;
24431
24734
  if (peg$silentFails === 0) {
24432
- peg$fail(peg$e111);
24735
+ peg$fail(peg$e112);
24433
24736
  }
24434
24737
  }
24435
24738
  if (s0 === peg$FAILED) {
24436
- if (input.substr(peg$currPos, 11) === peg$c108) {
24437
- s0 = peg$c108;
24438
- peg$currPos += 11;
24739
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24740
+ s0 = peg$c68;
24741
+ peg$currPos += 13;
24439
24742
  } else {
24440
24743
  s0 = peg$FAILED;
24441
24744
  if (peg$silentFails === 0) {
24442
- peg$fail(peg$e112);
24745
+ peg$fail(peg$e72);
24746
+ }
24747
+ }
24748
+ if (s0 === peg$FAILED) {
24749
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24750
+ s0 = peg$c109;
24751
+ peg$currPos += 11;
24752
+ } else {
24753
+ s0 = peg$FAILED;
24754
+ if (peg$silentFails === 0) {
24755
+ peg$fail(peg$e113);
24756
+ }
24443
24757
  }
24444
24758
  }
24445
24759
  }
@@ -24485,233 +24799,233 @@ function peg$parse(input, options) {
24485
24799
  }
24486
24800
  function peg$parseColor() {
24487
24801
  let s0;
24488
- if (input.substr(peg$currPos, 4) === peg$c109) {
24489
- s0 = peg$c109;
24802
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24803
+ s0 = peg$c110;
24490
24804
  peg$currPos += 4;
24491
24805
  } else {
24492
24806
  s0 = peg$FAILED;
24493
24807
  if (peg$silentFails === 0) {
24494
- peg$fail(peg$e113);
24808
+ peg$fail(peg$e114);
24495
24809
  }
24496
24810
  }
24497
24811
  if (s0 === peg$FAILED) {
24498
- if (input.substr(peg$currPos, 5) === peg$c110) {
24499
- s0 = peg$c110;
24812
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24813
+ s0 = peg$c111;
24500
24814
  peg$currPos += 5;
24501
24815
  } else {
24502
24816
  s0 = peg$FAILED;
24503
24817
  if (peg$silentFails === 0) {
24504
- peg$fail(peg$e114);
24818
+ peg$fail(peg$e115);
24505
24819
  }
24506
24820
  }
24507
24821
  if (s0 === peg$FAILED) {
24508
- if (input.substr(peg$currPos, 4) === peg$c111) {
24509
- s0 = peg$c111;
24822
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24823
+ s0 = peg$c112;
24510
24824
  peg$currPos += 4;
24511
24825
  } else {
24512
24826
  s0 = peg$FAILED;
24513
24827
  if (peg$silentFails === 0) {
24514
- peg$fail(peg$e115);
24828
+ peg$fail(peg$e116);
24515
24829
  }
24516
24830
  }
24517
24831
  if (s0 === peg$FAILED) {
24518
- if (input.substr(peg$currPos, 5) === peg$c112) {
24519
- s0 = peg$c112;
24832
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24833
+ s0 = peg$c113;
24520
24834
  peg$currPos += 5;
24521
24835
  } else {
24522
24836
  s0 = peg$FAILED;
24523
24837
  if (peg$silentFails === 0) {
24524
- peg$fail(peg$e116);
24838
+ peg$fail(peg$e117);
24525
24839
  }
24526
24840
  }
24527
24841
  if (s0 === peg$FAILED) {
24528
- if (input.substr(peg$currPos, 7) === peg$c113) {
24529
- s0 = peg$c113;
24842
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24843
+ s0 = peg$c114;
24530
24844
  peg$currPos += 7;
24531
24845
  } else {
24532
24846
  s0 = peg$FAILED;
24533
24847
  if (peg$silentFails === 0) {
24534
- peg$fail(peg$e117);
24848
+ peg$fail(peg$e118);
24535
24849
  }
24536
24850
  }
24537
24851
  if (s0 === peg$FAILED) {
24538
- if (input.substr(peg$currPos, 9) === peg$c114) {
24539
- s0 = peg$c114;
24852
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24853
+ s0 = peg$c115;
24540
24854
  peg$currPos += 9;
24541
24855
  } else {
24542
24856
  s0 = peg$FAILED;
24543
24857
  if (peg$silentFails === 0) {
24544
- peg$fail(peg$e118);
24858
+ peg$fail(peg$e119);
24545
24859
  }
24546
24860
  }
24547
24861
  if (s0 === peg$FAILED) {
24548
- if (input.substr(peg$currPos, 4) === peg$c115) {
24549
- s0 = peg$c115;
24862
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24863
+ s0 = peg$c116;
24550
24864
  peg$currPos += 4;
24551
24865
  } else {
24552
24866
  s0 = peg$FAILED;
24553
24867
  if (peg$silentFails === 0) {
24554
- peg$fail(peg$e119);
24868
+ peg$fail(peg$e120);
24555
24869
  }
24556
24870
  }
24557
24871
  if (s0 === peg$FAILED) {
24558
- if (input.substr(peg$currPos, 8) === peg$c116) {
24559
- s0 = peg$c116;
24872
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24873
+ s0 = peg$c117;
24560
24874
  peg$currPos += 8;
24561
24875
  } else {
24562
24876
  s0 = peg$FAILED;
24563
24877
  if (peg$silentFails === 0) {
24564
- peg$fail(peg$e120);
24878
+ peg$fail(peg$e121);
24565
24879
  }
24566
24880
  }
24567
24881
  if (s0 === peg$FAILED) {
24568
- if (input.substr(peg$currPos, 5) === peg$c117) {
24569
- s0 = peg$c117;
24882
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24883
+ s0 = peg$c118;
24570
24884
  peg$currPos += 5;
24571
24885
  } else {
24572
24886
  s0 = peg$FAILED;
24573
24887
  if (peg$silentFails === 0) {
24574
- peg$fail(peg$e121);
24888
+ peg$fail(peg$e122);
24575
24889
  }
24576
24890
  }
24577
24891
  if (s0 === peg$FAILED) {
24578
- if (input.substr(peg$currPos, 4) === peg$c118) {
24579
- s0 = peg$c118;
24892
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24893
+ s0 = peg$c119;
24580
24894
  peg$currPos += 4;
24581
24895
  } else {
24582
24896
  s0 = peg$FAILED;
24583
24897
  if (peg$silentFails === 0) {
24584
- peg$fail(peg$e122);
24898
+ peg$fail(peg$e123);
24585
24899
  }
24586
24900
  }
24587
24901
  if (s0 === peg$FAILED) {
24588
- if (input.substr(peg$currPos, 7) === peg$c119) {
24589
- s0 = peg$c119;
24902
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24903
+ s0 = peg$c120;
24590
24904
  peg$currPos += 7;
24591
24905
  } else {
24592
24906
  s0 = peg$FAILED;
24593
24907
  if (peg$silentFails === 0) {
24594
- peg$fail(peg$e123);
24908
+ peg$fail(peg$e124);
24595
24909
  }
24596
24910
  }
24597
24911
  if (s0 === peg$FAILED) {
24598
- if (input.substr(peg$currPos, 6) === peg$c120) {
24599
- s0 = peg$c120;
24912
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24913
+ s0 = peg$c121;
24600
24914
  peg$currPos += 6;
24601
24915
  } else {
24602
24916
  s0 = peg$FAILED;
24603
24917
  if (peg$silentFails === 0) {
24604
- peg$fail(peg$e124);
24918
+ peg$fail(peg$e125);
24605
24919
  }
24606
24920
  }
24607
24921
  if (s0 === peg$FAILED) {
24608
- if (input.substr(peg$currPos, 4) === peg$c121) {
24609
- s0 = peg$c121;
24922
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24923
+ s0 = peg$c122;
24610
24924
  peg$currPos += 4;
24611
24925
  } else {
24612
24926
  s0 = peg$FAILED;
24613
24927
  if (peg$silentFails === 0) {
24614
- peg$fail(peg$e125);
24928
+ peg$fail(peg$e126);
24615
24929
  }
24616
24930
  }
24617
24931
  if (s0 === peg$FAILED) {
24618
- if (input.substr(peg$currPos, 5) === peg$c122) {
24619
- s0 = peg$c122;
24932
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24933
+ s0 = peg$c123;
24620
24934
  peg$currPos += 5;
24621
24935
  } else {
24622
24936
  s0 = peg$FAILED;
24623
24937
  if (peg$silentFails === 0) {
24624
- peg$fail(peg$e126);
24938
+ peg$fail(peg$e127);
24625
24939
  }
24626
24940
  }
24627
24941
  if (s0 === peg$FAILED) {
24628
- if (input.substr(peg$currPos, 6) === peg$c123) {
24629
- s0 = peg$c123;
24942
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24943
+ s0 = peg$c124;
24630
24944
  peg$currPos += 6;
24631
24945
  } else {
24632
24946
  s0 = peg$FAILED;
24633
24947
  if (peg$silentFails === 0) {
24634
- peg$fail(peg$e127);
24948
+ peg$fail(peg$e128);
24635
24949
  }
24636
24950
  }
24637
24951
  if (s0 === peg$FAILED) {
24638
- if (input.substr(peg$currPos, 4) === peg$c124) {
24639
- s0 = peg$c124;
24952
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24953
+ s0 = peg$c125;
24640
24954
  peg$currPos += 4;
24641
24955
  } else {
24642
24956
  s0 = peg$FAILED;
24643
24957
  if (peg$silentFails === 0) {
24644
- peg$fail(peg$e128);
24958
+ peg$fail(peg$e129);
24645
24959
  }
24646
24960
  }
24647
24961
  if (s0 === peg$FAILED) {
24648
- if (input.substr(peg$currPos, 6) === peg$c125) {
24649
- s0 = peg$c125;
24962
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24963
+ s0 = peg$c126;
24650
24964
  peg$currPos += 6;
24651
24965
  } else {
24652
24966
  s0 = peg$FAILED;
24653
24967
  if (peg$silentFails === 0) {
24654
- peg$fail(peg$e129);
24968
+ peg$fail(peg$e130);
24655
24969
  }
24656
24970
  }
24657
24971
  if (s0 === peg$FAILED) {
24658
- if (input.substr(peg$currPos, 3) === peg$c126) {
24659
- s0 = peg$c126;
24972
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24973
+ s0 = peg$c127;
24660
24974
  peg$currPos += 3;
24661
24975
  } else {
24662
24976
  s0 = peg$FAILED;
24663
24977
  if (peg$silentFails === 0) {
24664
- peg$fail(peg$e130);
24978
+ peg$fail(peg$e131);
24665
24979
  }
24666
24980
  }
24667
24981
  if (s0 === peg$FAILED) {
24668
- if (input.substr(peg$currPos, 6) === peg$c127) {
24669
- s0 = peg$c127;
24982
+ if (input.substr(peg$currPos, 6) === peg$c128) {
24983
+ s0 = peg$c128;
24670
24984
  peg$currPos += 6;
24671
24985
  } else {
24672
24986
  s0 = peg$FAILED;
24673
24987
  if (peg$silentFails === 0) {
24674
- peg$fail(peg$e131);
24988
+ peg$fail(peg$e132);
24675
24989
  }
24676
24990
  }
24677
24991
  if (s0 === peg$FAILED) {
24678
- if (input.substr(peg$currPos, 4) === peg$c128) {
24679
- s0 = peg$c128;
24992
+ if (input.substr(peg$currPos, 4) === peg$c129) {
24993
+ s0 = peg$c129;
24680
24994
  peg$currPos += 4;
24681
24995
  } else {
24682
24996
  s0 = peg$FAILED;
24683
24997
  if (peg$silentFails === 0) {
24684
- peg$fail(peg$e132);
24998
+ peg$fail(peg$e133);
24685
24999
  }
24686
25000
  }
24687
25001
  if (s0 === peg$FAILED) {
24688
- if (input.substr(peg$currPos, 6) === peg$c129) {
24689
- s0 = peg$c129;
25002
+ if (input.substr(peg$currPos, 6) === peg$c130) {
25003
+ s0 = peg$c130;
24690
25004
  peg$currPos += 6;
24691
25005
  } else {
24692
25006
  s0 = peg$FAILED;
24693
25007
  if (peg$silentFails === 0) {
24694
- peg$fail(peg$e133);
25008
+ peg$fail(peg$e134);
24695
25009
  }
24696
25010
  }
24697
25011
  if (s0 === peg$FAILED) {
24698
- if (input.substr(peg$currPos, 5) === peg$c130) {
24699
- s0 = peg$c130;
25012
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25013
+ s0 = peg$c131;
24700
25014
  peg$currPos += 5;
24701
25015
  } else {
24702
25016
  s0 = peg$FAILED;
24703
25017
  if (peg$silentFails === 0) {
24704
- peg$fail(peg$e134);
25018
+ peg$fail(peg$e135);
24705
25019
  }
24706
25020
  }
24707
25021
  if (s0 === peg$FAILED) {
24708
- if (input.substr(peg$currPos, 6) === peg$c131) {
24709
- s0 = peg$c131;
25022
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25023
+ s0 = peg$c132;
24710
25024
  peg$currPos += 6;
24711
25025
  } else {
24712
25026
  s0 = peg$FAILED;
24713
25027
  if (peg$silentFails === 0) {
24714
- peg$fail(peg$e135);
25028
+ peg$fail(peg$e136);
24715
25029
  }
24716
25030
  }
24717
25031
  }
@@ -24738,13 +25052,125 @@ function peg$parse(input, options) {
24738
25052
  }
24739
25053
  return s0;
24740
25054
  }
25055
+ function peg$parseHighlightColor() {
25056
+ let s0;
25057
+ if (input.substr(peg$currPos, 6) === peg$c124) {
25058
+ s0 = peg$c124;
25059
+ peg$currPos += 6;
25060
+ } else {
25061
+ s0 = peg$FAILED;
25062
+ if (peg$silentFails === 0) {
25063
+ peg$fail(peg$e128);
25064
+ }
25065
+ }
25066
+ if (s0 === peg$FAILED) {
25067
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25068
+ s0 = peg$c132;
25069
+ peg$currPos += 6;
25070
+ } else {
25071
+ s0 = peg$FAILED;
25072
+ if (peg$silentFails === 0) {
25073
+ peg$fail(peg$e136);
25074
+ }
25075
+ }
25076
+ if (s0 === peg$FAILED) {
25077
+ if (input.substr(peg$currPos, 5) === peg$c118) {
25078
+ s0 = peg$c118;
25079
+ peg$currPos += 5;
25080
+ } else {
25081
+ s0 = peg$FAILED;
25082
+ if (peg$silentFails === 0) {
25083
+ peg$fail(peg$e122);
25084
+ }
25085
+ }
25086
+ if (s0 === peg$FAILED) {
25087
+ if (input.substr(peg$currPos, 4) === peg$c112) {
25088
+ s0 = peg$c112;
25089
+ peg$currPos += 4;
25090
+ } else {
25091
+ s0 = peg$FAILED;
25092
+ if (peg$silentFails === 0) {
25093
+ peg$fail(peg$e116);
25094
+ }
25095
+ }
25096
+ if (s0 === peg$FAILED) {
25097
+ if (input.substr(peg$currPos, 6) === peg$c126) {
25098
+ s0 = peg$c126;
25099
+ peg$currPos += 6;
25100
+ } else {
25101
+ s0 = peg$FAILED;
25102
+ if (peg$silentFails === 0) {
25103
+ peg$fail(peg$e130);
25104
+ }
25105
+ }
25106
+ if (s0 === peg$FAILED) {
25107
+ if (input.substr(peg$currPos, 4) === peg$c125) {
25108
+ s0 = peg$c125;
25109
+ peg$currPos += 4;
25110
+ } else {
25111
+ s0 = peg$FAILED;
25112
+ if (peg$silentFails === 0) {
25113
+ peg$fail(peg$e129);
25114
+ }
25115
+ }
25116
+ if (s0 === peg$FAILED) {
25117
+ if (input.substr(peg$currPos, 5) === peg$c113) {
25118
+ s0 = peg$c113;
25119
+ peg$currPos += 5;
25120
+ } else {
25121
+ s0 = peg$FAILED;
25122
+ if (peg$silentFails === 0) {
25123
+ peg$fail(peg$e117);
25124
+ }
25125
+ }
25126
+ if (s0 === peg$FAILED) {
25127
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25128
+ s0 = peg$c131;
25129
+ peg$currPos += 5;
25130
+ } else {
25131
+ s0 = peg$FAILED;
25132
+ if (peg$silentFails === 0) {
25133
+ peg$fail(peg$e135);
25134
+ }
25135
+ }
25136
+ if (s0 === peg$FAILED) {
25137
+ if (input.substr(peg$currPos, 5) === peg$c111) {
25138
+ s0 = peg$c111;
25139
+ peg$currPos += 5;
25140
+ } else {
25141
+ s0 = peg$FAILED;
25142
+ if (peg$silentFails === 0) {
25143
+ peg$fail(peg$e115);
25144
+ }
25145
+ }
25146
+ if (s0 === peg$FAILED) {
25147
+ if (input.substr(peg$currPos, 4) === peg$c116) {
25148
+ s0 = peg$c116;
25149
+ peg$currPos += 4;
25150
+ } else {
25151
+ s0 = peg$FAILED;
25152
+ if (peg$silentFails === 0) {
25153
+ peg$fail(peg$e120);
25154
+ }
25155
+ }
25156
+ }
25157
+ }
25158
+ }
25159
+ }
25160
+ }
25161
+ }
25162
+ }
25163
+ }
25164
+ }
25165
+ return s0;
25166
+ }
24741
25167
  function peg$parsebitmarkMinusMinus() {
24742
25168
  let s0, s1;
24743
25169
  peg$silentFails++;
24744
25170
  s0 = peg$currPos;
24745
25171
  s1 = peg$parsebitmarkMinusMinusString();
24746
25172
  peg$savedPos = s0;
24747
- s1 = peg$f91(s1);
25173
+ s1 = peg$f92(s1);
24748
25174
  s0 = s1;
24749
25175
  peg$silentFails--;
24750
25176
  return s0;
@@ -24770,7 +25196,7 @@ function peg$parse(input, options) {
24770
25196
  }
24771
25197
  }
24772
25198
  peg$savedPos = s0;
24773
- s0 = peg$f92(s1, s2);
25199
+ s0 = peg$f93(s1, s2);
24774
25200
  peg$silentFails--;
24775
25201
  return s0;
24776
25202
  }
@@ -24780,7 +25206,7 @@ function peg$parse(input, options) {
24780
25206
  s1 = peg$parseNL();
24781
25207
  if (s1 !== peg$FAILED) {
24782
25208
  peg$savedPos = s0;
24783
- s1 = peg$f93();
25209
+ s1 = peg$f94();
24784
25210
  }
24785
25211
  s0 = s1;
24786
25212
  if (s0 === peg$FAILED) {
@@ -24909,7 +25335,7 @@ function peg$parse(input, options) {
24909
25335
  }
24910
25336
  if (s1 !== peg$FAILED) {
24911
25337
  peg$savedPos = s0;
24912
- s1 = peg$f94(s1);
25338
+ s1 = peg$f95(s1);
24913
25339
  }
24914
25340
  s0 = s1;
24915
25341
  }
@@ -24918,12 +25344,12 @@ function peg$parse(input, options) {
24918
25344
  function peg$parseBoldHalfTag() {
24919
25345
  let s0;
24920
25346
  if (input.charCodeAt(peg$currPos) === 42) {
24921
- s0 = peg$c132;
25347
+ s0 = peg$c133;
24922
25348
  peg$currPos++;
24923
25349
  } else {
24924
25350
  s0 = peg$FAILED;
24925
25351
  if (peg$silentFails === 0) {
24926
- peg$fail(peg$e136);
25352
+ peg$fail(peg$e137);
24927
25353
  }
24928
25354
  }
24929
25355
  return s0;
@@ -24931,12 +25357,12 @@ function peg$parse(input, options) {
24931
25357
  function peg$parseItalicHalfTag() {
24932
25358
  let s0;
24933
25359
  if (input.charCodeAt(peg$currPos) === 95) {
24934
- s0 = peg$c133;
25360
+ s0 = peg$c134;
24935
25361
  peg$currPos++;
24936
25362
  } else {
24937
25363
  s0 = peg$FAILED;
24938
25364
  if (peg$silentFails === 0) {
24939
- peg$fail(peg$e137);
25365
+ peg$fail(peg$e138);
24940
25366
  }
24941
25367
  }
24942
25368
  return s0;
@@ -24944,12 +25370,12 @@ function peg$parse(input, options) {
24944
25370
  function peg$parseLightHalfTag() {
24945
25371
  let s0;
24946
25372
  if (input.charCodeAt(peg$currPos) === 96) {
24947
- s0 = peg$c134;
25373
+ s0 = peg$c135;
24948
25374
  peg$currPos++;
24949
25375
  } else {
24950
25376
  s0 = peg$FAILED;
24951
25377
  if (peg$silentFails === 0) {
24952
- peg$fail(peg$e138);
25378
+ peg$fail(peg$e139);
24953
25379
  }
24954
25380
  }
24955
25381
  return s0;
@@ -24957,12 +25383,12 @@ function peg$parse(input, options) {
24957
25383
  function peg$parseHighlightHalfTag() {
24958
25384
  let s0;
24959
25385
  if (input.charCodeAt(peg$currPos) === 33) {
24960
- s0 = peg$c135;
25386
+ s0 = peg$c136;
24961
25387
  peg$currPos++;
24962
25388
  } else {
24963
25389
  s0 = peg$FAILED;
24964
25390
  if (peg$silentFails === 0) {
24965
- peg$fail(peg$e139);
25391
+ peg$fail(peg$e140);
24966
25392
  }
24967
25393
  }
24968
25394
  return s0;
@@ -25045,13 +25471,13 @@ function peg$parse(input, options) {
25045
25471
  }
25046
25472
  function peg$parseBodyBitOpenTag() {
25047
25473
  let s0;
25048
- if (input.substr(peg$currPos, 2) === peg$c136) {
25049
- s0 = peg$c136;
25474
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25475
+ s0 = peg$c137;
25050
25476
  peg$currPos += 2;
25051
25477
  } else {
25052
25478
  s0 = peg$FAILED;
25053
25479
  if (peg$silentFails === 0) {
25054
- peg$fail(peg$e140);
25480
+ peg$fail(peg$e141);
25055
25481
  }
25056
25482
  }
25057
25483
  return s0;
@@ -25059,12 +25485,12 @@ function peg$parse(input, options) {
25059
25485
  function peg$parseBodyBitCloseTag() {
25060
25486
  let s0;
25061
25487
  if (input.charCodeAt(peg$currPos) === 93) {
25062
- s0 = peg$c137;
25488
+ s0 = peg$c138;
25063
25489
  peg$currPos++;
25064
25490
  } else {
25065
25491
  s0 = peg$FAILED;
25066
25492
  if (peg$silentFails === 0) {
25067
- peg$fail(peg$e141);
25493
+ peg$fail(peg$e142);
25068
25494
  }
25069
25495
  }
25070
25496
  return s0;
@@ -25110,7 +25536,7 @@ function peg$parse(input, options) {
25110
25536
  s3 = peg$parseBodyBitCloseTag();
25111
25537
  if (s3 !== peg$FAILED) {
25112
25538
  peg$savedPos = s0;
25113
- s0 = peg$f95(s2);
25539
+ s0 = peg$f96(s2);
25114
25540
  } else {
25115
25541
  peg$currPos = s0;
25116
25542
  s0 = peg$FAILED;
@@ -25200,7 +25626,7 @@ function peg$parse(input, options) {
25200
25626
  s3 = peg$parseBoldTag();
25201
25627
  if (s3 !== peg$FAILED) {
25202
25628
  peg$savedPos = s0;
25203
- s0 = peg$f96(s2);
25629
+ s0 = peg$f97(s2);
25204
25630
  } else {
25205
25631
  peg$currPos = s0;
25206
25632
  s0 = peg$FAILED;
@@ -25286,7 +25712,7 @@ function peg$parse(input, options) {
25286
25712
  s3 = peg$parseItalicTag();
25287
25713
  if (s3 !== peg$FAILED) {
25288
25714
  peg$savedPos = s0;
25289
- s0 = peg$f97(s2);
25715
+ s0 = peg$f98(s2);
25290
25716
  } else {
25291
25717
  peg$currPos = s0;
25292
25718
  s0 = peg$FAILED;
@@ -25372,7 +25798,7 @@ function peg$parse(input, options) {
25372
25798
  s3 = peg$parseLightTag();
25373
25799
  if (s3 !== peg$FAILED) {
25374
25800
  peg$savedPos = s0;
25375
- s0 = peg$f98(s2);
25801
+ s0 = peg$f99(s2);
25376
25802
  } else {
25377
25803
  peg$currPos = s0;
25378
25804
  s0 = peg$FAILED;
@@ -25458,7 +25884,7 @@ function peg$parse(input, options) {
25458
25884
  s3 = peg$parseHighlightTag();
25459
25885
  if (s3 !== peg$FAILED) {
25460
25886
  peg$savedPos = s0;
25461
- s0 = peg$f99(s2);
25887
+ s0 = peg$f100(s2);
25462
25888
  } else {
25463
25889
  peg$currPos = s0;
25464
25890
  s0 = peg$FAILED;
@@ -25543,22 +25969,22 @@ function peg$parse(input, options) {
25543
25969
  let s0, s1;
25544
25970
  peg$silentFails++;
25545
25971
  if (input.charCodeAt(peg$currPos) === 10) {
25546
- s0 = peg$c138;
25972
+ s0 = peg$c139;
25547
25973
  peg$currPos++;
25548
25974
  } else {
25549
25975
  s0 = peg$FAILED;
25550
25976
  if (peg$silentFails === 0) {
25551
- peg$fail(peg$e143);
25977
+ peg$fail(peg$e144);
25552
25978
  }
25553
25979
  }
25554
25980
  if (s0 === peg$FAILED) {
25555
- if (input.substr(peg$currPos, 2) === peg$c139) {
25556
- s0 = peg$c139;
25981
+ if (input.substr(peg$currPos, 2) === peg$c140) {
25982
+ s0 = peg$c140;
25557
25983
  peg$currPos += 2;
25558
25984
  } else {
25559
25985
  s0 = peg$FAILED;
25560
25986
  if (peg$silentFails === 0) {
25561
- peg$fail(peg$e144);
25987
+ peg$fail(peg$e145);
25562
25988
  }
25563
25989
  }
25564
25990
  if (s0 === peg$FAILED) {
@@ -25568,7 +25994,7 @@ function peg$parse(input, options) {
25568
25994
  } else {
25569
25995
  s0 = peg$FAILED;
25570
25996
  if (peg$silentFails === 0) {
25571
- peg$fail(peg$e145);
25997
+ peg$fail(peg$e146);
25572
25998
  }
25573
25999
  }
25574
26000
  }
@@ -25577,7 +26003,7 @@ function peg$parse(input, options) {
25577
26003
  if (s0 === peg$FAILED) {
25578
26004
  s1 = peg$FAILED;
25579
26005
  if (peg$silentFails === 0) {
25580
- peg$fail(peg$e142);
26006
+ peg$fail(peg$e143);
25581
26007
  }
25582
26008
  }
25583
26009
  return s0;
@@ -25590,7 +26016,7 @@ function peg$parse(input, options) {
25590
26016
  } else {
25591
26017
  s0 = peg$FAILED;
25592
26018
  if (peg$silentFails === 0) {
25593
- peg$fail(peg$e146);
26019
+ peg$fail(peg$e147);
25594
26020
  }
25595
26021
  }
25596
26022
  return s0;
@@ -25624,35 +26050,35 @@ function peg$parse(input, options) {
25624
26050
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25625
26051
  s0 = peg$currPos;
25626
26052
  s1 = peg$currPos;
25627
- if (input.substr(peg$currPos, 4) === peg$c140) {
25628
- s2 = peg$c140;
26053
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26054
+ s2 = peg$c141;
25629
26055
  peg$currPos += 4;
25630
26056
  } else {
25631
26057
  s2 = peg$FAILED;
25632
26058
  if (peg$silentFails === 0) {
25633
- peg$fail(peg$e147);
26059
+ peg$fail(peg$e148);
25634
26060
  }
25635
26061
  }
25636
26062
  if (s2 !== peg$FAILED) {
25637
26063
  if (input.charCodeAt(peg$currPos) === 115) {
25638
- s3 = peg$c141;
26064
+ s3 = peg$c142;
25639
26065
  peg$currPos++;
25640
26066
  } else {
25641
26067
  s3 = peg$FAILED;
25642
26068
  if (peg$silentFails === 0) {
25643
- peg$fail(peg$e148);
26069
+ peg$fail(peg$e149);
25644
26070
  }
25645
26071
  }
25646
26072
  if (s3 === peg$FAILED) {
25647
26073
  s3 = null;
25648
26074
  }
25649
- if (input.substr(peg$currPos, 3) === peg$c142) {
25650
- s4 = peg$c142;
26075
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26076
+ s4 = peg$c143;
25651
26077
  peg$currPos += 3;
25652
26078
  } else {
25653
26079
  s4 = peg$FAILED;
25654
26080
  if (peg$silentFails === 0) {
25655
- peg$fail(peg$e149);
26081
+ peg$fail(peg$e150);
25656
26082
  }
25657
26083
  }
25658
26084
  if (s4 !== peg$FAILED) {
@@ -25730,35 +26156,35 @@ function peg$parse(input, options) {
25730
26156
  s0 = peg$currPos;
25731
26157
  s1 = peg$currPos;
25732
26158
  s2 = peg$currPos;
25733
- if (input.substr(peg$currPos, 4) === peg$c140) {
25734
- s3 = peg$c140;
26159
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26160
+ s3 = peg$c141;
25735
26161
  peg$currPos += 4;
25736
26162
  } else {
25737
26163
  s3 = peg$FAILED;
25738
26164
  if (peg$silentFails === 0) {
25739
- peg$fail(peg$e147);
26165
+ peg$fail(peg$e148);
25740
26166
  }
25741
26167
  }
25742
26168
  if (s3 !== peg$FAILED) {
25743
26169
  if (input.charCodeAt(peg$currPos) === 115) {
25744
- s4 = peg$c141;
26170
+ s4 = peg$c142;
25745
26171
  peg$currPos++;
25746
26172
  } else {
25747
26173
  s4 = peg$FAILED;
25748
26174
  if (peg$silentFails === 0) {
25749
- peg$fail(peg$e148);
26175
+ peg$fail(peg$e149);
25750
26176
  }
25751
26177
  }
25752
26178
  if (s4 === peg$FAILED) {
25753
26179
  s4 = null;
25754
26180
  }
25755
- if (input.substr(peg$currPos, 3) === peg$c142) {
25756
- s5 = peg$c142;
26181
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26182
+ s5 = peg$c143;
25757
26183
  peg$currPos += 3;
25758
26184
  } else {
25759
26185
  s5 = peg$FAILED;
25760
26186
  if (peg$silentFails === 0) {
25761
- peg$fail(peg$e149);
26187
+ peg$fail(peg$e150);
25762
26188
  }
25763
26189
  }
25764
26190
  if (s5 !== peg$FAILED) {
@@ -25773,13 +26199,13 @@ function peg$parse(input, options) {
25773
26199
  s2 = peg$FAILED;
25774
26200
  }
25775
26201
  if (s2 === peg$FAILED) {
25776
- if (input.substr(peg$currPos, 7) === peg$c143) {
25777
- s2 = peg$c143;
26202
+ if (input.substr(peg$currPos, 7) === peg$c144) {
26203
+ s2 = peg$c144;
25778
26204
  peg$currPos += 7;
25779
26205
  } else {
25780
26206
  s2 = peg$FAILED;
25781
26207
  if (peg$silentFails === 0) {
25782
- peg$fail(peg$e150);
26208
+ peg$fail(peg$e151);
25783
26209
  }
25784
26210
  }
25785
26211
  }
@@ -25844,7 +26270,7 @@ function peg$parse(input, options) {
25844
26270
  }
25845
26271
  s2 = input.substring(s2, peg$currPos);
25846
26272
  peg$savedPos = s0;
25847
- s0 = peg$f100(s1, s2);
26273
+ s0 = peg$f101(s1, s2);
25848
26274
  } else {
25849
26275
  peg$currPos = s0;
25850
26276
  s0 = peg$FAILED;
@@ -25859,7 +26285,7 @@ function peg$parse(input, options) {
25859
26285
  } else {
25860
26286
  s0 = peg$FAILED;
25861
26287
  if (peg$silentFails === 0) {
25862
- peg$fail(peg$e151);
26288
+ peg$fail(peg$e152);
25863
26289
  }
25864
26290
  }
25865
26291
  return s0;