@wireweave/core 2.3.0 → 2.4.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.
package/dist/index.cjs CHANGED
@@ -550,68 +550,70 @@ function peg$parse(input, options) {
550
550
  const peg$c6 = "sidebar";
551
551
  const peg$c7 = "row";
552
552
  const peg$c8 = "col";
553
- const peg$c9 = "card";
554
- const peg$c10 = "modal";
555
- const peg$c11 = "drawer";
556
- const peg$c12 = "accordion";
557
- const peg$c13 = "section";
558
- const peg$c14 = "text";
559
- const peg$c15 = "title";
560
- const peg$c16 = "link";
561
- const peg$c17 = "button";
562
- const peg$c18 = "input";
563
- const peg$c19 = "textarea";
564
- const peg$c20 = "select";
565
- const peg$c21 = "checkbox";
566
- const peg$c22 = "radio";
567
- const peg$c23 = "switch";
568
- const peg$c24 = "slider";
569
- const peg$c25 = "image";
570
- const peg$c26 = "placeholder";
571
- const peg$c27 = "avatar";
572
- const peg$c28 = "badge";
573
- const peg$c29 = "icon";
574
- const peg$c30 = "table";
575
- const peg$c31 = "[";
576
- const peg$c32 = ",";
577
- const peg$c33 = "]";
578
- const peg$c34 = "columns";
579
- const peg$c35 = "list";
580
- const peg$c36 = "item";
581
- const peg$c37 = "alert";
582
- const peg$c38 = "toast";
583
- const peg$c39 = "progress";
584
- const peg$c40 = "spinner";
585
- const peg$c41 = "tooltip";
586
- const peg$c42 = "popover";
587
- const peg$c43 = "dropdown";
588
- const peg$c44 = "divider";
589
- const peg$c45 = "nav";
590
- const peg$c46 = "group";
591
- const peg$c47 = "tabs";
592
- const peg$c48 = "tab";
593
- const peg$c49 = "breadcrumb";
594
- const peg$c50 = "=";
595
- const peg$c51 = "//";
596
- const peg$c52 = "/*";
597
- const peg$c53 = '"';
598
- const peg$c54 = "'";
599
- const peg$c55 = "\\";
600
- const peg$c56 = "n";
601
- const peg$c57 = "r";
602
- const peg$c58 = "t";
603
- const peg$c59 = "-";
604
- const peg$c60 = ".";
605
- const peg$c61 = "px";
606
- const peg$c62 = "%";
607
- const peg$c63 = "em";
608
- const peg$c64 = "rem";
609
- const peg$c65 = "vh";
610
- const peg$c66 = "vw";
611
- const peg$c67 = "true";
612
- const peg$c68 = "false";
613
- const peg$c69 = "\n";
614
- const peg$c70 = "*/";
553
+ const peg$c9 = "stack";
554
+ const peg$c10 = "relative";
555
+ const peg$c11 = "card";
556
+ const peg$c12 = "modal";
557
+ const peg$c13 = "drawer";
558
+ const peg$c14 = "accordion";
559
+ const peg$c15 = "section";
560
+ const peg$c16 = "text";
561
+ const peg$c17 = "title";
562
+ const peg$c18 = "link";
563
+ const peg$c19 = "button";
564
+ const peg$c20 = "input";
565
+ const peg$c21 = "textarea";
566
+ const peg$c22 = "select";
567
+ const peg$c23 = "checkbox";
568
+ const peg$c24 = "radio";
569
+ const peg$c25 = "switch";
570
+ const peg$c26 = "slider";
571
+ const peg$c27 = "image";
572
+ const peg$c28 = "placeholder";
573
+ const peg$c29 = "avatar";
574
+ const peg$c30 = "badge";
575
+ const peg$c31 = "icon";
576
+ const peg$c32 = "table";
577
+ const peg$c33 = "[";
578
+ const peg$c34 = ",";
579
+ const peg$c35 = "]";
580
+ const peg$c36 = "columns";
581
+ const peg$c37 = "list";
582
+ const peg$c38 = "item";
583
+ const peg$c39 = "alert";
584
+ const peg$c40 = "toast";
585
+ const peg$c41 = "progress";
586
+ const peg$c42 = "spinner";
587
+ const peg$c43 = "tooltip";
588
+ const peg$c44 = "popover";
589
+ const peg$c45 = "dropdown";
590
+ const peg$c46 = "divider";
591
+ const peg$c47 = "nav";
592
+ const peg$c48 = "group";
593
+ const peg$c49 = "tabs";
594
+ const peg$c50 = "tab";
595
+ const peg$c51 = "breadcrumb";
596
+ const peg$c52 = "=";
597
+ const peg$c53 = "//";
598
+ const peg$c54 = "/*";
599
+ const peg$c55 = '"';
600
+ const peg$c56 = "'";
601
+ const peg$c57 = "\\";
602
+ const peg$c58 = "n";
603
+ const peg$c59 = "r";
604
+ const peg$c60 = "t";
605
+ const peg$c61 = "-";
606
+ const peg$c62 = ".";
607
+ const peg$c63 = "px";
608
+ const peg$c64 = "%";
609
+ const peg$c65 = "em";
610
+ const peg$c66 = "rem";
611
+ const peg$c67 = "vh";
612
+ const peg$c68 = "vw";
613
+ const peg$c69 = "true";
614
+ const peg$c70 = "false";
615
+ const peg$c71 = "\n";
616
+ const peg$c72 = "*/";
615
617
  const peg$r0 = /^[=[{}]/;
616
618
  const peg$r1 = /^[a-zA-Z0-9_\-]/;
617
619
  const peg$r2 = /^[0-9]/;
@@ -627,81 +629,83 @@ function peg$parse(input, options) {
627
629
  const peg$e6 = peg$literalExpectation("sidebar", false);
628
630
  const peg$e7 = peg$literalExpectation("row", false);
629
631
  const peg$e8 = peg$literalExpectation("col", false);
630
- const peg$e9 = peg$literalExpectation("card", false);
631
- const peg$e10 = peg$literalExpectation("modal", false);
632
- const peg$e11 = peg$literalExpectation("drawer", false);
633
- const peg$e12 = peg$literalExpectation("accordion", false);
634
- const peg$e13 = peg$literalExpectation("section", false);
635
- const peg$e14 = peg$literalExpectation("text", false);
636
- const peg$e15 = peg$literalExpectation("title", false);
637
- const peg$e16 = peg$literalExpectation("link", false);
638
- const peg$e17 = peg$literalExpectation("button", false);
639
- const peg$e18 = peg$literalExpectation("input", false);
640
- const peg$e19 = peg$literalExpectation("textarea", false);
641
- const peg$e20 = peg$literalExpectation("select", false);
642
- const peg$e21 = peg$literalExpectation("checkbox", false);
643
- const peg$e22 = peg$literalExpectation("radio", false);
644
- const peg$e23 = peg$literalExpectation("switch", false);
645
- const peg$e24 = peg$literalExpectation("slider", false);
646
- const peg$e25 = peg$literalExpectation("image", false);
647
- const peg$e26 = peg$literalExpectation("placeholder", false);
648
- const peg$e27 = peg$literalExpectation("avatar", false);
649
- const peg$e28 = peg$literalExpectation("badge", false);
650
- const peg$e29 = peg$literalExpectation("icon", false);
651
- const peg$e30 = peg$literalExpectation("table", false);
652
- const peg$e31 = peg$literalExpectation("[", false);
653
- const peg$e32 = peg$literalExpectation(",", false);
654
- const peg$e33 = peg$literalExpectation("]", false);
655
- const peg$e34 = peg$literalExpectation("columns", false);
656
- const peg$e35 = peg$literalExpectation("list", false);
657
- const peg$e36 = peg$literalExpectation("item", false);
658
- const peg$e37 = peg$literalExpectation("alert", false);
659
- const peg$e38 = peg$literalExpectation("toast", false);
660
- const peg$e39 = peg$literalExpectation("progress", false);
661
- const peg$e40 = peg$literalExpectation("spinner", false);
662
- const peg$e41 = peg$literalExpectation("tooltip", false);
663
- const peg$e42 = peg$literalExpectation("popover", false);
664
- const peg$e43 = peg$literalExpectation("dropdown", false);
665
- const peg$e44 = peg$literalExpectation("divider", false);
666
- const peg$e45 = peg$literalExpectation("nav", false);
667
- const peg$e46 = peg$literalExpectation("group", false);
668
- const peg$e47 = peg$literalExpectation("tabs", false);
669
- const peg$e48 = peg$literalExpectation("tab", false);
670
- const peg$e49 = peg$literalExpectation("breadcrumb", false);
671
- const peg$e50 = peg$literalExpectation("=", false);
672
- const peg$e51 = peg$classExpectation(["=", "[", "{", "}"], false, false, false);
673
- const peg$e52 = peg$literalExpectation("//", false);
674
- const peg$e53 = peg$literalExpectation("/*", false);
675
- const peg$e54 = peg$anyExpectation();
676
- const peg$e55 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false, false);
677
- const peg$e56 = peg$otherExpectation("string");
678
- const peg$e57 = peg$literalExpectation('"', false);
679
- const peg$e58 = peg$literalExpectation("'", false);
680
- const peg$e59 = peg$literalExpectation("\\", false);
681
- const peg$e60 = peg$literalExpectation("n", false);
682
- const peg$e61 = peg$literalExpectation("r", false);
683
- const peg$e62 = peg$literalExpectation("t", false);
684
- const peg$e63 = peg$otherExpectation("number");
685
- const peg$e64 = peg$literalExpectation("-", false);
686
- const peg$e65 = peg$classExpectation([["0", "9"]], false, false, false);
687
- const peg$e66 = peg$literalExpectation(".", false);
688
- const peg$e67 = peg$otherExpectation("value with unit");
689
- const peg$e68 = peg$literalExpectation("px", false);
690
- const peg$e69 = peg$literalExpectation("%", false);
691
- const peg$e70 = peg$literalExpectation("em", false);
692
- const peg$e71 = peg$literalExpectation("rem", false);
693
- const peg$e72 = peg$literalExpectation("vh", false);
694
- const peg$e73 = peg$literalExpectation("vw", false);
695
- const peg$e74 = peg$otherExpectation("boolean");
696
- const peg$e75 = peg$literalExpectation("true", false);
697
- const peg$e76 = peg$literalExpectation("false", false);
698
- const peg$e77 = peg$otherExpectation("identifier");
699
- const peg$e78 = peg$classExpectation([["a", "z"], ["A", "Z"], "_"], false, false, false);
700
- const peg$e79 = peg$classExpectation([" ", " ", "\n", "\r"], false, false, false);
701
- const peg$e80 = peg$otherExpectation("comment");
702
- const peg$e81 = peg$classExpectation(["\n"], true, false, false);
703
- const peg$e82 = peg$literalExpectation("\n", false);
704
- const peg$e83 = peg$literalExpectation("*/", false);
632
+ const peg$e9 = peg$literalExpectation("stack", false);
633
+ const peg$e10 = peg$literalExpectation("relative", false);
634
+ const peg$e11 = peg$literalExpectation("card", false);
635
+ const peg$e12 = peg$literalExpectation("modal", false);
636
+ const peg$e13 = peg$literalExpectation("drawer", false);
637
+ const peg$e14 = peg$literalExpectation("accordion", false);
638
+ const peg$e15 = peg$literalExpectation("section", false);
639
+ const peg$e16 = peg$literalExpectation("text", false);
640
+ const peg$e17 = peg$literalExpectation("title", false);
641
+ const peg$e18 = peg$literalExpectation("link", false);
642
+ const peg$e19 = peg$literalExpectation("button", false);
643
+ const peg$e20 = peg$literalExpectation("input", false);
644
+ const peg$e21 = peg$literalExpectation("textarea", false);
645
+ const peg$e22 = peg$literalExpectation("select", false);
646
+ const peg$e23 = peg$literalExpectation("checkbox", false);
647
+ const peg$e24 = peg$literalExpectation("radio", false);
648
+ const peg$e25 = peg$literalExpectation("switch", false);
649
+ const peg$e26 = peg$literalExpectation("slider", false);
650
+ const peg$e27 = peg$literalExpectation("image", false);
651
+ const peg$e28 = peg$literalExpectation("placeholder", false);
652
+ const peg$e29 = peg$literalExpectation("avatar", false);
653
+ const peg$e30 = peg$literalExpectation("badge", false);
654
+ const peg$e31 = peg$literalExpectation("icon", false);
655
+ const peg$e32 = peg$literalExpectation("table", false);
656
+ const peg$e33 = peg$literalExpectation("[", false);
657
+ const peg$e34 = peg$literalExpectation(",", false);
658
+ const peg$e35 = peg$literalExpectation("]", false);
659
+ const peg$e36 = peg$literalExpectation("columns", false);
660
+ const peg$e37 = peg$literalExpectation("list", false);
661
+ const peg$e38 = peg$literalExpectation("item", false);
662
+ const peg$e39 = peg$literalExpectation("alert", false);
663
+ const peg$e40 = peg$literalExpectation("toast", false);
664
+ const peg$e41 = peg$literalExpectation("progress", false);
665
+ const peg$e42 = peg$literalExpectation("spinner", false);
666
+ const peg$e43 = peg$literalExpectation("tooltip", false);
667
+ const peg$e44 = peg$literalExpectation("popover", false);
668
+ const peg$e45 = peg$literalExpectation("dropdown", false);
669
+ const peg$e46 = peg$literalExpectation("divider", false);
670
+ const peg$e47 = peg$literalExpectation("nav", false);
671
+ const peg$e48 = peg$literalExpectation("group", false);
672
+ const peg$e49 = peg$literalExpectation("tabs", false);
673
+ const peg$e50 = peg$literalExpectation("tab", false);
674
+ const peg$e51 = peg$literalExpectation("breadcrumb", false);
675
+ const peg$e52 = peg$literalExpectation("=", false);
676
+ const peg$e53 = peg$classExpectation(["=", "[", "{", "}"], false, false, false);
677
+ const peg$e54 = peg$literalExpectation("//", false);
678
+ const peg$e55 = peg$literalExpectation("/*", false);
679
+ const peg$e56 = peg$anyExpectation();
680
+ const peg$e57 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false, false);
681
+ const peg$e58 = peg$otherExpectation("string");
682
+ const peg$e59 = peg$literalExpectation('"', false);
683
+ const peg$e60 = peg$literalExpectation("'", false);
684
+ const peg$e61 = peg$literalExpectation("\\", false);
685
+ const peg$e62 = peg$literalExpectation("n", false);
686
+ const peg$e63 = peg$literalExpectation("r", false);
687
+ const peg$e64 = peg$literalExpectation("t", false);
688
+ const peg$e65 = peg$otherExpectation("number");
689
+ const peg$e66 = peg$literalExpectation("-", false);
690
+ const peg$e67 = peg$classExpectation([["0", "9"]], false, false, false);
691
+ const peg$e68 = peg$literalExpectation(".", false);
692
+ const peg$e69 = peg$otherExpectation("value with unit");
693
+ const peg$e70 = peg$literalExpectation("px", false);
694
+ const peg$e71 = peg$literalExpectation("%", false);
695
+ const peg$e72 = peg$literalExpectation("em", false);
696
+ const peg$e73 = peg$literalExpectation("rem", false);
697
+ const peg$e74 = peg$literalExpectation("vh", false);
698
+ const peg$e75 = peg$literalExpectation("vw", false);
699
+ const peg$e76 = peg$otherExpectation("boolean");
700
+ const peg$e77 = peg$literalExpectation("true", false);
701
+ const peg$e78 = peg$literalExpectation("false", false);
702
+ const peg$e79 = peg$otherExpectation("identifier");
703
+ const peg$e80 = peg$classExpectation([["a", "z"], ["A", "Z"], "_"], false, false, false);
704
+ const peg$e81 = peg$classExpectation([" ", " ", "\n", "\r"], false, false, false);
705
+ const peg$e82 = peg$otherExpectation("comment");
706
+ const peg$e83 = peg$classExpectation(["\n"], true, false, false);
707
+ const peg$e84 = peg$literalExpectation("\n", false);
708
+ const peg$e85 = peg$literalExpectation("*/", false);
705
709
  function peg$f0(children) {
706
710
  return createNode("Document", { children: children.filter((c) => c !== null) });
707
711
  }
@@ -757,66 +761,78 @@ function peg$parse(input, options) {
757
761
  children
758
762
  });
759
763
  }
760
- function peg$f11(label, attrs, children) {
764
+ function peg$f11(attrs, children) {
765
+ return createNode("Stack", {
766
+ ...attrsToObject(attrs),
767
+ children
768
+ });
769
+ }
770
+ function peg$f12(attrs, children) {
771
+ return createNode("Relative", {
772
+ ...attrsToObject(attrs),
773
+ children
774
+ });
775
+ }
776
+ function peg$f13(label, attrs, children) {
761
777
  return createNode("Card", {
762
778
  title: label || null,
763
779
  ...attrsToObject(attrs),
764
780
  children
765
781
  });
766
782
  }
767
- function peg$f12(label, attrs, children) {
783
+ function peg$f14(label, attrs, children) {
768
784
  return createNode("Modal", {
769
785
  title: label || null,
770
786
  ...attrsToObject(attrs),
771
787
  children
772
788
  });
773
789
  }
774
- function peg$f13(label, attrs, children) {
790
+ function peg$f15(label, attrs, children) {
775
791
  return createNode("Drawer", {
776
792
  title: label || null,
777
793
  ...attrsToObject(attrs),
778
794
  children
779
795
  });
780
796
  }
781
- function peg$f14(label, attrs, children) {
797
+ function peg$f16(label, attrs, children) {
782
798
  return createNode("Accordion", {
783
799
  title: label || null,
784
800
  ...attrsToObject(attrs),
785
801
  children
786
802
  });
787
803
  }
788
- function peg$f15(label, attrs, children) {
804
+ function peg$f17(label, attrs, children) {
789
805
  return createNode("Section", {
790
806
  title: label || null,
791
807
  ...attrsToObject(attrs),
792
808
  children
793
809
  });
794
810
  }
795
- function peg$f16(label, attrs) {
811
+ function peg$f18(label, attrs) {
796
812
  return createNode("Text", {
797
813
  content: label,
798
814
  ...attrsToObject(attrs)
799
815
  });
800
816
  }
801
- function peg$f17(label, attrs) {
817
+ function peg$f19(label, attrs) {
802
818
  return createNode("Title", {
803
819
  content: label,
804
820
  ...attrsToObject(attrs)
805
821
  });
806
822
  }
807
- function peg$f18(label, attrs) {
823
+ function peg$f20(label, attrs) {
808
824
  return createNode("Link", {
809
825
  content: label,
810
826
  ...attrsToObject(attrs)
811
827
  });
812
828
  }
813
- function peg$f19(label, attrs) {
829
+ function peg$f21(label, attrs) {
814
830
  return createNode("Button", {
815
831
  content: label,
816
832
  ...attrsToObject(attrs)
817
833
  });
818
834
  }
819
- function peg$f20(label, attrs) {
835
+ function peg$f22(label, attrs) {
820
836
  const obj = attrsToObject(attrs);
821
837
  const inputType = obj.type;
822
838
  delete obj.type;
@@ -826,75 +842,75 @@ function peg$parse(input, options) {
826
842
  ...obj
827
843
  });
828
844
  }
829
- function peg$f21(label, attrs) {
845
+ function peg$f23(label, attrs) {
830
846
  return createNode("Textarea", {
831
847
  label: label || null,
832
848
  ...attrsToObject(attrs)
833
849
  });
834
850
  }
835
- function peg$f22(label, options2, attrs) {
851
+ function peg$f24(label, options2, attrs) {
836
852
  return createNode("Select", {
837
853
  label: label || null,
838
854
  options: options2 || [],
839
855
  ...attrsToObject(attrs)
840
856
  });
841
857
  }
842
- function peg$f23(label, attrs) {
858
+ function peg$f25(label, attrs) {
843
859
  return createNode("Checkbox", {
844
860
  label: label || null,
845
861
  ...attrsToObject(attrs)
846
862
  });
847
863
  }
848
- function peg$f24(label, attrs) {
864
+ function peg$f26(label, attrs) {
849
865
  return createNode("Radio", {
850
866
  label: label || null,
851
867
  ...attrsToObject(attrs)
852
868
  });
853
869
  }
854
- function peg$f25(label, attrs) {
870
+ function peg$f27(label, attrs) {
855
871
  return createNode("Switch", {
856
872
  label: label || null,
857
873
  ...attrsToObject(attrs)
858
874
  });
859
875
  }
860
- function peg$f26(label, attrs) {
876
+ function peg$f28(label, attrs) {
861
877
  return createNode("Slider", {
862
878
  label: label || null,
863
879
  ...attrsToObject(attrs)
864
880
  });
865
881
  }
866
- function peg$f27(src, attrs) {
882
+ function peg$f29(src, attrs) {
867
883
  return createNode("Image", {
868
884
  src: src || null,
869
885
  ...attrsToObject(attrs)
870
886
  });
871
887
  }
872
- function peg$f28(label, attrs, block) {
888
+ function peg$f30(label, attrs, block) {
873
889
  return createNode("Placeholder", {
874
890
  label: label || null,
875
891
  ...attrsToObject(attrs),
876
892
  children: block ? block[2] : []
877
893
  });
878
894
  }
879
- function peg$f29(label, attrs) {
895
+ function peg$f31(label, attrs) {
880
896
  return createNode("Avatar", {
881
897
  name: label || null,
882
898
  ...attrsToObject(attrs)
883
899
  });
884
900
  }
885
- function peg$f30(label, attrs) {
901
+ function peg$f32(label, attrs) {
886
902
  return createNode("Badge", {
887
903
  content: label,
888
904
  ...attrsToObject(attrs)
889
905
  });
890
906
  }
891
- function peg$f31(name, attrs) {
907
+ function peg$f33(name, attrs) {
892
908
  return createNode("Icon", {
893
909
  name,
894
910
  ...attrsToObject(attrs)
895
911
  });
896
912
  }
897
- function peg$f32(data, attrs) {
913
+ function peg$f34(data, attrs) {
898
914
  const columns = data.length > 0 ? data[0] : [];
899
915
  const rows = data.slice(1);
900
916
  return createNode("Table", {
@@ -903,16 +919,16 @@ function peg$parse(input, options) {
903
919
  ...attrsToObject(attrs)
904
920
  });
905
921
  }
906
- function peg$f33(attrs, rows) {
922
+ function peg$f35(attrs, rows) {
907
923
  return createNode("Table", {
908
924
  ...attrsToObject(attrs),
909
925
  ...rows
910
926
  });
911
927
  }
912
- function peg$f34(first, rest) {
928
+ function peg$f36(first, rest) {
913
929
  return [first, ...rest.map((r) => r[2])];
914
930
  }
915
- function peg$f35(items) {
931
+ function peg$f37(items) {
916
932
  const columns = [];
917
933
  const rows = [];
918
934
  for (const item of items.map((i) => i[0]).filter((i) => i !== null)) {
@@ -921,72 +937,72 @@ function peg$parse(input, options) {
921
937
  }
922
938
  return { columns, rows };
923
939
  }
924
- function peg$f36(values) {
940
+ function peg$f38(values) {
925
941
  return { type: "columns", values };
926
942
  }
927
- function peg$f37(values) {
943
+ function peg$f39(values) {
928
944
  return { type: "row", values };
929
945
  }
930
- function peg$f38() {
946
+ function peg$f40() {
931
947
  return null;
932
948
  }
933
- function peg$f39(items, attrs, block) {
949
+ function peg$f41(items, attrs, block) {
934
950
  return createNode("List", {
935
951
  items: items || (block ? block : []),
936
952
  ...attrsToObject(attrs)
937
953
  });
938
954
  }
939
- function peg$f40(items) {
955
+ function peg$f42(items) {
940
956
  return items.map((i) => i[0]).filter((i) => i !== null);
941
957
  }
942
- function peg$f41(label, attrs, nested) {
958
+ function peg$f43(label, attrs, nested) {
943
959
  return {
944
960
  content: label,
945
961
  ...attrsToObject(attrs),
946
962
  children: nested || []
947
963
  };
948
964
  }
949
- function peg$f42() {
965
+ function peg$f44() {
950
966
  return null;
951
967
  }
952
- function peg$f43(label, attrs) {
968
+ function peg$f45(label, attrs) {
953
969
  return createNode("Alert", {
954
970
  content: label,
955
971
  ...attrsToObject(attrs)
956
972
  });
957
973
  }
958
- function peg$f44(label, attrs) {
974
+ function peg$f46(label, attrs) {
959
975
  return createNode("Toast", {
960
976
  content: label,
961
977
  ...attrsToObject(attrs)
962
978
  });
963
979
  }
964
- function peg$f45(attrs) {
980
+ function peg$f47(attrs) {
965
981
  return createNode("Progress", {
966
982
  ...attrsToObject(attrs)
967
983
  });
968
984
  }
969
- function peg$f46(label, attrs) {
985
+ function peg$f48(label, attrs) {
970
986
  return createNode("Spinner", {
971
987
  label: label || null,
972
988
  ...attrsToObject(attrs)
973
989
  });
974
990
  }
975
- function peg$f47(label, attrs) {
991
+ function peg$f49(label, attrs) {
976
992
  return createNode("Tooltip", {
977
993
  content: label,
978
994
  ...attrsToObject(attrs),
979
995
  children: []
980
996
  });
981
997
  }
982
- function peg$f48(label, attrs, children) {
998
+ function peg$f50(label, attrs, children) {
983
999
  return createNode("Popover", {
984
1000
  title: label || null,
985
1001
  ...attrsToObject(attrs),
986
1002
  children
987
1003
  });
988
1004
  }
989
- function peg$f49(items, attrs) {
1005
+ function peg$f51(items, attrs) {
990
1006
  const processedItems = items.map((item) => {
991
1007
  if (typeof item === "string") {
992
1008
  if (item === "---" || item === "-" || item === "divider") {
@@ -1001,41 +1017,41 @@ function peg$parse(input, options) {
1001
1017
  items: processedItems
1002
1018
  });
1003
1019
  }
1004
- function peg$f50(attrs, items) {
1020
+ function peg$f52(attrs, items) {
1005
1021
  return createNode("Dropdown", {
1006
1022
  ...attrsToObject(attrs),
1007
1023
  items
1008
1024
  });
1009
1025
  }
1010
- function peg$f51(items) {
1026
+ function peg$f53(items) {
1011
1027
  return items.map((i) => i[0]).filter((i) => i !== null);
1012
1028
  }
1013
- function peg$f52(label, attrs) {
1029
+ function peg$f54(label, attrs) {
1014
1030
  return { label, ...attrsToObject(attrs) };
1015
1031
  }
1016
- function peg$f53() {
1032
+ function peg$f55() {
1017
1033
  return { type: "divider" };
1018
1034
  }
1019
- function peg$f54() {
1035
+ function peg$f56() {
1020
1036
  return null;
1021
1037
  }
1022
- function peg$f55(items, attrs, block) {
1038
+ function peg$f57(items, attrs, block) {
1023
1039
  return createNode("Nav", {
1024
1040
  items: items || [],
1025
1041
  ...attrsToObject(attrs),
1026
1042
  children: block || []
1027
1043
  });
1028
1044
  }
1029
- function peg$f56(content) {
1045
+ function peg$f58(content) {
1030
1046
  return content.map((c) => c[0]).filter((c) => c !== null);
1031
1047
  }
1032
- function peg$f57() {
1048
+ function peg$f59() {
1033
1049
  return { type: "divider" };
1034
1050
  }
1035
- function peg$f58() {
1051
+ function peg$f60() {
1036
1052
  return null;
1037
1053
  }
1038
- function peg$f59(label, attrs, items) {
1054
+ function peg$f61(label, attrs, items) {
1039
1055
  return {
1040
1056
  type: "group",
1041
1057
  label,
@@ -1043,122 +1059,122 @@ function peg$parse(input, options) {
1043
1059
  items: items.map((i) => i[0]).filter((i) => i !== null)
1044
1060
  };
1045
1061
  }
1046
- function peg$f60() {
1062
+ function peg$f62() {
1047
1063
  return { type: "divider" };
1048
1064
  }
1049
- function peg$f61() {
1065
+ function peg$f63() {
1050
1066
  return null;
1051
1067
  }
1052
- function peg$f62(label, attrs) {
1068
+ function peg$f64(label, attrs) {
1053
1069
  return {
1054
1070
  type: "item",
1055
1071
  label,
1056
1072
  ...attrsToObject(attrs)
1057
1073
  };
1058
1074
  }
1059
- function peg$f63(items, attrs, block) {
1075
+ function peg$f65(items, attrs, block) {
1060
1076
  return createNode("Tabs", {
1061
1077
  items: items || [],
1062
1078
  ...attrsToObject(attrs),
1063
1079
  children: block || []
1064
1080
  });
1065
1081
  }
1066
- function peg$f64(tabs) {
1082
+ function peg$f66(tabs) {
1067
1083
  return tabs.map((t) => t[0]).filter((t) => t !== null);
1068
1084
  }
1069
- function peg$f65(label, attrs, children) {
1085
+ function peg$f67(label, attrs, children) {
1070
1086
  return {
1071
1087
  label,
1072
1088
  ...attrsToObject(attrs),
1073
1089
  children
1074
1090
  };
1075
1091
  }
1076
- function peg$f66() {
1092
+ function peg$f68() {
1077
1093
  return null;
1078
1094
  }
1079
- function peg$f67(items, attrs) {
1095
+ function peg$f69(items, attrs) {
1080
1096
  return createNode("Breadcrumb", {
1081
1097
  items,
1082
1098
  ...attrsToObject(attrs)
1083
1099
  });
1084
1100
  }
1085
- function peg$f68(attrs) {
1101
+ function peg$f70(attrs) {
1086
1102
  return createNode("Divider", {
1087
1103
  ...attrsToObject(attrs)
1088
1104
  });
1089
1105
  }
1090
- function peg$f69(attrs) {
1106
+ function peg$f71(attrs) {
1091
1107
  return attrs;
1092
1108
  }
1093
- function peg$f70(name, value) {
1109
+ function peg$f72(name, value) {
1094
1110
  return { name, value };
1095
1111
  }
1096
- function peg$f71(flag) {
1112
+ function peg$f73(flag) {
1097
1113
  return { name: flag, value: true };
1098
1114
  }
1099
- function peg$f72(name) {
1115
+ function peg$f74(name) {
1100
1116
  return name;
1101
1117
  }
1102
- function peg$f73(chars) {
1118
+ function peg$f75(chars) {
1103
1119
  return chars.join("");
1104
1120
  }
1105
- function peg$f74(chars) {
1121
+ function peg$f76(chars) {
1106
1122
  return chars.join("");
1107
1123
  }
1108
- function peg$f75(char) {
1124
+ function peg$f77(char) {
1109
1125
  return char;
1110
1126
  }
1111
- function peg$f76(seq) {
1127
+ function peg$f78(seq) {
1112
1128
  return seq;
1113
1129
  }
1114
- function peg$f77(char) {
1130
+ function peg$f79(char) {
1115
1131
  return char;
1116
1132
  }
1117
- function peg$f78(seq) {
1133
+ function peg$f80(seq) {
1118
1134
  return seq;
1119
1135
  }
1120
- function peg$f79() {
1136
+ function peg$f81() {
1121
1137
  return "\n";
1122
1138
  }
1123
- function peg$f80() {
1139
+ function peg$f82() {
1124
1140
  return "\r";
1125
1141
  }
1126
- function peg$f81() {
1142
+ function peg$f83() {
1127
1143
  return " ";
1128
1144
  }
1129
- function peg$f82() {
1145
+ function peg$f84() {
1130
1146
  return "\\";
1131
1147
  }
1132
- function peg$f83() {
1148
+ function peg$f85() {
1133
1149
  return '"';
1134
1150
  }
1135
- function peg$f84() {
1151
+ function peg$f86() {
1136
1152
  return "'";
1137
1153
  }
1138
- function peg$f85(sign, digits, decimal) {
1154
+ function peg$f87(sign, digits, decimal) {
1139
1155
  const num = (sign || "") + digits.join("") + (decimal ? "." + decimal[1].join("") : "");
1140
1156
  return parseFloat(num);
1141
1157
  }
1142
- function peg$f86(sign, digits, decimal, unit) {
1158
+ function peg$f88(sign, digits, decimal, unit) {
1143
1159
  const num = (sign || "") + digits.join("") + (decimal ? "." + decimal[1].join("") : "");
1144
1160
  return { value: parseFloat(num), unit };
1145
1161
  }
1146
- function peg$f87() {
1162
+ function peg$f89() {
1147
1163
  return true;
1148
1164
  }
1149
- function peg$f88() {
1165
+ function peg$f90() {
1150
1166
  return false;
1151
1167
  }
1152
- function peg$f89(head, tail) {
1168
+ function peg$f91(head, tail) {
1153
1169
  return head + tail.join("");
1154
1170
  }
1155
- function peg$f90(items) {
1171
+ function peg$f92(items) {
1156
1172
  return items || [];
1157
1173
  }
1158
- function peg$f91(head, tail) {
1174
+ function peg$f93(head, tail) {
1159
1175
  return [head, ...tail.map((t) => t[3])];
1160
1176
  }
1161
- function peg$f92(props) {
1177
+ function peg$f94(props) {
1162
1178
  const result = {};
1163
1179
  if (props) {
1164
1180
  for (const p of props) {
@@ -1167,13 +1183,13 @@ function peg$parse(input, options) {
1167
1183
  }
1168
1184
  return result;
1169
1185
  }
1170
- function peg$f93(head, tail) {
1186
+ function peg$f95(head, tail) {
1171
1187
  return [head, ...tail.map((t) => t[3])];
1172
1188
  }
1173
- function peg$f94(name, value) {
1189
+ function peg$f96(name, value) {
1174
1190
  return { name, value };
1175
1191
  }
1176
- function peg$f95(name) {
1192
+ function peg$f97(name) {
1177
1193
  return { name, value: true };
1178
1194
  }
1179
1195
  let peg$currPos = options.peg$currPos | 0;
@@ -1470,6 +1486,12 @@ function peg$parse(input, options) {
1470
1486
  s0 = peg$parseRow();
1471
1487
  if (s0 === peg$FAILED) {
1472
1488
  s0 = peg$parseCol();
1489
+ if (s0 === peg$FAILED) {
1490
+ s0 = peg$parseStack();
1491
+ if (s0 === peg$FAILED) {
1492
+ s0 = peg$parseRelative();
1493
+ }
1494
+ }
1473
1495
  }
1474
1496
  }
1475
1497
  }
@@ -1855,6 +1877,132 @@ function peg$parse(input, options) {
1855
1877
  }
1856
1878
  return s0;
1857
1879
  }
1880
+ function peg$parseStack() {
1881
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
1882
+ s0 = peg$currPos;
1883
+ if (input.substr(peg$currPos, 5) === peg$c9) {
1884
+ s1 = peg$c9;
1885
+ peg$currPos += 5;
1886
+ } else {
1887
+ s1 = peg$FAILED;
1888
+ if (peg$silentFails === 0) {
1889
+ peg$fail(peg$e9);
1890
+ }
1891
+ }
1892
+ if (s1 !== peg$FAILED) {
1893
+ s2 = peg$parse_();
1894
+ s3 = peg$parseAttributes();
1895
+ if (s3 === peg$FAILED) {
1896
+ s3 = null;
1897
+ }
1898
+ s4 = peg$parse_();
1899
+ if (input.charCodeAt(peg$currPos) === 123) {
1900
+ s5 = peg$c1;
1901
+ peg$currPos++;
1902
+ } else {
1903
+ s5 = peg$FAILED;
1904
+ if (peg$silentFails === 0) {
1905
+ peg$fail(peg$e1);
1906
+ }
1907
+ }
1908
+ if (s5 !== peg$FAILED) {
1909
+ s6 = peg$parse_();
1910
+ s7 = peg$parseChildren();
1911
+ if (s7 !== peg$FAILED) {
1912
+ s8 = peg$parse_();
1913
+ if (input.charCodeAt(peg$currPos) === 125) {
1914
+ s9 = peg$c2;
1915
+ peg$currPos++;
1916
+ } else {
1917
+ s9 = peg$FAILED;
1918
+ if (peg$silentFails === 0) {
1919
+ peg$fail(peg$e2);
1920
+ }
1921
+ }
1922
+ if (s9 !== peg$FAILED) {
1923
+ peg$savedPos = s0;
1924
+ s0 = peg$f11(s3, s7);
1925
+ } else {
1926
+ peg$currPos = s0;
1927
+ s0 = peg$FAILED;
1928
+ }
1929
+ } else {
1930
+ peg$currPos = s0;
1931
+ s0 = peg$FAILED;
1932
+ }
1933
+ } else {
1934
+ peg$currPos = s0;
1935
+ s0 = peg$FAILED;
1936
+ }
1937
+ } else {
1938
+ peg$currPos = s0;
1939
+ s0 = peg$FAILED;
1940
+ }
1941
+ return s0;
1942
+ }
1943
+ function peg$parseRelative() {
1944
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
1945
+ s0 = peg$currPos;
1946
+ if (input.substr(peg$currPos, 8) === peg$c10) {
1947
+ s1 = peg$c10;
1948
+ peg$currPos += 8;
1949
+ } else {
1950
+ s1 = peg$FAILED;
1951
+ if (peg$silentFails === 0) {
1952
+ peg$fail(peg$e10);
1953
+ }
1954
+ }
1955
+ if (s1 !== peg$FAILED) {
1956
+ s2 = peg$parse_();
1957
+ s3 = peg$parseAttributes();
1958
+ if (s3 === peg$FAILED) {
1959
+ s3 = null;
1960
+ }
1961
+ s4 = peg$parse_();
1962
+ if (input.charCodeAt(peg$currPos) === 123) {
1963
+ s5 = peg$c1;
1964
+ peg$currPos++;
1965
+ } else {
1966
+ s5 = peg$FAILED;
1967
+ if (peg$silentFails === 0) {
1968
+ peg$fail(peg$e1);
1969
+ }
1970
+ }
1971
+ if (s5 !== peg$FAILED) {
1972
+ s6 = peg$parse_();
1973
+ s7 = peg$parseChildren();
1974
+ if (s7 !== peg$FAILED) {
1975
+ s8 = peg$parse_();
1976
+ if (input.charCodeAt(peg$currPos) === 125) {
1977
+ s9 = peg$c2;
1978
+ peg$currPos++;
1979
+ } else {
1980
+ s9 = peg$FAILED;
1981
+ if (peg$silentFails === 0) {
1982
+ peg$fail(peg$e2);
1983
+ }
1984
+ }
1985
+ if (s9 !== peg$FAILED) {
1986
+ peg$savedPos = s0;
1987
+ s0 = peg$f12(s3, s7);
1988
+ } else {
1989
+ peg$currPos = s0;
1990
+ s0 = peg$FAILED;
1991
+ }
1992
+ } else {
1993
+ peg$currPos = s0;
1994
+ s0 = peg$FAILED;
1995
+ }
1996
+ } else {
1997
+ peg$currPos = s0;
1998
+ s0 = peg$FAILED;
1999
+ }
2000
+ } else {
2001
+ peg$currPos = s0;
2002
+ s0 = peg$FAILED;
2003
+ }
2004
+ return s0;
2005
+ }
1858
2006
  function peg$parseContainerElement() {
1859
2007
  let s0;
1860
2008
  s0 = peg$parseCard();
@@ -1875,13 +2023,13 @@ function peg$parse(input, options) {
1875
2023
  function peg$parseCard() {
1876
2024
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
1877
2025
  s0 = peg$currPos;
1878
- if (input.substr(peg$currPos, 4) === peg$c9) {
1879
- s1 = peg$c9;
2026
+ if (input.substr(peg$currPos, 4) === peg$c11) {
2027
+ s1 = peg$c11;
1880
2028
  peg$currPos += 4;
1881
2029
  } else {
1882
2030
  s1 = peg$FAILED;
1883
2031
  if (peg$silentFails === 0) {
1884
- peg$fail(peg$e9);
2032
+ peg$fail(peg$e11);
1885
2033
  }
1886
2034
  }
1887
2035
  if (s1 !== peg$FAILED) {
@@ -1921,7 +2069,7 @@ function peg$parse(input, options) {
1921
2069
  }
1922
2070
  if (s11 !== peg$FAILED) {
1923
2071
  peg$savedPos = s0;
1924
- s0 = peg$f11(s3, s5, s9);
2072
+ s0 = peg$f13(s3, s5, s9);
1925
2073
  } else {
1926
2074
  peg$currPos = s0;
1927
2075
  s0 = peg$FAILED;
@@ -1943,13 +2091,13 @@ function peg$parse(input, options) {
1943
2091
  function peg$parseModal() {
1944
2092
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
1945
2093
  s0 = peg$currPos;
1946
- if (input.substr(peg$currPos, 5) === peg$c10) {
1947
- s1 = peg$c10;
2094
+ if (input.substr(peg$currPos, 5) === peg$c12) {
2095
+ s1 = peg$c12;
1948
2096
  peg$currPos += 5;
1949
2097
  } else {
1950
2098
  s1 = peg$FAILED;
1951
2099
  if (peg$silentFails === 0) {
1952
- peg$fail(peg$e10);
2100
+ peg$fail(peg$e12);
1953
2101
  }
1954
2102
  }
1955
2103
  if (s1 !== peg$FAILED) {
@@ -1989,7 +2137,7 @@ function peg$parse(input, options) {
1989
2137
  }
1990
2138
  if (s11 !== peg$FAILED) {
1991
2139
  peg$savedPos = s0;
1992
- s0 = peg$f12(s3, s5, s9);
2140
+ s0 = peg$f14(s3, s5, s9);
1993
2141
  } else {
1994
2142
  peg$currPos = s0;
1995
2143
  s0 = peg$FAILED;
@@ -2011,13 +2159,13 @@ function peg$parse(input, options) {
2011
2159
  function peg$parseDrawer() {
2012
2160
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
2013
2161
  s0 = peg$currPos;
2014
- if (input.substr(peg$currPos, 6) === peg$c11) {
2015
- s1 = peg$c11;
2162
+ if (input.substr(peg$currPos, 6) === peg$c13) {
2163
+ s1 = peg$c13;
2016
2164
  peg$currPos += 6;
2017
2165
  } else {
2018
2166
  s1 = peg$FAILED;
2019
2167
  if (peg$silentFails === 0) {
2020
- peg$fail(peg$e11);
2168
+ peg$fail(peg$e13);
2021
2169
  }
2022
2170
  }
2023
2171
  if (s1 !== peg$FAILED) {
@@ -2057,7 +2205,7 @@ function peg$parse(input, options) {
2057
2205
  }
2058
2206
  if (s11 !== peg$FAILED) {
2059
2207
  peg$savedPos = s0;
2060
- s0 = peg$f13(s3, s5, s9);
2208
+ s0 = peg$f15(s3, s5, s9);
2061
2209
  } else {
2062
2210
  peg$currPos = s0;
2063
2211
  s0 = peg$FAILED;
@@ -2079,13 +2227,13 @@ function peg$parse(input, options) {
2079
2227
  function peg$parseAccordion() {
2080
2228
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
2081
2229
  s0 = peg$currPos;
2082
- if (input.substr(peg$currPos, 9) === peg$c12) {
2083
- s1 = peg$c12;
2230
+ if (input.substr(peg$currPos, 9) === peg$c14) {
2231
+ s1 = peg$c14;
2084
2232
  peg$currPos += 9;
2085
2233
  } else {
2086
2234
  s1 = peg$FAILED;
2087
2235
  if (peg$silentFails === 0) {
2088
- peg$fail(peg$e12);
2236
+ peg$fail(peg$e14);
2089
2237
  }
2090
2238
  }
2091
2239
  if (s1 !== peg$FAILED) {
@@ -2125,7 +2273,7 @@ function peg$parse(input, options) {
2125
2273
  }
2126
2274
  if (s11 !== peg$FAILED) {
2127
2275
  peg$savedPos = s0;
2128
- s0 = peg$f14(s3, s5, s9);
2276
+ s0 = peg$f16(s3, s5, s9);
2129
2277
  } else {
2130
2278
  peg$currPos = s0;
2131
2279
  s0 = peg$FAILED;
@@ -2147,13 +2295,13 @@ function peg$parse(input, options) {
2147
2295
  function peg$parseSection() {
2148
2296
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
2149
2297
  s0 = peg$currPos;
2150
- if (input.substr(peg$currPos, 7) === peg$c13) {
2151
- s1 = peg$c13;
2298
+ if (input.substr(peg$currPos, 7) === peg$c15) {
2299
+ s1 = peg$c15;
2152
2300
  peg$currPos += 7;
2153
2301
  } else {
2154
2302
  s1 = peg$FAILED;
2155
2303
  if (peg$silentFails === 0) {
2156
- peg$fail(peg$e13);
2304
+ peg$fail(peg$e15);
2157
2305
  }
2158
2306
  }
2159
2307
  if (s1 !== peg$FAILED) {
@@ -2193,7 +2341,7 @@ function peg$parse(input, options) {
2193
2341
  }
2194
2342
  if (s11 !== peg$FAILED) {
2195
2343
  peg$savedPos = s0;
2196
- s0 = peg$f15(s3, s5, s9);
2344
+ s0 = peg$f17(s3, s5, s9);
2197
2345
  } else {
2198
2346
  peg$currPos = s0;
2199
2347
  s0 = peg$FAILED;
@@ -2304,13 +2452,13 @@ function peg$parse(input, options) {
2304
2452
  function peg$parseText() {
2305
2453
  let s0, s1, s2, s3, s4, s5;
2306
2454
  s0 = peg$currPos;
2307
- if (input.substr(peg$currPos, 4) === peg$c14) {
2308
- s1 = peg$c14;
2455
+ if (input.substr(peg$currPos, 4) === peg$c16) {
2456
+ s1 = peg$c16;
2309
2457
  peg$currPos += 4;
2310
2458
  } else {
2311
2459
  s1 = peg$FAILED;
2312
2460
  if (peg$silentFails === 0) {
2313
- peg$fail(peg$e14);
2461
+ peg$fail(peg$e16);
2314
2462
  }
2315
2463
  }
2316
2464
  if (s1 !== peg$FAILED) {
@@ -2323,7 +2471,7 @@ function peg$parse(input, options) {
2323
2471
  s5 = null;
2324
2472
  }
2325
2473
  peg$savedPos = s0;
2326
- s0 = peg$f16(s3, s5);
2474
+ s0 = peg$f18(s3, s5);
2327
2475
  } else {
2328
2476
  peg$currPos = s0;
2329
2477
  s0 = peg$FAILED;
@@ -2337,13 +2485,13 @@ function peg$parse(input, options) {
2337
2485
  function peg$parseTitle() {
2338
2486
  let s0, s1, s2, s3, s4, s5;
2339
2487
  s0 = peg$currPos;
2340
- if (input.substr(peg$currPos, 5) === peg$c15) {
2341
- s1 = peg$c15;
2488
+ if (input.substr(peg$currPos, 5) === peg$c17) {
2489
+ s1 = peg$c17;
2342
2490
  peg$currPos += 5;
2343
2491
  } else {
2344
2492
  s1 = peg$FAILED;
2345
2493
  if (peg$silentFails === 0) {
2346
- peg$fail(peg$e15);
2494
+ peg$fail(peg$e17);
2347
2495
  }
2348
2496
  }
2349
2497
  if (s1 !== peg$FAILED) {
@@ -2356,7 +2504,7 @@ function peg$parse(input, options) {
2356
2504
  s5 = null;
2357
2505
  }
2358
2506
  peg$savedPos = s0;
2359
- s0 = peg$f17(s3, s5);
2507
+ s0 = peg$f19(s3, s5);
2360
2508
  } else {
2361
2509
  peg$currPos = s0;
2362
2510
  s0 = peg$FAILED;
@@ -2370,13 +2518,13 @@ function peg$parse(input, options) {
2370
2518
  function peg$parseLink() {
2371
2519
  let s0, s1, s2, s3, s4, s5;
2372
2520
  s0 = peg$currPos;
2373
- if (input.substr(peg$currPos, 4) === peg$c16) {
2374
- s1 = peg$c16;
2521
+ if (input.substr(peg$currPos, 4) === peg$c18) {
2522
+ s1 = peg$c18;
2375
2523
  peg$currPos += 4;
2376
2524
  } else {
2377
2525
  s1 = peg$FAILED;
2378
2526
  if (peg$silentFails === 0) {
2379
- peg$fail(peg$e16);
2527
+ peg$fail(peg$e18);
2380
2528
  }
2381
2529
  }
2382
2530
  if (s1 !== peg$FAILED) {
@@ -2389,7 +2537,7 @@ function peg$parse(input, options) {
2389
2537
  s5 = null;
2390
2538
  }
2391
2539
  peg$savedPos = s0;
2392
- s0 = peg$f18(s3, s5);
2540
+ s0 = peg$f20(s3, s5);
2393
2541
  } else {
2394
2542
  peg$currPos = s0;
2395
2543
  s0 = peg$FAILED;
@@ -2403,13 +2551,13 @@ function peg$parse(input, options) {
2403
2551
  function peg$parseButton() {
2404
2552
  let s0, s1, s2, s3, s4, s5;
2405
2553
  s0 = peg$currPos;
2406
- if (input.substr(peg$currPos, 6) === peg$c17) {
2407
- s1 = peg$c17;
2554
+ if (input.substr(peg$currPos, 6) === peg$c19) {
2555
+ s1 = peg$c19;
2408
2556
  peg$currPos += 6;
2409
2557
  } else {
2410
2558
  s1 = peg$FAILED;
2411
2559
  if (peg$silentFails === 0) {
2412
- peg$fail(peg$e17);
2560
+ peg$fail(peg$e19);
2413
2561
  }
2414
2562
  }
2415
2563
  if (s1 !== peg$FAILED) {
@@ -2422,7 +2570,7 @@ function peg$parse(input, options) {
2422
2570
  s5 = null;
2423
2571
  }
2424
2572
  peg$savedPos = s0;
2425
- s0 = peg$f19(s3, s5);
2573
+ s0 = peg$f21(s3, s5);
2426
2574
  } else {
2427
2575
  peg$currPos = s0;
2428
2576
  s0 = peg$FAILED;
@@ -2436,13 +2584,13 @@ function peg$parse(input, options) {
2436
2584
  function peg$parseInput() {
2437
2585
  let s0, s1, s2, s3, s4, s5;
2438
2586
  s0 = peg$currPos;
2439
- if (input.substr(peg$currPos, 5) === peg$c18) {
2440
- s1 = peg$c18;
2587
+ if (input.substr(peg$currPos, 5) === peg$c20) {
2588
+ s1 = peg$c20;
2441
2589
  peg$currPos += 5;
2442
2590
  } else {
2443
2591
  s1 = peg$FAILED;
2444
2592
  if (peg$silentFails === 0) {
2445
- peg$fail(peg$e18);
2593
+ peg$fail(peg$e20);
2446
2594
  }
2447
2595
  }
2448
2596
  if (s1 !== peg$FAILED) {
@@ -2457,7 +2605,7 @@ function peg$parse(input, options) {
2457
2605
  s5 = null;
2458
2606
  }
2459
2607
  peg$savedPos = s0;
2460
- s0 = peg$f20(s3, s5);
2608
+ s0 = peg$f22(s3, s5);
2461
2609
  } else {
2462
2610
  peg$currPos = s0;
2463
2611
  s0 = peg$FAILED;
@@ -2467,13 +2615,13 @@ function peg$parse(input, options) {
2467
2615
  function peg$parseTextarea() {
2468
2616
  let s0, s1, s2, s3, s4, s5;
2469
2617
  s0 = peg$currPos;
2470
- if (input.substr(peg$currPos, 8) === peg$c19) {
2471
- s1 = peg$c19;
2618
+ if (input.substr(peg$currPos, 8) === peg$c21) {
2619
+ s1 = peg$c21;
2472
2620
  peg$currPos += 8;
2473
2621
  } else {
2474
2622
  s1 = peg$FAILED;
2475
2623
  if (peg$silentFails === 0) {
2476
- peg$fail(peg$e19);
2624
+ peg$fail(peg$e21);
2477
2625
  }
2478
2626
  }
2479
2627
  if (s1 !== peg$FAILED) {
@@ -2488,7 +2636,7 @@ function peg$parse(input, options) {
2488
2636
  s5 = null;
2489
2637
  }
2490
2638
  peg$savedPos = s0;
2491
- s0 = peg$f21(s3, s5);
2639
+ s0 = peg$f23(s3, s5);
2492
2640
  } else {
2493
2641
  peg$currPos = s0;
2494
2642
  s0 = peg$FAILED;
@@ -2498,13 +2646,13 @@ function peg$parse(input, options) {
2498
2646
  function peg$parseSelect() {
2499
2647
  let s0, s1, s2, s3, s4, s5, s6, s7;
2500
2648
  s0 = peg$currPos;
2501
- if (input.substr(peg$currPos, 6) === peg$c20) {
2502
- s1 = peg$c20;
2649
+ if (input.substr(peg$currPos, 6) === peg$c22) {
2650
+ s1 = peg$c22;
2503
2651
  peg$currPos += 6;
2504
2652
  } else {
2505
2653
  s1 = peg$FAILED;
2506
2654
  if (peg$silentFails === 0) {
2507
- peg$fail(peg$e20);
2655
+ peg$fail(peg$e22);
2508
2656
  }
2509
2657
  }
2510
2658
  if (s1 !== peg$FAILED) {
@@ -2524,7 +2672,7 @@ function peg$parse(input, options) {
2524
2672
  s7 = null;
2525
2673
  }
2526
2674
  peg$savedPos = s0;
2527
- s0 = peg$f22(s3, s5, s7);
2675
+ s0 = peg$f24(s3, s5, s7);
2528
2676
  } else {
2529
2677
  peg$currPos = s0;
2530
2678
  s0 = peg$FAILED;
@@ -2534,13 +2682,13 @@ function peg$parse(input, options) {
2534
2682
  function peg$parseCheckbox() {
2535
2683
  let s0, s1, s2, s3, s4, s5;
2536
2684
  s0 = peg$currPos;
2537
- if (input.substr(peg$currPos, 8) === peg$c21) {
2538
- s1 = peg$c21;
2685
+ if (input.substr(peg$currPos, 8) === peg$c23) {
2686
+ s1 = peg$c23;
2539
2687
  peg$currPos += 8;
2540
2688
  } else {
2541
2689
  s1 = peg$FAILED;
2542
2690
  if (peg$silentFails === 0) {
2543
- peg$fail(peg$e21);
2691
+ peg$fail(peg$e23);
2544
2692
  }
2545
2693
  }
2546
2694
  if (s1 !== peg$FAILED) {
@@ -2555,7 +2703,7 @@ function peg$parse(input, options) {
2555
2703
  s5 = null;
2556
2704
  }
2557
2705
  peg$savedPos = s0;
2558
- s0 = peg$f23(s3, s5);
2706
+ s0 = peg$f25(s3, s5);
2559
2707
  } else {
2560
2708
  peg$currPos = s0;
2561
2709
  s0 = peg$FAILED;
@@ -2565,13 +2713,13 @@ function peg$parse(input, options) {
2565
2713
  function peg$parseRadio() {
2566
2714
  let s0, s1, s2, s3, s4, s5;
2567
2715
  s0 = peg$currPos;
2568
- if (input.substr(peg$currPos, 5) === peg$c22) {
2569
- s1 = peg$c22;
2716
+ if (input.substr(peg$currPos, 5) === peg$c24) {
2717
+ s1 = peg$c24;
2570
2718
  peg$currPos += 5;
2571
2719
  } else {
2572
2720
  s1 = peg$FAILED;
2573
2721
  if (peg$silentFails === 0) {
2574
- peg$fail(peg$e22);
2722
+ peg$fail(peg$e24);
2575
2723
  }
2576
2724
  }
2577
2725
  if (s1 !== peg$FAILED) {
@@ -2586,7 +2734,7 @@ function peg$parse(input, options) {
2586
2734
  s5 = null;
2587
2735
  }
2588
2736
  peg$savedPos = s0;
2589
- s0 = peg$f24(s3, s5);
2737
+ s0 = peg$f26(s3, s5);
2590
2738
  } else {
2591
2739
  peg$currPos = s0;
2592
2740
  s0 = peg$FAILED;
@@ -2596,13 +2744,13 @@ function peg$parse(input, options) {
2596
2744
  function peg$parseSwitch() {
2597
2745
  let s0, s1, s2, s3, s4, s5;
2598
2746
  s0 = peg$currPos;
2599
- if (input.substr(peg$currPos, 6) === peg$c23) {
2600
- s1 = peg$c23;
2747
+ if (input.substr(peg$currPos, 6) === peg$c25) {
2748
+ s1 = peg$c25;
2601
2749
  peg$currPos += 6;
2602
2750
  } else {
2603
2751
  s1 = peg$FAILED;
2604
2752
  if (peg$silentFails === 0) {
2605
- peg$fail(peg$e23);
2753
+ peg$fail(peg$e25);
2606
2754
  }
2607
2755
  }
2608
2756
  if (s1 !== peg$FAILED) {
@@ -2617,7 +2765,7 @@ function peg$parse(input, options) {
2617
2765
  s5 = null;
2618
2766
  }
2619
2767
  peg$savedPos = s0;
2620
- s0 = peg$f25(s3, s5);
2768
+ s0 = peg$f27(s3, s5);
2621
2769
  } else {
2622
2770
  peg$currPos = s0;
2623
2771
  s0 = peg$FAILED;
@@ -2627,13 +2775,13 @@ function peg$parse(input, options) {
2627
2775
  function peg$parseSlider() {
2628
2776
  let s0, s1, s2, s3, s4, s5;
2629
2777
  s0 = peg$currPos;
2630
- if (input.substr(peg$currPos, 6) === peg$c24) {
2631
- s1 = peg$c24;
2778
+ if (input.substr(peg$currPos, 6) === peg$c26) {
2779
+ s1 = peg$c26;
2632
2780
  peg$currPos += 6;
2633
2781
  } else {
2634
2782
  s1 = peg$FAILED;
2635
2783
  if (peg$silentFails === 0) {
2636
- peg$fail(peg$e24);
2784
+ peg$fail(peg$e26);
2637
2785
  }
2638
2786
  }
2639
2787
  if (s1 !== peg$FAILED) {
@@ -2648,7 +2796,7 @@ function peg$parse(input, options) {
2648
2796
  s5 = null;
2649
2797
  }
2650
2798
  peg$savedPos = s0;
2651
- s0 = peg$f26(s3, s5);
2799
+ s0 = peg$f28(s3, s5);
2652
2800
  } else {
2653
2801
  peg$currPos = s0;
2654
2802
  s0 = peg$FAILED;
@@ -2658,13 +2806,13 @@ function peg$parse(input, options) {
2658
2806
  function peg$parseImage() {
2659
2807
  let s0, s1, s2, s3, s4, s5;
2660
2808
  s0 = peg$currPos;
2661
- if (input.substr(peg$currPos, 5) === peg$c25) {
2662
- s1 = peg$c25;
2809
+ if (input.substr(peg$currPos, 5) === peg$c27) {
2810
+ s1 = peg$c27;
2663
2811
  peg$currPos += 5;
2664
2812
  } else {
2665
2813
  s1 = peg$FAILED;
2666
2814
  if (peg$silentFails === 0) {
2667
- peg$fail(peg$e25);
2815
+ peg$fail(peg$e27);
2668
2816
  }
2669
2817
  }
2670
2818
  if (s1 !== peg$FAILED) {
@@ -2679,7 +2827,7 @@ function peg$parse(input, options) {
2679
2827
  s5 = null;
2680
2828
  }
2681
2829
  peg$savedPos = s0;
2682
- s0 = peg$f27(s3, s5);
2830
+ s0 = peg$f29(s3, s5);
2683
2831
  } else {
2684
2832
  peg$currPos = s0;
2685
2833
  s0 = peg$FAILED;
@@ -2689,13 +2837,13 @@ function peg$parse(input, options) {
2689
2837
  function peg$parsePlaceholder() {
2690
2838
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
2691
2839
  s0 = peg$currPos;
2692
- if (input.substr(peg$currPos, 11) === peg$c26) {
2693
- s1 = peg$c26;
2840
+ if (input.substr(peg$currPos, 11) === peg$c28) {
2841
+ s1 = peg$c28;
2694
2842
  peg$currPos += 11;
2695
2843
  } else {
2696
2844
  s1 = peg$FAILED;
2697
2845
  if (peg$silentFails === 0) {
2698
- peg$fail(peg$e26);
2846
+ peg$fail(peg$e28);
2699
2847
  }
2700
2848
  }
2701
2849
  if (s1 !== peg$FAILED) {
@@ -2753,7 +2901,7 @@ function peg$parse(input, options) {
2753
2901
  s7 = null;
2754
2902
  }
2755
2903
  peg$savedPos = s0;
2756
- s0 = peg$f28(s3, s5, s7);
2904
+ s0 = peg$f30(s3, s5, s7);
2757
2905
  } else {
2758
2906
  peg$currPos = s0;
2759
2907
  s0 = peg$FAILED;
@@ -2763,13 +2911,13 @@ function peg$parse(input, options) {
2763
2911
  function peg$parseAvatar() {
2764
2912
  let s0, s1, s2, s3, s4, s5;
2765
2913
  s0 = peg$currPos;
2766
- if (input.substr(peg$currPos, 6) === peg$c27) {
2767
- s1 = peg$c27;
2914
+ if (input.substr(peg$currPos, 6) === peg$c29) {
2915
+ s1 = peg$c29;
2768
2916
  peg$currPos += 6;
2769
2917
  } else {
2770
2918
  s1 = peg$FAILED;
2771
2919
  if (peg$silentFails === 0) {
2772
- peg$fail(peg$e27);
2920
+ peg$fail(peg$e29);
2773
2921
  }
2774
2922
  }
2775
2923
  if (s1 !== peg$FAILED) {
@@ -2784,7 +2932,7 @@ function peg$parse(input, options) {
2784
2932
  s5 = null;
2785
2933
  }
2786
2934
  peg$savedPos = s0;
2787
- s0 = peg$f29(s3, s5);
2935
+ s0 = peg$f31(s3, s5);
2788
2936
  } else {
2789
2937
  peg$currPos = s0;
2790
2938
  s0 = peg$FAILED;
@@ -2794,13 +2942,13 @@ function peg$parse(input, options) {
2794
2942
  function peg$parseBadge() {
2795
2943
  let s0, s1, s2, s3, s4, s5;
2796
2944
  s0 = peg$currPos;
2797
- if (input.substr(peg$currPos, 5) === peg$c28) {
2798
- s1 = peg$c28;
2945
+ if (input.substr(peg$currPos, 5) === peg$c30) {
2946
+ s1 = peg$c30;
2799
2947
  peg$currPos += 5;
2800
2948
  } else {
2801
2949
  s1 = peg$FAILED;
2802
2950
  if (peg$silentFails === 0) {
2803
- peg$fail(peg$e28);
2951
+ peg$fail(peg$e30);
2804
2952
  }
2805
2953
  }
2806
2954
  if (s1 !== peg$FAILED) {
@@ -2813,7 +2961,7 @@ function peg$parse(input, options) {
2813
2961
  s5 = null;
2814
2962
  }
2815
2963
  peg$savedPos = s0;
2816
- s0 = peg$f30(s3, s5);
2964
+ s0 = peg$f32(s3, s5);
2817
2965
  } else {
2818
2966
  peg$currPos = s0;
2819
2967
  s0 = peg$FAILED;
@@ -2827,13 +2975,13 @@ function peg$parse(input, options) {
2827
2975
  function peg$parseIcon() {
2828
2976
  let s0, s1, s2, s3, s4, s5;
2829
2977
  s0 = peg$currPos;
2830
- if (input.substr(peg$currPos, 4) === peg$c29) {
2831
- s1 = peg$c29;
2978
+ if (input.substr(peg$currPos, 4) === peg$c31) {
2979
+ s1 = peg$c31;
2832
2980
  peg$currPos += 4;
2833
2981
  } else {
2834
2982
  s1 = peg$FAILED;
2835
2983
  if (peg$silentFails === 0) {
2836
- peg$fail(peg$e29);
2984
+ peg$fail(peg$e31);
2837
2985
  }
2838
2986
  }
2839
2987
  if (s1 !== peg$FAILED) {
@@ -2846,7 +2994,7 @@ function peg$parse(input, options) {
2846
2994
  s5 = null;
2847
2995
  }
2848
2996
  peg$savedPos = s0;
2849
- s0 = peg$f31(s3, s5);
2997
+ s0 = peg$f33(s3, s5);
2850
2998
  } else {
2851
2999
  peg$currPos = s0;
2852
3000
  s0 = peg$FAILED;
@@ -2860,13 +3008,13 @@ function peg$parse(input, options) {
2860
3008
  function peg$parseTable() {
2861
3009
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2862
3010
  s0 = peg$currPos;
2863
- if (input.substr(peg$currPos, 5) === peg$c30) {
2864
- s1 = peg$c30;
3011
+ if (input.substr(peg$currPos, 5) === peg$c32) {
3012
+ s1 = peg$c32;
2865
3013
  peg$currPos += 5;
2866
3014
  } else {
2867
3015
  s1 = peg$FAILED;
2868
3016
  if (peg$silentFails === 0) {
2869
- peg$fail(peg$e30);
3017
+ peg$fail(peg$e32);
2870
3018
  }
2871
3019
  }
2872
3020
  if (s1 !== peg$FAILED) {
@@ -2879,7 +3027,7 @@ function peg$parse(input, options) {
2879
3027
  s5 = null;
2880
3028
  }
2881
3029
  peg$savedPos = s0;
2882
- s0 = peg$f32(s3, s5);
3030
+ s0 = peg$f34(s3, s5);
2883
3031
  } else {
2884
3032
  peg$currPos = s0;
2885
3033
  s0 = peg$FAILED;
@@ -2890,13 +3038,13 @@ function peg$parse(input, options) {
2890
3038
  }
2891
3039
  if (s0 === peg$FAILED) {
2892
3040
  s0 = peg$currPos;
2893
- if (input.substr(peg$currPos, 5) === peg$c30) {
2894
- s1 = peg$c30;
3041
+ if (input.substr(peg$currPos, 5) === peg$c32) {
3042
+ s1 = peg$c32;
2895
3043
  peg$currPos += 5;
2896
3044
  } else {
2897
3045
  s1 = peg$FAILED;
2898
3046
  if (peg$silentFails === 0) {
2899
- peg$fail(peg$e30);
3047
+ peg$fail(peg$e32);
2900
3048
  }
2901
3049
  }
2902
3050
  if (s1 !== peg$FAILED) {
@@ -2930,7 +3078,7 @@ function peg$parse(input, options) {
2930
3078
  }
2931
3079
  if (s9 !== peg$FAILED) {
2932
3080
  peg$savedPos = s0;
2933
- s0 = peg$f33(s3, s7);
3081
+ s0 = peg$f35(s3, s7);
2934
3082
  } else {
2935
3083
  peg$currPos = s0;
2936
3084
  s0 = peg$FAILED;
@@ -2950,12 +3098,12 @@ function peg$parse(input, options) {
2950
3098
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
2951
3099
  s0 = peg$currPos;
2952
3100
  if (input.charCodeAt(peg$currPos) === 91) {
2953
- s1 = peg$c31;
3101
+ s1 = peg$c33;
2954
3102
  peg$currPos++;
2955
3103
  } else {
2956
3104
  s1 = peg$FAILED;
2957
3105
  if (peg$silentFails === 0) {
2958
- peg$fail(peg$e31);
3106
+ peg$fail(peg$e33);
2959
3107
  }
2960
3108
  }
2961
3109
  if (s1 !== peg$FAILED) {
@@ -2966,12 +3114,12 @@ function peg$parse(input, options) {
2966
3114
  s5 = [];
2967
3115
  s6 = peg$currPos;
2968
3116
  if (input.charCodeAt(peg$currPos) === 44) {
2969
- s7 = peg$c32;
3117
+ s7 = peg$c34;
2970
3118
  peg$currPos++;
2971
3119
  } else {
2972
3120
  s7 = peg$FAILED;
2973
3121
  if (peg$silentFails === 0) {
2974
- peg$fail(peg$e32);
3122
+ peg$fail(peg$e34);
2975
3123
  }
2976
3124
  }
2977
3125
  if (s7 !== peg$FAILED) {
@@ -2993,12 +3141,12 @@ function peg$parse(input, options) {
2993
3141
  s5.push(s6);
2994
3142
  s6 = peg$currPos;
2995
3143
  if (input.charCodeAt(peg$currPos) === 44) {
2996
- s7 = peg$c32;
3144
+ s7 = peg$c34;
2997
3145
  peg$currPos++;
2998
3146
  } else {
2999
3147
  s7 = peg$FAILED;
3000
3148
  if (peg$silentFails === 0) {
3001
- peg$fail(peg$e32);
3149
+ peg$fail(peg$e34);
3002
3150
  }
3003
3151
  }
3004
3152
  if (s7 !== peg$FAILED) {
@@ -3018,12 +3166,12 @@ function peg$parse(input, options) {
3018
3166
  }
3019
3167
  }
3020
3168
  if (input.charCodeAt(peg$currPos) === 44) {
3021
- s6 = peg$c32;
3169
+ s6 = peg$c34;
3022
3170
  peg$currPos++;
3023
3171
  } else {
3024
3172
  s6 = peg$FAILED;
3025
3173
  if (peg$silentFails === 0) {
3026
- peg$fail(peg$e32);
3174
+ peg$fail(peg$e34);
3027
3175
  }
3028
3176
  }
3029
3177
  if (s6 === peg$FAILED) {
@@ -3031,17 +3179,17 @@ function peg$parse(input, options) {
3031
3179
  }
3032
3180
  s7 = peg$parse_();
3033
3181
  if (input.charCodeAt(peg$currPos) === 93) {
3034
- s8 = peg$c33;
3182
+ s8 = peg$c35;
3035
3183
  peg$currPos++;
3036
3184
  } else {
3037
3185
  s8 = peg$FAILED;
3038
3186
  if (peg$silentFails === 0) {
3039
- peg$fail(peg$e33);
3187
+ peg$fail(peg$e35);
3040
3188
  }
3041
3189
  }
3042
3190
  if (s8 !== peg$FAILED) {
3043
3191
  peg$savedPos = s0;
3044
- s0 = peg$f34(s3, s5);
3192
+ s0 = peg$f36(s3, s5);
3045
3193
  } else {
3046
3194
  peg$currPos = s0;
3047
3195
  s0 = peg$FAILED;
@@ -3084,20 +3232,20 @@ function peg$parse(input, options) {
3084
3232
  }
3085
3233
  }
3086
3234
  peg$savedPos = s0;
3087
- s1 = peg$f35(s1);
3235
+ s1 = peg$f37(s1);
3088
3236
  s0 = s1;
3089
3237
  return s0;
3090
3238
  }
3091
3239
  function peg$parseTableRow() {
3092
3240
  let s0, s1, s2, s3;
3093
3241
  s0 = peg$currPos;
3094
- if (input.substr(peg$currPos, 7) === peg$c34) {
3095
- s1 = peg$c34;
3242
+ if (input.substr(peg$currPos, 7) === peg$c36) {
3243
+ s1 = peg$c36;
3096
3244
  peg$currPos += 7;
3097
3245
  } else {
3098
3246
  s1 = peg$FAILED;
3099
3247
  if (peg$silentFails === 0) {
3100
- peg$fail(peg$e34);
3248
+ peg$fail(peg$e36);
3101
3249
  }
3102
3250
  }
3103
3251
  if (s1 !== peg$FAILED) {
@@ -3105,7 +3253,7 @@ function peg$parse(input, options) {
3105
3253
  s3 = peg$parseArray();
3106
3254
  if (s3 !== peg$FAILED) {
3107
3255
  peg$savedPos = s0;
3108
- s0 = peg$f36(s3);
3256
+ s0 = peg$f38(s3);
3109
3257
  } else {
3110
3258
  peg$currPos = s0;
3111
3259
  s0 = peg$FAILED;
@@ -3130,7 +3278,7 @@ function peg$parse(input, options) {
3130
3278
  s3 = peg$parseArray();
3131
3279
  if (s3 !== peg$FAILED) {
3132
3280
  peg$savedPos = s0;
3133
- s0 = peg$f37(s3);
3281
+ s0 = peg$f39(s3);
3134
3282
  } else {
3135
3283
  peg$currPos = s0;
3136
3284
  s0 = peg$FAILED;
@@ -3144,7 +3292,7 @@ function peg$parse(input, options) {
3144
3292
  s1 = peg$parseComment();
3145
3293
  if (s1 !== peg$FAILED) {
3146
3294
  peg$savedPos = s0;
3147
- s1 = peg$f38();
3295
+ s1 = peg$f40();
3148
3296
  }
3149
3297
  s0 = s1;
3150
3298
  }
@@ -3154,13 +3302,13 @@ function peg$parse(input, options) {
3154
3302
  function peg$parseList() {
3155
3303
  let s0, s1, s2, s3, s4, s5, s6, s7;
3156
3304
  s0 = peg$currPos;
3157
- if (input.substr(peg$currPos, 4) === peg$c35) {
3158
- s1 = peg$c35;
3305
+ if (input.substr(peg$currPos, 4) === peg$c37) {
3306
+ s1 = peg$c37;
3159
3307
  peg$currPos += 4;
3160
3308
  } else {
3161
3309
  s1 = peg$FAILED;
3162
3310
  if (peg$silentFails === 0) {
3163
- peg$fail(peg$e35);
3311
+ peg$fail(peg$e37);
3164
3312
  }
3165
3313
  }
3166
3314
  if (s1 !== peg$FAILED) {
@@ -3180,7 +3328,7 @@ function peg$parse(input, options) {
3180
3328
  s7 = null;
3181
3329
  }
3182
3330
  peg$savedPos = s0;
3183
- s0 = peg$f39(s3, s5, s7);
3331
+ s0 = peg$f41(s3, s5, s7);
3184
3332
  } else {
3185
3333
  peg$currPos = s0;
3186
3334
  s0 = peg$FAILED;
@@ -3236,7 +3384,7 @@ function peg$parse(input, options) {
3236
3384
  }
3237
3385
  if (s4 !== peg$FAILED) {
3238
3386
  peg$savedPos = s0;
3239
- s0 = peg$f40(s3);
3387
+ s0 = peg$f42(s3);
3240
3388
  } else {
3241
3389
  peg$currPos = s0;
3242
3390
  s0 = peg$FAILED;
@@ -3250,13 +3398,13 @@ function peg$parse(input, options) {
3250
3398
  function peg$parseListItem() {
3251
3399
  let s0, s1, s2, s3, s4, s5, s6, s7;
3252
3400
  s0 = peg$currPos;
3253
- if (input.substr(peg$currPos, 4) === peg$c36) {
3254
- s1 = peg$c36;
3401
+ if (input.substr(peg$currPos, 4) === peg$c38) {
3402
+ s1 = peg$c38;
3255
3403
  peg$currPos += 4;
3256
3404
  } else {
3257
3405
  s1 = peg$FAILED;
3258
3406
  if (peg$silentFails === 0) {
3259
- peg$fail(peg$e36);
3407
+ peg$fail(peg$e38);
3260
3408
  }
3261
3409
  }
3262
3410
  if (s1 !== peg$FAILED) {
@@ -3274,7 +3422,7 @@ function peg$parse(input, options) {
3274
3422
  s7 = null;
3275
3423
  }
3276
3424
  peg$savedPos = s0;
3277
- s0 = peg$f41(s3, s5, s7);
3425
+ s0 = peg$f43(s3, s5, s7);
3278
3426
  } else {
3279
3427
  peg$currPos = s0;
3280
3428
  s0 = peg$FAILED;
@@ -3288,7 +3436,7 @@ function peg$parse(input, options) {
3288
3436
  s1 = peg$parseComment();
3289
3437
  if (s1 !== peg$FAILED) {
3290
3438
  peg$savedPos = s0;
3291
- s1 = peg$f42();
3439
+ s1 = peg$f44();
3292
3440
  }
3293
3441
  s0 = s1;
3294
3442
  }
@@ -3297,13 +3445,13 @@ function peg$parse(input, options) {
3297
3445
  function peg$parseAlert() {
3298
3446
  let s0, s1, s2, s3, s4, s5;
3299
3447
  s0 = peg$currPos;
3300
- if (input.substr(peg$currPos, 5) === peg$c37) {
3301
- s1 = peg$c37;
3448
+ if (input.substr(peg$currPos, 5) === peg$c39) {
3449
+ s1 = peg$c39;
3302
3450
  peg$currPos += 5;
3303
3451
  } else {
3304
3452
  s1 = peg$FAILED;
3305
3453
  if (peg$silentFails === 0) {
3306
- peg$fail(peg$e37);
3454
+ peg$fail(peg$e39);
3307
3455
  }
3308
3456
  }
3309
3457
  if (s1 !== peg$FAILED) {
@@ -3316,7 +3464,7 @@ function peg$parse(input, options) {
3316
3464
  s5 = null;
3317
3465
  }
3318
3466
  peg$savedPos = s0;
3319
- s0 = peg$f43(s3, s5);
3467
+ s0 = peg$f45(s3, s5);
3320
3468
  } else {
3321
3469
  peg$currPos = s0;
3322
3470
  s0 = peg$FAILED;
@@ -3330,13 +3478,13 @@ function peg$parse(input, options) {
3330
3478
  function peg$parseToast() {
3331
3479
  let s0, s1, s2, s3, s4, s5;
3332
3480
  s0 = peg$currPos;
3333
- if (input.substr(peg$currPos, 5) === peg$c38) {
3334
- s1 = peg$c38;
3481
+ if (input.substr(peg$currPos, 5) === peg$c40) {
3482
+ s1 = peg$c40;
3335
3483
  peg$currPos += 5;
3336
3484
  } else {
3337
3485
  s1 = peg$FAILED;
3338
3486
  if (peg$silentFails === 0) {
3339
- peg$fail(peg$e38);
3487
+ peg$fail(peg$e40);
3340
3488
  }
3341
3489
  }
3342
3490
  if (s1 !== peg$FAILED) {
@@ -3349,7 +3497,7 @@ function peg$parse(input, options) {
3349
3497
  s5 = null;
3350
3498
  }
3351
3499
  peg$savedPos = s0;
3352
- s0 = peg$f44(s3, s5);
3500
+ s0 = peg$f46(s3, s5);
3353
3501
  } else {
3354
3502
  peg$currPos = s0;
3355
3503
  s0 = peg$FAILED;
@@ -3363,13 +3511,13 @@ function peg$parse(input, options) {
3363
3511
  function peg$parseProgress() {
3364
3512
  let s0, s1, s2, s3;
3365
3513
  s0 = peg$currPos;
3366
- if (input.substr(peg$currPos, 8) === peg$c39) {
3367
- s1 = peg$c39;
3514
+ if (input.substr(peg$currPos, 8) === peg$c41) {
3515
+ s1 = peg$c41;
3368
3516
  peg$currPos += 8;
3369
3517
  } else {
3370
3518
  s1 = peg$FAILED;
3371
3519
  if (peg$silentFails === 0) {
3372
- peg$fail(peg$e39);
3520
+ peg$fail(peg$e41);
3373
3521
  }
3374
3522
  }
3375
3523
  if (s1 !== peg$FAILED) {
@@ -3379,7 +3527,7 @@ function peg$parse(input, options) {
3379
3527
  s3 = null;
3380
3528
  }
3381
3529
  peg$savedPos = s0;
3382
- s0 = peg$f45(s3);
3530
+ s0 = peg$f47(s3);
3383
3531
  } else {
3384
3532
  peg$currPos = s0;
3385
3533
  s0 = peg$FAILED;
@@ -3389,13 +3537,13 @@ function peg$parse(input, options) {
3389
3537
  function peg$parseSpinner() {
3390
3538
  let s0, s1, s2, s3, s4, s5;
3391
3539
  s0 = peg$currPos;
3392
- if (input.substr(peg$currPos, 7) === peg$c40) {
3393
- s1 = peg$c40;
3540
+ if (input.substr(peg$currPos, 7) === peg$c42) {
3541
+ s1 = peg$c42;
3394
3542
  peg$currPos += 7;
3395
3543
  } else {
3396
3544
  s1 = peg$FAILED;
3397
3545
  if (peg$silentFails === 0) {
3398
- peg$fail(peg$e40);
3546
+ peg$fail(peg$e42);
3399
3547
  }
3400
3548
  }
3401
3549
  if (s1 !== peg$FAILED) {
@@ -3410,7 +3558,7 @@ function peg$parse(input, options) {
3410
3558
  s5 = null;
3411
3559
  }
3412
3560
  peg$savedPos = s0;
3413
- s0 = peg$f46(s3, s5);
3561
+ s0 = peg$f48(s3, s5);
3414
3562
  } else {
3415
3563
  peg$currPos = s0;
3416
3564
  s0 = peg$FAILED;
@@ -3420,13 +3568,13 @@ function peg$parse(input, options) {
3420
3568
  function peg$parseTooltip() {
3421
3569
  let s0, s1, s2, s3, s4, s5;
3422
3570
  s0 = peg$currPos;
3423
- if (input.substr(peg$currPos, 7) === peg$c41) {
3424
- s1 = peg$c41;
3571
+ if (input.substr(peg$currPos, 7) === peg$c43) {
3572
+ s1 = peg$c43;
3425
3573
  peg$currPos += 7;
3426
3574
  } else {
3427
3575
  s1 = peg$FAILED;
3428
3576
  if (peg$silentFails === 0) {
3429
- peg$fail(peg$e41);
3577
+ peg$fail(peg$e43);
3430
3578
  }
3431
3579
  }
3432
3580
  if (s1 !== peg$FAILED) {
@@ -3439,7 +3587,7 @@ function peg$parse(input, options) {
3439
3587
  s5 = null;
3440
3588
  }
3441
3589
  peg$savedPos = s0;
3442
- s0 = peg$f47(s3, s5);
3590
+ s0 = peg$f49(s3, s5);
3443
3591
  } else {
3444
3592
  peg$currPos = s0;
3445
3593
  s0 = peg$FAILED;
@@ -3453,13 +3601,13 @@ function peg$parse(input, options) {
3453
3601
  function peg$parsePopover() {
3454
3602
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
3455
3603
  s0 = peg$currPos;
3456
- if (input.substr(peg$currPos, 7) === peg$c42) {
3457
- s1 = peg$c42;
3604
+ if (input.substr(peg$currPos, 7) === peg$c44) {
3605
+ s1 = peg$c44;
3458
3606
  peg$currPos += 7;
3459
3607
  } else {
3460
3608
  s1 = peg$FAILED;
3461
3609
  if (peg$silentFails === 0) {
3462
- peg$fail(peg$e42);
3610
+ peg$fail(peg$e44);
3463
3611
  }
3464
3612
  }
3465
3613
  if (s1 !== peg$FAILED) {
@@ -3499,7 +3647,7 @@ function peg$parse(input, options) {
3499
3647
  }
3500
3648
  if (s11 !== peg$FAILED) {
3501
3649
  peg$savedPos = s0;
3502
- s0 = peg$f48(s3, s5, s9);
3650
+ s0 = peg$f50(s3, s5, s9);
3503
3651
  } else {
3504
3652
  peg$currPos = s0;
3505
3653
  s0 = peg$FAILED;
@@ -3521,13 +3669,13 @@ function peg$parse(input, options) {
3521
3669
  function peg$parseDropdown() {
3522
3670
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
3523
3671
  s0 = peg$currPos;
3524
- if (input.substr(peg$currPos, 8) === peg$c43) {
3525
- s1 = peg$c43;
3672
+ if (input.substr(peg$currPos, 8) === peg$c45) {
3673
+ s1 = peg$c45;
3526
3674
  peg$currPos += 8;
3527
3675
  } else {
3528
3676
  s1 = peg$FAILED;
3529
3677
  if (peg$silentFails === 0) {
3530
- peg$fail(peg$e43);
3678
+ peg$fail(peg$e45);
3531
3679
  }
3532
3680
  }
3533
3681
  if (s1 !== peg$FAILED) {
@@ -3540,7 +3688,7 @@ function peg$parse(input, options) {
3540
3688
  s5 = null;
3541
3689
  }
3542
3690
  peg$savedPos = s0;
3543
- s0 = peg$f49(s3, s5);
3691
+ s0 = peg$f51(s3, s5);
3544
3692
  } else {
3545
3693
  peg$currPos = s0;
3546
3694
  s0 = peg$FAILED;
@@ -3551,13 +3699,13 @@ function peg$parse(input, options) {
3551
3699
  }
3552
3700
  if (s0 === peg$FAILED) {
3553
3701
  s0 = peg$currPos;
3554
- if (input.substr(peg$currPos, 8) === peg$c43) {
3555
- s1 = peg$c43;
3702
+ if (input.substr(peg$currPos, 8) === peg$c45) {
3703
+ s1 = peg$c45;
3556
3704
  peg$currPos += 8;
3557
3705
  } else {
3558
3706
  s1 = peg$FAILED;
3559
3707
  if (peg$silentFails === 0) {
3560
- peg$fail(peg$e43);
3708
+ peg$fail(peg$e45);
3561
3709
  }
3562
3710
  }
3563
3711
  if (s1 !== peg$FAILED) {
@@ -3591,7 +3739,7 @@ function peg$parse(input, options) {
3591
3739
  }
3592
3740
  if (s9 !== peg$FAILED) {
3593
3741
  peg$savedPos = s0;
3594
- s0 = peg$f50(s3, s7);
3742
+ s0 = peg$f52(s3, s7);
3595
3743
  } else {
3596
3744
  peg$currPos = s0;
3597
3745
  s0 = peg$FAILED;
@@ -3635,20 +3783,20 @@ function peg$parse(input, options) {
3635
3783
  }
3636
3784
  }
3637
3785
  peg$savedPos = s0;
3638
- s1 = peg$f51(s1);
3786
+ s1 = peg$f53(s1);
3639
3787
  s0 = s1;
3640
3788
  return s0;
3641
3789
  }
3642
3790
  function peg$parseDropdownItem() {
3643
3791
  let s0, s1, s2, s3, s4, s5;
3644
3792
  s0 = peg$currPos;
3645
- if (input.substr(peg$currPos, 4) === peg$c36) {
3646
- s1 = peg$c36;
3793
+ if (input.substr(peg$currPos, 4) === peg$c38) {
3794
+ s1 = peg$c38;
3647
3795
  peg$currPos += 4;
3648
3796
  } else {
3649
3797
  s1 = peg$FAILED;
3650
3798
  if (peg$silentFails === 0) {
3651
- peg$fail(peg$e36);
3799
+ peg$fail(peg$e38);
3652
3800
  }
3653
3801
  }
3654
3802
  if (s1 !== peg$FAILED) {
@@ -3661,7 +3809,7 @@ function peg$parse(input, options) {
3661
3809
  s5 = null;
3662
3810
  }
3663
3811
  peg$savedPos = s0;
3664
- s0 = peg$f52(s3, s5);
3812
+ s0 = peg$f54(s3, s5);
3665
3813
  } else {
3666
3814
  peg$currPos = s0;
3667
3815
  s0 = peg$FAILED;
@@ -3672,18 +3820,18 @@ function peg$parse(input, options) {
3672
3820
  }
3673
3821
  if (s0 === peg$FAILED) {
3674
3822
  s0 = peg$currPos;
3675
- if (input.substr(peg$currPos, 7) === peg$c44) {
3676
- s1 = peg$c44;
3823
+ if (input.substr(peg$currPos, 7) === peg$c46) {
3824
+ s1 = peg$c46;
3677
3825
  peg$currPos += 7;
3678
3826
  } else {
3679
3827
  s1 = peg$FAILED;
3680
3828
  if (peg$silentFails === 0) {
3681
- peg$fail(peg$e44);
3829
+ peg$fail(peg$e46);
3682
3830
  }
3683
3831
  }
3684
3832
  if (s1 !== peg$FAILED) {
3685
3833
  peg$savedPos = s0;
3686
- s1 = peg$f53();
3834
+ s1 = peg$f55();
3687
3835
  }
3688
3836
  s0 = s1;
3689
3837
  if (s0 === peg$FAILED) {
@@ -3691,7 +3839,7 @@ function peg$parse(input, options) {
3691
3839
  s1 = peg$parseComment();
3692
3840
  if (s1 !== peg$FAILED) {
3693
3841
  peg$savedPos = s0;
3694
- s1 = peg$f54();
3842
+ s1 = peg$f56();
3695
3843
  }
3696
3844
  s0 = s1;
3697
3845
  }
@@ -3701,13 +3849,13 @@ function peg$parse(input, options) {
3701
3849
  function peg$parseNav() {
3702
3850
  let s0, s1, s2, s3, s4, s5, s6, s7;
3703
3851
  s0 = peg$currPos;
3704
- if (input.substr(peg$currPos, 3) === peg$c45) {
3705
- s1 = peg$c45;
3852
+ if (input.substr(peg$currPos, 3) === peg$c47) {
3853
+ s1 = peg$c47;
3706
3854
  peg$currPos += 3;
3707
3855
  } else {
3708
3856
  s1 = peg$FAILED;
3709
3857
  if (peg$silentFails === 0) {
3710
- peg$fail(peg$e45);
3858
+ peg$fail(peg$e47);
3711
3859
  }
3712
3860
  }
3713
3861
  if (s1 !== peg$FAILED) {
@@ -3727,7 +3875,7 @@ function peg$parse(input, options) {
3727
3875
  s7 = null;
3728
3876
  }
3729
3877
  peg$savedPos = s0;
3730
- s0 = peg$f55(s3, s5, s7);
3878
+ s0 = peg$f57(s3, s5, s7);
3731
3879
  } else {
3732
3880
  peg$currPos = s0;
3733
3881
  s0 = peg$FAILED;
@@ -3783,7 +3931,7 @@ function peg$parse(input, options) {
3783
3931
  }
3784
3932
  if (s4 !== peg$FAILED) {
3785
3933
  peg$savedPos = s0;
3786
- s0 = peg$f56(s3);
3934
+ s0 = peg$f58(s3);
3787
3935
  } else {
3788
3936
  peg$currPos = s0;
3789
3937
  s0 = peg$FAILED;
@@ -3801,19 +3949,19 @@ function peg$parse(input, options) {
3801
3949
  s0 = peg$parseNavItem();
3802
3950
  if (s0 === peg$FAILED) {
3803
3951
  s0 = peg$currPos;
3804
- if (input.substr(peg$currPos, 7) === peg$c44) {
3805
- s1 = peg$c44;
3952
+ if (input.substr(peg$currPos, 7) === peg$c46) {
3953
+ s1 = peg$c46;
3806
3954
  peg$currPos += 7;
3807
3955
  } else {
3808
3956
  s1 = peg$FAILED;
3809
3957
  if (peg$silentFails === 0) {
3810
- peg$fail(peg$e44);
3958
+ peg$fail(peg$e46);
3811
3959
  }
3812
3960
  }
3813
3961
  if (s1 !== peg$FAILED) {
3814
3962
  s2 = peg$parse_();
3815
3963
  peg$savedPos = s0;
3816
- s0 = peg$f57();
3964
+ s0 = peg$f59();
3817
3965
  } else {
3818
3966
  peg$currPos = s0;
3819
3967
  s0 = peg$FAILED;
@@ -3823,7 +3971,7 @@ function peg$parse(input, options) {
3823
3971
  s1 = peg$parseComment();
3824
3972
  if (s1 !== peg$FAILED) {
3825
3973
  peg$savedPos = s0;
3826
- s1 = peg$f58();
3974
+ s1 = peg$f60();
3827
3975
  }
3828
3976
  s0 = s1;
3829
3977
  }
@@ -3834,13 +3982,13 @@ function peg$parse(input, options) {
3834
3982
  function peg$parseNavGroup() {
3835
3983
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
3836
3984
  s0 = peg$currPos;
3837
- if (input.substr(peg$currPos, 5) === peg$c46) {
3838
- s1 = peg$c46;
3985
+ if (input.substr(peg$currPos, 5) === peg$c48) {
3986
+ s1 = peg$c48;
3839
3987
  peg$currPos += 5;
3840
3988
  } else {
3841
3989
  s1 = peg$FAILED;
3842
3990
  if (peg$silentFails === 0) {
3843
- peg$fail(peg$e46);
3991
+ peg$fail(peg$e48);
3844
3992
  }
3845
3993
  }
3846
3994
  if (s1 !== peg$FAILED) {
@@ -3899,7 +4047,7 @@ function peg$parse(input, options) {
3899
4047
  }
3900
4048
  if (s10 !== peg$FAILED) {
3901
4049
  peg$savedPos = s0;
3902
- s0 = peg$f59(s3, s5, s9);
4050
+ s0 = peg$f61(s3, s5, s9);
3903
4051
  } else {
3904
4052
  peg$currPos = s0;
3905
4053
  s0 = peg$FAILED;
@@ -3923,19 +4071,19 @@ function peg$parse(input, options) {
3923
4071
  s0 = peg$parseNavItem();
3924
4072
  if (s0 === peg$FAILED) {
3925
4073
  s0 = peg$currPos;
3926
- if (input.substr(peg$currPos, 7) === peg$c44) {
3927
- s1 = peg$c44;
4074
+ if (input.substr(peg$currPos, 7) === peg$c46) {
4075
+ s1 = peg$c46;
3928
4076
  peg$currPos += 7;
3929
4077
  } else {
3930
4078
  s1 = peg$FAILED;
3931
4079
  if (peg$silentFails === 0) {
3932
- peg$fail(peg$e44);
4080
+ peg$fail(peg$e46);
3933
4081
  }
3934
4082
  }
3935
4083
  if (s1 !== peg$FAILED) {
3936
4084
  s2 = peg$parse_();
3937
4085
  peg$savedPos = s0;
3938
- s0 = peg$f60();
4086
+ s0 = peg$f62();
3939
4087
  } else {
3940
4088
  peg$currPos = s0;
3941
4089
  s0 = peg$FAILED;
@@ -3945,7 +4093,7 @@ function peg$parse(input, options) {
3945
4093
  s1 = peg$parseComment();
3946
4094
  if (s1 !== peg$FAILED) {
3947
4095
  peg$savedPos = s0;
3948
- s1 = peg$f61();
4096
+ s1 = peg$f63();
3949
4097
  }
3950
4098
  s0 = s1;
3951
4099
  }
@@ -3955,13 +4103,13 @@ function peg$parse(input, options) {
3955
4103
  function peg$parseNavItem() {
3956
4104
  let s0, s1, s2, s3, s4, s5;
3957
4105
  s0 = peg$currPos;
3958
- if (input.substr(peg$currPos, 4) === peg$c36) {
3959
- s1 = peg$c36;
4106
+ if (input.substr(peg$currPos, 4) === peg$c38) {
4107
+ s1 = peg$c38;
3960
4108
  peg$currPos += 4;
3961
4109
  } else {
3962
4110
  s1 = peg$FAILED;
3963
4111
  if (peg$silentFails === 0) {
3964
- peg$fail(peg$e36);
4112
+ peg$fail(peg$e38);
3965
4113
  }
3966
4114
  }
3967
4115
  if (s1 !== peg$FAILED) {
@@ -3974,7 +4122,7 @@ function peg$parse(input, options) {
3974
4122
  s5 = null;
3975
4123
  }
3976
4124
  peg$savedPos = s0;
3977
- s0 = peg$f62(s3, s5);
4125
+ s0 = peg$f64(s3, s5);
3978
4126
  } else {
3979
4127
  peg$currPos = s0;
3980
4128
  s0 = peg$FAILED;
@@ -3988,13 +4136,13 @@ function peg$parse(input, options) {
3988
4136
  function peg$parseTabs() {
3989
4137
  let s0, s1, s2, s3, s4, s5, s6, s7;
3990
4138
  s0 = peg$currPos;
3991
- if (input.substr(peg$currPos, 4) === peg$c47) {
3992
- s1 = peg$c47;
4139
+ if (input.substr(peg$currPos, 4) === peg$c49) {
4140
+ s1 = peg$c49;
3993
4141
  peg$currPos += 4;
3994
4142
  } else {
3995
4143
  s1 = peg$FAILED;
3996
4144
  if (peg$silentFails === 0) {
3997
- peg$fail(peg$e47);
4145
+ peg$fail(peg$e49);
3998
4146
  }
3999
4147
  }
4000
4148
  if (s1 !== peg$FAILED) {
@@ -4014,7 +4162,7 @@ function peg$parse(input, options) {
4014
4162
  s7 = null;
4015
4163
  }
4016
4164
  peg$savedPos = s0;
4017
- s0 = peg$f63(s3, s5, s7);
4165
+ s0 = peg$f65(s3, s5, s7);
4018
4166
  } else {
4019
4167
  peg$currPos = s0;
4020
4168
  s0 = peg$FAILED;
@@ -4070,7 +4218,7 @@ function peg$parse(input, options) {
4070
4218
  }
4071
4219
  if (s4 !== peg$FAILED) {
4072
4220
  peg$savedPos = s0;
4073
- s0 = peg$f64(s3);
4221
+ s0 = peg$f66(s3);
4074
4222
  } else {
4075
4223
  peg$currPos = s0;
4076
4224
  s0 = peg$FAILED;
@@ -4084,13 +4232,13 @@ function peg$parse(input, options) {
4084
4232
  function peg$parseTabItem() {
4085
4233
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
4086
4234
  s0 = peg$currPos;
4087
- if (input.substr(peg$currPos, 3) === peg$c48) {
4088
- s1 = peg$c48;
4235
+ if (input.substr(peg$currPos, 3) === peg$c50) {
4236
+ s1 = peg$c50;
4089
4237
  peg$currPos += 3;
4090
4238
  } else {
4091
4239
  s1 = peg$FAILED;
4092
4240
  if (peg$silentFails === 0) {
4093
- peg$fail(peg$e48);
4241
+ peg$fail(peg$e50);
4094
4242
  }
4095
4243
  }
4096
4244
  if (s1 !== peg$FAILED) {
@@ -4128,7 +4276,7 @@ function peg$parse(input, options) {
4128
4276
  }
4129
4277
  if (s11 !== peg$FAILED) {
4130
4278
  peg$savedPos = s0;
4131
- s0 = peg$f65(s3, s5, s9);
4279
+ s0 = peg$f67(s3, s5, s9);
4132
4280
  } else {
4133
4281
  peg$currPos = s0;
4134
4282
  s0 = peg$FAILED;
@@ -4154,7 +4302,7 @@ function peg$parse(input, options) {
4154
4302
  s1 = peg$parseComment();
4155
4303
  if (s1 !== peg$FAILED) {
4156
4304
  peg$savedPos = s0;
4157
- s1 = peg$f66();
4305
+ s1 = peg$f68();
4158
4306
  }
4159
4307
  s0 = s1;
4160
4308
  }
@@ -4163,13 +4311,13 @@ function peg$parse(input, options) {
4163
4311
  function peg$parseBreadcrumb() {
4164
4312
  let s0, s1, s2, s3, s4, s5;
4165
4313
  s0 = peg$currPos;
4166
- if (input.substr(peg$currPos, 10) === peg$c49) {
4167
- s1 = peg$c49;
4314
+ if (input.substr(peg$currPos, 10) === peg$c51) {
4315
+ s1 = peg$c51;
4168
4316
  peg$currPos += 10;
4169
4317
  } else {
4170
4318
  s1 = peg$FAILED;
4171
4319
  if (peg$silentFails === 0) {
4172
- peg$fail(peg$e49);
4320
+ peg$fail(peg$e51);
4173
4321
  }
4174
4322
  }
4175
4323
  if (s1 !== peg$FAILED) {
@@ -4182,7 +4330,7 @@ function peg$parse(input, options) {
4182
4330
  s5 = null;
4183
4331
  }
4184
4332
  peg$savedPos = s0;
4185
- s0 = peg$f67(s3, s5);
4333
+ s0 = peg$f69(s3, s5);
4186
4334
  } else {
4187
4335
  peg$currPos = s0;
4188
4336
  s0 = peg$FAILED;
@@ -4196,13 +4344,13 @@ function peg$parse(input, options) {
4196
4344
  function peg$parseDivider() {
4197
4345
  let s0, s1, s2, s3;
4198
4346
  s0 = peg$currPos;
4199
- if (input.substr(peg$currPos, 7) === peg$c44) {
4200
- s1 = peg$c44;
4347
+ if (input.substr(peg$currPos, 7) === peg$c46) {
4348
+ s1 = peg$c46;
4201
4349
  peg$currPos += 7;
4202
4350
  } else {
4203
4351
  s1 = peg$FAILED;
4204
4352
  if (peg$silentFails === 0) {
4205
- peg$fail(peg$e44);
4353
+ peg$fail(peg$e46);
4206
4354
  }
4207
4355
  }
4208
4356
  if (s1 !== peg$FAILED) {
@@ -4212,7 +4360,7 @@ function peg$parse(input, options) {
4212
4360
  s3 = null;
4213
4361
  }
4214
4362
  peg$savedPos = s0;
4215
- s0 = peg$f68(s3);
4363
+ s0 = peg$f70(s3);
4216
4364
  } else {
4217
4365
  peg$currPos = s0;
4218
4366
  s0 = peg$FAILED;
@@ -4234,7 +4382,7 @@ function peg$parse(input, options) {
4234
4382
  }
4235
4383
  if (s1 !== peg$FAILED) {
4236
4384
  peg$savedPos = s0;
4237
- s1 = peg$f69(s1);
4385
+ s1 = peg$f71(s1);
4238
4386
  }
4239
4387
  s0 = s1;
4240
4388
  return s0;
@@ -4247,12 +4395,12 @@ function peg$parse(input, options) {
4247
4395
  if (s2 !== peg$FAILED) {
4248
4396
  s3 = peg$parse_();
4249
4397
  if (input.charCodeAt(peg$currPos) === 61) {
4250
- s4 = peg$c50;
4398
+ s4 = peg$c52;
4251
4399
  peg$currPos++;
4252
4400
  } else {
4253
4401
  s4 = peg$FAILED;
4254
4402
  if (peg$silentFails === 0) {
4255
- peg$fail(peg$e50);
4403
+ peg$fail(peg$e52);
4256
4404
  }
4257
4405
  }
4258
4406
  if (s4 !== peg$FAILED) {
@@ -4260,7 +4408,7 @@ function peg$parse(input, options) {
4260
4408
  s6 = peg$parseAttributeValue();
4261
4409
  if (s6 !== peg$FAILED) {
4262
4410
  peg$savedPos = s0;
4263
- s0 = peg$f70(s2, s6);
4411
+ s0 = peg$f72(s2, s6);
4264
4412
  } else {
4265
4413
  peg$currPos = s0;
4266
4414
  s0 = peg$FAILED;
@@ -4292,27 +4440,27 @@ function peg$parse(input, options) {
4292
4440
  } else {
4293
4441
  s6 = peg$FAILED;
4294
4442
  if (peg$silentFails === 0) {
4295
- peg$fail(peg$e51);
4443
+ peg$fail(peg$e53);
4296
4444
  }
4297
4445
  }
4298
4446
  if (s6 === peg$FAILED) {
4299
- if (input.substr(peg$currPos, 2) === peg$c51) {
4300
- s6 = peg$c51;
4447
+ if (input.substr(peg$currPos, 2) === peg$c53) {
4448
+ s6 = peg$c53;
4301
4449
  peg$currPos += 2;
4302
4450
  } else {
4303
4451
  s6 = peg$FAILED;
4304
4452
  if (peg$silentFails === 0) {
4305
- peg$fail(peg$e52);
4453
+ peg$fail(peg$e54);
4306
4454
  }
4307
4455
  }
4308
4456
  if (s6 === peg$FAILED) {
4309
- if (input.substr(peg$currPos, 2) === peg$c52) {
4310
- s6 = peg$c52;
4457
+ if (input.substr(peg$currPos, 2) === peg$c54) {
4458
+ s6 = peg$c54;
4311
4459
  peg$currPos += 2;
4312
4460
  } else {
4313
4461
  s6 = peg$FAILED;
4314
4462
  if (peg$silentFails === 0) {
4315
- peg$fail(peg$e53);
4463
+ peg$fail(peg$e55);
4316
4464
  }
4317
4465
  }
4318
4466
  if (s6 === peg$FAILED) {
@@ -4324,7 +4472,7 @@ function peg$parse(input, options) {
4324
4472
  } else {
4325
4473
  s7 = peg$FAILED;
4326
4474
  if (peg$silentFails === 0) {
4327
- peg$fail(peg$e54);
4475
+ peg$fail(peg$e56);
4328
4476
  }
4329
4477
  }
4330
4478
  peg$silentFails--;
@@ -4355,7 +4503,7 @@ function peg$parse(input, options) {
4355
4503
  }
4356
4504
  if (s3 !== peg$FAILED) {
4357
4505
  peg$savedPos = s0;
4358
- s0 = peg$f71(s2);
4506
+ s0 = peg$f73(s2);
4359
4507
  } else {
4360
4508
  peg$currPos = s0;
4361
4509
  s0 = peg$FAILED;
@@ -4384,7 +4532,7 @@ function peg$parse(input, options) {
4384
4532
  s2 = peg$parseIdentifier();
4385
4533
  if (s2 !== peg$FAILED) {
4386
4534
  peg$savedPos = s0;
4387
- s0 = peg$f72(s2);
4535
+ s0 = peg$f74(s2);
4388
4536
  } else {
4389
4537
  peg$currPos = s0;
4390
4538
  s0 = peg$FAILED;
@@ -4468,9 +4616,9 @@ function peg$parse(input, options) {
4468
4616
  }
4469
4617
  }
4470
4618
  if (s1 === peg$FAILED) {
4471
- if (input.substr(peg$currPos, 4) === peg$c9) {
4619
+ if (input.substr(peg$currPos, 5) === peg$c9) {
4472
4620
  s1 = peg$c9;
4473
- peg$currPos += 4;
4621
+ peg$currPos += 5;
4474
4622
  } else {
4475
4623
  s1 = peg$FAILED;
4476
4624
  if (peg$silentFails === 0) {
@@ -4478,9 +4626,9 @@ function peg$parse(input, options) {
4478
4626
  }
4479
4627
  }
4480
4628
  if (s1 === peg$FAILED) {
4481
- if (input.substr(peg$currPos, 5) === peg$c10) {
4629
+ if (input.substr(peg$currPos, 8) === peg$c10) {
4482
4630
  s1 = peg$c10;
4483
- peg$currPos += 5;
4631
+ peg$currPos += 8;
4484
4632
  } else {
4485
4633
  s1 = peg$FAILED;
4486
4634
  if (peg$silentFails === 0) {
@@ -4488,9 +4636,9 @@ function peg$parse(input, options) {
4488
4636
  }
4489
4637
  }
4490
4638
  if (s1 === peg$FAILED) {
4491
- if (input.substr(peg$currPos, 6) === peg$c11) {
4639
+ if (input.substr(peg$currPos, 4) === peg$c11) {
4492
4640
  s1 = peg$c11;
4493
- peg$currPos += 6;
4641
+ peg$currPos += 4;
4494
4642
  } else {
4495
4643
  s1 = peg$FAILED;
4496
4644
  if (peg$silentFails === 0) {
@@ -4498,9 +4646,9 @@ function peg$parse(input, options) {
4498
4646
  }
4499
4647
  }
4500
4648
  if (s1 === peg$FAILED) {
4501
- if (input.substr(peg$currPos, 9) === peg$c12) {
4649
+ if (input.substr(peg$currPos, 5) === peg$c12) {
4502
4650
  s1 = peg$c12;
4503
- peg$currPos += 9;
4651
+ peg$currPos += 5;
4504
4652
  } else {
4505
4653
  s1 = peg$FAILED;
4506
4654
  if (peg$silentFails === 0) {
@@ -4508,9 +4656,9 @@ function peg$parse(input, options) {
4508
4656
  }
4509
4657
  }
4510
4658
  if (s1 === peg$FAILED) {
4511
- if (input.substr(peg$currPos, 7) === peg$c13) {
4659
+ if (input.substr(peg$currPos, 6) === peg$c13) {
4512
4660
  s1 = peg$c13;
4513
- peg$currPos += 7;
4661
+ peg$currPos += 6;
4514
4662
  } else {
4515
4663
  s1 = peg$FAILED;
4516
4664
  if (peg$silentFails === 0) {
@@ -4518,9 +4666,9 @@ function peg$parse(input, options) {
4518
4666
  }
4519
4667
  }
4520
4668
  if (s1 === peg$FAILED) {
4521
- if (input.substr(peg$currPos, 4) === peg$c14) {
4669
+ if (input.substr(peg$currPos, 9) === peg$c14) {
4522
4670
  s1 = peg$c14;
4523
- peg$currPos += 4;
4671
+ peg$currPos += 9;
4524
4672
  } else {
4525
4673
  s1 = peg$FAILED;
4526
4674
  if (peg$silentFails === 0) {
@@ -4528,29 +4676,29 @@ function peg$parse(input, options) {
4528
4676
  }
4529
4677
  }
4530
4678
  if (s1 === peg$FAILED) {
4531
- if (input.substr(peg$currPos, 4) === peg$c16) {
4532
- s1 = peg$c16;
4533
- peg$currPos += 4;
4679
+ if (input.substr(peg$currPos, 7) === peg$c15) {
4680
+ s1 = peg$c15;
4681
+ peg$currPos += 7;
4534
4682
  } else {
4535
4683
  s1 = peg$FAILED;
4536
4684
  if (peg$silentFails === 0) {
4537
- peg$fail(peg$e16);
4685
+ peg$fail(peg$e15);
4538
4686
  }
4539
4687
  }
4540
4688
  if (s1 === peg$FAILED) {
4541
- if (input.substr(peg$currPos, 6) === peg$c17) {
4542
- s1 = peg$c17;
4543
- peg$currPos += 6;
4689
+ if (input.substr(peg$currPos, 4) === peg$c16) {
4690
+ s1 = peg$c16;
4691
+ peg$currPos += 4;
4544
4692
  } else {
4545
4693
  s1 = peg$FAILED;
4546
4694
  if (peg$silentFails === 0) {
4547
- peg$fail(peg$e17);
4695
+ peg$fail(peg$e16);
4548
4696
  }
4549
4697
  }
4550
4698
  if (s1 === peg$FAILED) {
4551
- if (input.substr(peg$currPos, 5) === peg$c18) {
4699
+ if (input.substr(peg$currPos, 4) === peg$c18) {
4552
4700
  s1 = peg$c18;
4553
- peg$currPos += 5;
4701
+ peg$currPos += 4;
4554
4702
  } else {
4555
4703
  s1 = peg$FAILED;
4556
4704
  if (peg$silentFails === 0) {
@@ -4558,9 +4706,9 @@ function peg$parse(input, options) {
4558
4706
  }
4559
4707
  }
4560
4708
  if (s1 === peg$FAILED) {
4561
- if (input.substr(peg$currPos, 8) === peg$c19) {
4709
+ if (input.substr(peg$currPos, 6) === peg$c19) {
4562
4710
  s1 = peg$c19;
4563
- peg$currPos += 8;
4711
+ peg$currPos += 6;
4564
4712
  } else {
4565
4713
  s1 = peg$FAILED;
4566
4714
  if (peg$silentFails === 0) {
@@ -4568,9 +4716,9 @@ function peg$parse(input, options) {
4568
4716
  }
4569
4717
  }
4570
4718
  if (s1 === peg$FAILED) {
4571
- if (input.substr(peg$currPos, 6) === peg$c20) {
4719
+ if (input.substr(peg$currPos, 5) === peg$c20) {
4572
4720
  s1 = peg$c20;
4573
- peg$currPos += 6;
4721
+ peg$currPos += 5;
4574
4722
  } else {
4575
4723
  s1 = peg$FAILED;
4576
4724
  if (peg$silentFails === 0) {
@@ -4588,9 +4736,9 @@ function peg$parse(input, options) {
4588
4736
  }
4589
4737
  }
4590
4738
  if (s1 === peg$FAILED) {
4591
- if (input.substr(peg$currPos, 5) === peg$c22) {
4739
+ if (input.substr(peg$currPos, 6) === peg$c22) {
4592
4740
  s1 = peg$c22;
4593
- peg$currPos += 5;
4741
+ peg$currPos += 6;
4594
4742
  } else {
4595
4743
  s1 = peg$FAILED;
4596
4744
  if (peg$silentFails === 0) {
@@ -4598,9 +4746,9 @@ function peg$parse(input, options) {
4598
4746
  }
4599
4747
  }
4600
4748
  if (s1 === peg$FAILED) {
4601
- if (input.substr(peg$currPos, 6) === peg$c23) {
4749
+ if (input.substr(peg$currPos, 8) === peg$c23) {
4602
4750
  s1 = peg$c23;
4603
- peg$currPos += 6;
4751
+ peg$currPos += 8;
4604
4752
  } else {
4605
4753
  s1 = peg$FAILED;
4606
4754
  if (peg$silentFails === 0) {
@@ -4608,9 +4756,9 @@ function peg$parse(input, options) {
4608
4756
  }
4609
4757
  }
4610
4758
  if (s1 === peg$FAILED) {
4611
- if (input.substr(peg$currPos, 6) === peg$c24) {
4759
+ if (input.substr(peg$currPos, 5) === peg$c24) {
4612
4760
  s1 = peg$c24;
4613
- peg$currPos += 6;
4761
+ peg$currPos += 5;
4614
4762
  } else {
4615
4763
  s1 = peg$FAILED;
4616
4764
  if (peg$silentFails === 0) {
@@ -4618,9 +4766,9 @@ function peg$parse(input, options) {
4618
4766
  }
4619
4767
  }
4620
4768
  if (s1 === peg$FAILED) {
4621
- if (input.substr(peg$currPos, 5) === peg$c25) {
4769
+ if (input.substr(peg$currPos, 6) === peg$c25) {
4622
4770
  s1 = peg$c25;
4623
- peg$currPos += 5;
4771
+ peg$currPos += 6;
4624
4772
  } else {
4625
4773
  s1 = peg$FAILED;
4626
4774
  if (peg$silentFails === 0) {
@@ -4628,59 +4776,59 @@ function peg$parse(input, options) {
4628
4776
  }
4629
4777
  }
4630
4778
  if (s1 === peg$FAILED) {
4631
- if (input.substr(peg$currPos, 6) === peg$c27) {
4632
- s1 = peg$c27;
4779
+ if (input.substr(peg$currPos, 6) === peg$c26) {
4780
+ s1 = peg$c26;
4633
4781
  peg$currPos += 6;
4634
4782
  } else {
4635
4783
  s1 = peg$FAILED;
4636
4784
  if (peg$silentFails === 0) {
4637
- peg$fail(peg$e27);
4785
+ peg$fail(peg$e26);
4638
4786
  }
4639
4787
  }
4640
4788
  if (s1 === peg$FAILED) {
4641
- if (input.substr(peg$currPos, 5) === peg$c28) {
4642
- s1 = peg$c28;
4789
+ if (input.substr(peg$currPos, 5) === peg$c27) {
4790
+ s1 = peg$c27;
4643
4791
  peg$currPos += 5;
4644
4792
  } else {
4645
4793
  s1 = peg$FAILED;
4646
4794
  if (peg$silentFails === 0) {
4647
- peg$fail(peg$e28);
4795
+ peg$fail(peg$e27);
4648
4796
  }
4649
4797
  }
4650
4798
  if (s1 === peg$FAILED) {
4651
- if (input.substr(peg$currPos, 5) === peg$c30) {
4652
- s1 = peg$c30;
4653
- peg$currPos += 5;
4799
+ if (input.substr(peg$currPos, 6) === peg$c29) {
4800
+ s1 = peg$c29;
4801
+ peg$currPos += 6;
4654
4802
  } else {
4655
4803
  s1 = peg$FAILED;
4656
4804
  if (peg$silentFails === 0) {
4657
- peg$fail(peg$e30);
4805
+ peg$fail(peg$e29);
4658
4806
  }
4659
4807
  }
4660
4808
  if (s1 === peg$FAILED) {
4661
- if (input.substr(peg$currPos, 7) === peg$c34) {
4662
- s1 = peg$c34;
4663
- peg$currPos += 7;
4809
+ if (input.substr(peg$currPos, 5) === peg$c30) {
4810
+ s1 = peg$c30;
4811
+ peg$currPos += 5;
4664
4812
  } else {
4665
4813
  s1 = peg$FAILED;
4666
4814
  if (peg$silentFails === 0) {
4667
- peg$fail(peg$e34);
4815
+ peg$fail(peg$e30);
4668
4816
  }
4669
4817
  }
4670
4818
  if (s1 === peg$FAILED) {
4671
- if (input.substr(peg$currPos, 4) === peg$c35) {
4672
- s1 = peg$c35;
4673
- peg$currPos += 4;
4819
+ if (input.substr(peg$currPos, 5) === peg$c32) {
4820
+ s1 = peg$c32;
4821
+ peg$currPos += 5;
4674
4822
  } else {
4675
4823
  s1 = peg$FAILED;
4676
4824
  if (peg$silentFails === 0) {
4677
- peg$fail(peg$e35);
4825
+ peg$fail(peg$e32);
4678
4826
  }
4679
4827
  }
4680
4828
  if (s1 === peg$FAILED) {
4681
- if (input.substr(peg$currPos, 4) === peg$c36) {
4829
+ if (input.substr(peg$currPos, 7) === peg$c36) {
4682
4830
  s1 = peg$c36;
4683
- peg$currPos += 4;
4831
+ peg$currPos += 7;
4684
4832
  } else {
4685
4833
  s1 = peg$FAILED;
4686
4834
  if (peg$silentFails === 0) {
@@ -4688,9 +4836,9 @@ function peg$parse(input, options) {
4688
4836
  }
4689
4837
  }
4690
4838
  if (s1 === peg$FAILED) {
4691
- if (input.substr(peg$currPos, 5) === peg$c37) {
4839
+ if (input.substr(peg$currPos, 4) === peg$c37) {
4692
4840
  s1 = peg$c37;
4693
- peg$currPos += 5;
4841
+ peg$currPos += 4;
4694
4842
  } else {
4695
4843
  s1 = peg$FAILED;
4696
4844
  if (peg$silentFails === 0) {
@@ -4698,9 +4846,9 @@ function peg$parse(input, options) {
4698
4846
  }
4699
4847
  }
4700
4848
  if (s1 === peg$FAILED) {
4701
- if (input.substr(peg$currPos, 5) === peg$c38) {
4849
+ if (input.substr(peg$currPos, 4) === peg$c38) {
4702
4850
  s1 = peg$c38;
4703
- peg$currPos += 5;
4851
+ peg$currPos += 4;
4704
4852
  } else {
4705
4853
  s1 = peg$FAILED;
4706
4854
  if (peg$silentFails === 0) {
@@ -4708,9 +4856,9 @@ function peg$parse(input, options) {
4708
4856
  }
4709
4857
  }
4710
4858
  if (s1 === peg$FAILED) {
4711
- if (input.substr(peg$currPos, 8) === peg$c39) {
4859
+ if (input.substr(peg$currPos, 5) === peg$c39) {
4712
4860
  s1 = peg$c39;
4713
- peg$currPos += 8;
4861
+ peg$currPos += 5;
4714
4862
  } else {
4715
4863
  s1 = peg$FAILED;
4716
4864
  if (peg$silentFails === 0) {
@@ -4718,9 +4866,9 @@ function peg$parse(input, options) {
4718
4866
  }
4719
4867
  }
4720
4868
  if (s1 === peg$FAILED) {
4721
- if (input.substr(peg$currPos, 7) === peg$c40) {
4869
+ if (input.substr(peg$currPos, 5) === peg$c40) {
4722
4870
  s1 = peg$c40;
4723
- peg$currPos += 7;
4871
+ peg$currPos += 5;
4724
4872
  } else {
4725
4873
  s1 = peg$FAILED;
4726
4874
  if (peg$silentFails === 0) {
@@ -4728,9 +4876,9 @@ function peg$parse(input, options) {
4728
4876
  }
4729
4877
  }
4730
4878
  if (s1 === peg$FAILED) {
4731
- if (input.substr(peg$currPos, 7) === peg$c41) {
4879
+ if (input.substr(peg$currPos, 8) === peg$c41) {
4732
4880
  s1 = peg$c41;
4733
- peg$currPos += 7;
4881
+ peg$currPos += 8;
4734
4882
  } else {
4735
4883
  s1 = peg$FAILED;
4736
4884
  if (peg$silentFails === 0) {
@@ -4748,9 +4896,9 @@ function peg$parse(input, options) {
4748
4896
  }
4749
4897
  }
4750
4898
  if (s1 === peg$FAILED) {
4751
- if (input.substr(peg$currPos, 8) === peg$c43) {
4899
+ if (input.substr(peg$currPos, 7) === peg$c43) {
4752
4900
  s1 = peg$c43;
4753
- peg$currPos += 8;
4901
+ peg$currPos += 7;
4754
4902
  } else {
4755
4903
  s1 = peg$FAILED;
4756
4904
  if (peg$silentFails === 0) {
@@ -4768,9 +4916,9 @@ function peg$parse(input, options) {
4768
4916
  }
4769
4917
  }
4770
4918
  if (s1 === peg$FAILED) {
4771
- if (input.substr(peg$currPos, 3) === peg$c45) {
4919
+ if (input.substr(peg$currPos, 8) === peg$c45) {
4772
4920
  s1 = peg$c45;
4773
- peg$currPos += 3;
4921
+ peg$currPos += 8;
4774
4922
  } else {
4775
4923
  s1 = peg$FAILED;
4776
4924
  if (peg$silentFails === 0) {
@@ -4778,29 +4926,29 @@ function peg$parse(input, options) {
4778
4926
  }
4779
4927
  }
4780
4928
  if (s1 === peg$FAILED) {
4781
- if (input.substr(peg$currPos, 4) === peg$c47) {
4782
- s1 = peg$c47;
4783
- peg$currPos += 4;
4929
+ if (input.substr(peg$currPos, 7) === peg$c46) {
4930
+ s1 = peg$c46;
4931
+ peg$currPos += 7;
4784
4932
  } else {
4785
4933
  s1 = peg$FAILED;
4786
4934
  if (peg$silentFails === 0) {
4787
- peg$fail(peg$e47);
4935
+ peg$fail(peg$e46);
4788
4936
  }
4789
4937
  }
4790
4938
  if (s1 === peg$FAILED) {
4791
- if (input.substr(peg$currPos, 3) === peg$c48) {
4792
- s1 = peg$c48;
4939
+ if (input.substr(peg$currPos, 3) === peg$c47) {
4940
+ s1 = peg$c47;
4793
4941
  peg$currPos += 3;
4794
4942
  } else {
4795
4943
  s1 = peg$FAILED;
4796
4944
  if (peg$silentFails === 0) {
4797
- peg$fail(peg$e48);
4945
+ peg$fail(peg$e47);
4798
4946
  }
4799
4947
  }
4800
4948
  if (s1 === peg$FAILED) {
4801
- if (input.substr(peg$currPos, 10) === peg$c49) {
4949
+ if (input.substr(peg$currPos, 4) === peg$c49) {
4802
4950
  s1 = peg$c49;
4803
- peg$currPos += 10;
4951
+ peg$currPos += 4;
4804
4952
  } else {
4805
4953
  s1 = peg$FAILED;
4806
4954
  if (peg$silentFails === 0) {
@@ -4808,13 +4956,35 @@ function peg$parse(input, options) {
4808
4956
  }
4809
4957
  }
4810
4958
  if (s1 === peg$FAILED) {
4811
- if (input.substr(peg$currPos, 5) === peg$c46) {
4812
- s1 = peg$c46;
4813
- peg$currPos += 5;
4959
+ if (input.substr(peg$currPos, 3) === peg$c50) {
4960
+ s1 = peg$c50;
4961
+ peg$currPos += 3;
4814
4962
  } else {
4815
4963
  s1 = peg$FAILED;
4816
4964
  if (peg$silentFails === 0) {
4817
- peg$fail(peg$e46);
4965
+ peg$fail(peg$e50);
4966
+ }
4967
+ }
4968
+ if (s1 === peg$FAILED) {
4969
+ if (input.substr(peg$currPos, 10) === peg$c51) {
4970
+ s1 = peg$c51;
4971
+ peg$currPos += 10;
4972
+ } else {
4973
+ s1 = peg$FAILED;
4974
+ if (peg$silentFails === 0) {
4975
+ peg$fail(peg$e51);
4976
+ }
4977
+ }
4978
+ if (s1 === peg$FAILED) {
4979
+ if (input.substr(peg$currPos, 5) === peg$c48) {
4980
+ s1 = peg$c48;
4981
+ peg$currPos += 5;
4982
+ } else {
4983
+ s1 = peg$FAILED;
4984
+ if (peg$silentFails === 0) {
4985
+ peg$fail(peg$e48);
4986
+ }
4987
+ }
4818
4988
  }
4819
4989
  }
4820
4990
  }
@@ -4890,7 +5060,7 @@ function peg$parse(input, options) {
4890
5060
  } else {
4891
5061
  s0 = peg$FAILED;
4892
5062
  if (peg$silentFails === 0) {
4893
- peg$fail(peg$e55);
5063
+ peg$fail(peg$e57);
4894
5064
  }
4895
5065
  }
4896
5066
  return s0;
@@ -4923,12 +5093,12 @@ function peg$parse(input, options) {
4923
5093
  peg$silentFails++;
4924
5094
  s0 = peg$currPos;
4925
5095
  if (input.charCodeAt(peg$currPos) === 34) {
4926
- s1 = peg$c53;
5096
+ s1 = peg$c55;
4927
5097
  peg$currPos++;
4928
5098
  } else {
4929
5099
  s1 = peg$FAILED;
4930
5100
  if (peg$silentFails === 0) {
4931
- peg$fail(peg$e57);
5101
+ peg$fail(peg$e59);
4932
5102
  }
4933
5103
  }
4934
5104
  if (s1 !== peg$FAILED) {
@@ -4939,17 +5109,17 @@ function peg$parse(input, options) {
4939
5109
  s3 = peg$parseDoubleStringChar();
4940
5110
  }
4941
5111
  if (input.charCodeAt(peg$currPos) === 34) {
4942
- s3 = peg$c53;
5112
+ s3 = peg$c55;
4943
5113
  peg$currPos++;
4944
5114
  } else {
4945
5115
  s3 = peg$FAILED;
4946
5116
  if (peg$silentFails === 0) {
4947
- peg$fail(peg$e57);
5117
+ peg$fail(peg$e59);
4948
5118
  }
4949
5119
  }
4950
5120
  if (s3 !== peg$FAILED) {
4951
5121
  peg$savedPos = s0;
4952
- s0 = peg$f73(s2);
5122
+ s0 = peg$f75(s2);
4953
5123
  } else {
4954
5124
  peg$currPos = s0;
4955
5125
  s0 = peg$FAILED;
@@ -4961,12 +5131,12 @@ function peg$parse(input, options) {
4961
5131
  if (s0 === peg$FAILED) {
4962
5132
  s0 = peg$currPos;
4963
5133
  if (input.charCodeAt(peg$currPos) === 39) {
4964
- s1 = peg$c54;
5134
+ s1 = peg$c56;
4965
5135
  peg$currPos++;
4966
5136
  } else {
4967
5137
  s1 = peg$FAILED;
4968
5138
  if (peg$silentFails === 0) {
4969
- peg$fail(peg$e58);
5139
+ peg$fail(peg$e60);
4970
5140
  }
4971
5141
  }
4972
5142
  if (s1 !== peg$FAILED) {
@@ -4977,17 +5147,17 @@ function peg$parse(input, options) {
4977
5147
  s3 = peg$parseSingleStringChar();
4978
5148
  }
4979
5149
  if (input.charCodeAt(peg$currPos) === 39) {
4980
- s3 = peg$c54;
5150
+ s3 = peg$c56;
4981
5151
  peg$currPos++;
4982
5152
  } else {
4983
5153
  s3 = peg$FAILED;
4984
5154
  if (peg$silentFails === 0) {
4985
- peg$fail(peg$e58);
5155
+ peg$fail(peg$e60);
4986
5156
  }
4987
5157
  }
4988
5158
  if (s3 !== peg$FAILED) {
4989
5159
  peg$savedPos = s0;
4990
- s0 = peg$f74(s2);
5160
+ s0 = peg$f76(s2);
4991
5161
  } else {
4992
5162
  peg$currPos = s0;
4993
5163
  s0 = peg$FAILED;
@@ -5001,7 +5171,7 @@ function peg$parse(input, options) {
5001
5171
  if (s0 === peg$FAILED) {
5002
5172
  s1 = peg$FAILED;
5003
5173
  if (peg$silentFails === 0) {
5004
- peg$fail(peg$e56);
5174
+ peg$fail(peg$e58);
5005
5175
  }
5006
5176
  }
5007
5177
  return s0;
@@ -5012,12 +5182,12 @@ function peg$parse(input, options) {
5012
5182
  s1 = peg$currPos;
5013
5183
  peg$silentFails++;
5014
5184
  if (input.charCodeAt(peg$currPos) === 34) {
5015
- s2 = peg$c53;
5185
+ s2 = peg$c55;
5016
5186
  peg$currPos++;
5017
5187
  } else {
5018
5188
  s2 = peg$FAILED;
5019
5189
  if (peg$silentFails === 0) {
5020
- peg$fail(peg$e57);
5190
+ peg$fail(peg$e59);
5021
5191
  }
5022
5192
  }
5023
5193
  peg$silentFails--;
@@ -5031,12 +5201,12 @@ function peg$parse(input, options) {
5031
5201
  s2 = peg$currPos;
5032
5202
  peg$silentFails++;
5033
5203
  if (input.charCodeAt(peg$currPos) === 92) {
5034
- s3 = peg$c55;
5204
+ s3 = peg$c57;
5035
5205
  peg$currPos++;
5036
5206
  } else {
5037
5207
  s3 = peg$FAILED;
5038
5208
  if (peg$silentFails === 0) {
5039
- peg$fail(peg$e59);
5209
+ peg$fail(peg$e61);
5040
5210
  }
5041
5211
  }
5042
5212
  peg$silentFails--;
@@ -5053,12 +5223,12 @@ function peg$parse(input, options) {
5053
5223
  } else {
5054
5224
  s3 = peg$FAILED;
5055
5225
  if (peg$silentFails === 0) {
5056
- peg$fail(peg$e54);
5226
+ peg$fail(peg$e56);
5057
5227
  }
5058
5228
  }
5059
5229
  if (s3 !== peg$FAILED) {
5060
5230
  peg$savedPos = s0;
5061
- s0 = peg$f75(s3);
5231
+ s0 = peg$f77(s3);
5062
5232
  } else {
5063
5233
  peg$currPos = s0;
5064
5234
  s0 = peg$FAILED;
@@ -5074,19 +5244,19 @@ function peg$parse(input, options) {
5074
5244
  if (s0 === peg$FAILED) {
5075
5245
  s0 = peg$currPos;
5076
5246
  if (input.charCodeAt(peg$currPos) === 92) {
5077
- s1 = peg$c55;
5247
+ s1 = peg$c57;
5078
5248
  peg$currPos++;
5079
5249
  } else {
5080
5250
  s1 = peg$FAILED;
5081
5251
  if (peg$silentFails === 0) {
5082
- peg$fail(peg$e59);
5252
+ peg$fail(peg$e61);
5083
5253
  }
5084
5254
  }
5085
5255
  if (s1 !== peg$FAILED) {
5086
5256
  s2 = peg$parseEscapeSequence();
5087
5257
  if (s2 !== peg$FAILED) {
5088
5258
  peg$savedPos = s0;
5089
- s0 = peg$f76(s2);
5259
+ s0 = peg$f78(s2);
5090
5260
  } else {
5091
5261
  peg$currPos = s0;
5092
5262
  s0 = peg$FAILED;
@@ -5104,12 +5274,12 @@ function peg$parse(input, options) {
5104
5274
  s1 = peg$currPos;
5105
5275
  peg$silentFails++;
5106
5276
  if (input.charCodeAt(peg$currPos) === 39) {
5107
- s2 = peg$c54;
5277
+ s2 = peg$c56;
5108
5278
  peg$currPos++;
5109
5279
  } else {
5110
5280
  s2 = peg$FAILED;
5111
5281
  if (peg$silentFails === 0) {
5112
- peg$fail(peg$e58);
5282
+ peg$fail(peg$e60);
5113
5283
  }
5114
5284
  }
5115
5285
  peg$silentFails--;
@@ -5123,12 +5293,12 @@ function peg$parse(input, options) {
5123
5293
  s2 = peg$currPos;
5124
5294
  peg$silentFails++;
5125
5295
  if (input.charCodeAt(peg$currPos) === 92) {
5126
- s3 = peg$c55;
5296
+ s3 = peg$c57;
5127
5297
  peg$currPos++;
5128
5298
  } else {
5129
5299
  s3 = peg$FAILED;
5130
5300
  if (peg$silentFails === 0) {
5131
- peg$fail(peg$e59);
5301
+ peg$fail(peg$e61);
5132
5302
  }
5133
5303
  }
5134
5304
  peg$silentFails--;
@@ -5145,12 +5315,12 @@ function peg$parse(input, options) {
5145
5315
  } else {
5146
5316
  s3 = peg$FAILED;
5147
5317
  if (peg$silentFails === 0) {
5148
- peg$fail(peg$e54);
5318
+ peg$fail(peg$e56);
5149
5319
  }
5150
5320
  }
5151
5321
  if (s3 !== peg$FAILED) {
5152
5322
  peg$savedPos = s0;
5153
- s0 = peg$f77(s3);
5323
+ s0 = peg$f79(s3);
5154
5324
  } else {
5155
5325
  peg$currPos = s0;
5156
5326
  s0 = peg$FAILED;
@@ -5166,19 +5336,19 @@ function peg$parse(input, options) {
5166
5336
  if (s0 === peg$FAILED) {
5167
5337
  s0 = peg$currPos;
5168
5338
  if (input.charCodeAt(peg$currPos) === 92) {
5169
- s1 = peg$c55;
5339
+ s1 = peg$c57;
5170
5340
  peg$currPos++;
5171
5341
  } else {
5172
5342
  s1 = peg$FAILED;
5173
5343
  if (peg$silentFails === 0) {
5174
- peg$fail(peg$e59);
5344
+ peg$fail(peg$e61);
5175
5345
  }
5176
5346
  }
5177
5347
  if (s1 !== peg$FAILED) {
5178
5348
  s2 = peg$parseEscapeSequence();
5179
5349
  if (s2 !== peg$FAILED) {
5180
5350
  peg$savedPos = s0;
5181
- s0 = peg$f78(s2);
5351
+ s0 = peg$f80(s2);
5182
5352
  } else {
5183
5353
  peg$currPos = s0;
5184
5354
  s0 = peg$FAILED;
@@ -5194,97 +5364,97 @@ function peg$parse(input, options) {
5194
5364
  let s0, s1;
5195
5365
  s0 = peg$currPos;
5196
5366
  if (input.charCodeAt(peg$currPos) === 110) {
5197
- s1 = peg$c56;
5367
+ s1 = peg$c58;
5198
5368
  peg$currPos++;
5199
5369
  } else {
5200
5370
  s1 = peg$FAILED;
5201
5371
  if (peg$silentFails === 0) {
5202
- peg$fail(peg$e60);
5372
+ peg$fail(peg$e62);
5203
5373
  }
5204
5374
  }
5205
5375
  if (s1 !== peg$FAILED) {
5206
5376
  peg$savedPos = s0;
5207
- s1 = peg$f79();
5377
+ s1 = peg$f81();
5208
5378
  }
5209
5379
  s0 = s1;
5210
5380
  if (s0 === peg$FAILED) {
5211
5381
  s0 = peg$currPos;
5212
5382
  if (input.charCodeAt(peg$currPos) === 114) {
5213
- s1 = peg$c57;
5383
+ s1 = peg$c59;
5214
5384
  peg$currPos++;
5215
5385
  } else {
5216
5386
  s1 = peg$FAILED;
5217
5387
  if (peg$silentFails === 0) {
5218
- peg$fail(peg$e61);
5388
+ peg$fail(peg$e63);
5219
5389
  }
5220
5390
  }
5221
5391
  if (s1 !== peg$FAILED) {
5222
5392
  peg$savedPos = s0;
5223
- s1 = peg$f80();
5393
+ s1 = peg$f82();
5224
5394
  }
5225
5395
  s0 = s1;
5226
5396
  if (s0 === peg$FAILED) {
5227
5397
  s0 = peg$currPos;
5228
5398
  if (input.charCodeAt(peg$currPos) === 116) {
5229
- s1 = peg$c58;
5399
+ s1 = peg$c60;
5230
5400
  peg$currPos++;
5231
5401
  } else {
5232
5402
  s1 = peg$FAILED;
5233
5403
  if (peg$silentFails === 0) {
5234
- peg$fail(peg$e62);
5404
+ peg$fail(peg$e64);
5235
5405
  }
5236
5406
  }
5237
5407
  if (s1 !== peg$FAILED) {
5238
5408
  peg$savedPos = s0;
5239
- s1 = peg$f81();
5409
+ s1 = peg$f83();
5240
5410
  }
5241
5411
  s0 = s1;
5242
5412
  if (s0 === peg$FAILED) {
5243
5413
  s0 = peg$currPos;
5244
5414
  if (input.charCodeAt(peg$currPos) === 92) {
5245
- s1 = peg$c55;
5415
+ s1 = peg$c57;
5246
5416
  peg$currPos++;
5247
5417
  } else {
5248
5418
  s1 = peg$FAILED;
5249
5419
  if (peg$silentFails === 0) {
5250
- peg$fail(peg$e59);
5420
+ peg$fail(peg$e61);
5251
5421
  }
5252
5422
  }
5253
5423
  if (s1 !== peg$FAILED) {
5254
5424
  peg$savedPos = s0;
5255
- s1 = peg$f82();
5425
+ s1 = peg$f84();
5256
5426
  }
5257
5427
  s0 = s1;
5258
5428
  if (s0 === peg$FAILED) {
5259
5429
  s0 = peg$currPos;
5260
5430
  if (input.charCodeAt(peg$currPos) === 34) {
5261
- s1 = peg$c53;
5431
+ s1 = peg$c55;
5262
5432
  peg$currPos++;
5263
5433
  } else {
5264
5434
  s1 = peg$FAILED;
5265
5435
  if (peg$silentFails === 0) {
5266
- peg$fail(peg$e57);
5436
+ peg$fail(peg$e59);
5267
5437
  }
5268
5438
  }
5269
5439
  if (s1 !== peg$FAILED) {
5270
5440
  peg$savedPos = s0;
5271
- s1 = peg$f83();
5441
+ s1 = peg$f85();
5272
5442
  }
5273
5443
  s0 = s1;
5274
5444
  if (s0 === peg$FAILED) {
5275
5445
  s0 = peg$currPos;
5276
5446
  if (input.charCodeAt(peg$currPos) === 39) {
5277
- s1 = peg$c54;
5447
+ s1 = peg$c56;
5278
5448
  peg$currPos++;
5279
5449
  } else {
5280
5450
  s1 = peg$FAILED;
5281
5451
  if (peg$silentFails === 0) {
5282
- peg$fail(peg$e58);
5452
+ peg$fail(peg$e60);
5283
5453
  }
5284
5454
  }
5285
5455
  if (s1 !== peg$FAILED) {
5286
5456
  peg$savedPos = s0;
5287
- s1 = peg$f84();
5457
+ s1 = peg$f86();
5288
5458
  }
5289
5459
  s0 = s1;
5290
5460
  }
@@ -5299,12 +5469,12 @@ function peg$parse(input, options) {
5299
5469
  peg$silentFails++;
5300
5470
  s0 = peg$currPos;
5301
5471
  if (input.charCodeAt(peg$currPos) === 45) {
5302
- s1 = peg$c59;
5472
+ s1 = peg$c61;
5303
5473
  peg$currPos++;
5304
5474
  } else {
5305
5475
  s1 = peg$FAILED;
5306
5476
  if (peg$silentFails === 0) {
5307
- peg$fail(peg$e64);
5477
+ peg$fail(peg$e66);
5308
5478
  }
5309
5479
  }
5310
5480
  if (s1 === peg$FAILED) {
@@ -5317,7 +5487,7 @@ function peg$parse(input, options) {
5317
5487
  } else {
5318
5488
  s3 = peg$FAILED;
5319
5489
  if (peg$silentFails === 0) {
5320
- peg$fail(peg$e65);
5490
+ peg$fail(peg$e67);
5321
5491
  }
5322
5492
  }
5323
5493
  if (s3 !== peg$FAILED) {
@@ -5329,7 +5499,7 @@ function peg$parse(input, options) {
5329
5499
  } else {
5330
5500
  s3 = peg$FAILED;
5331
5501
  if (peg$silentFails === 0) {
5332
- peg$fail(peg$e65);
5502
+ peg$fail(peg$e67);
5333
5503
  }
5334
5504
  }
5335
5505
  }
@@ -5339,12 +5509,12 @@ function peg$parse(input, options) {
5339
5509
  if (s2 !== peg$FAILED) {
5340
5510
  s3 = peg$currPos;
5341
5511
  if (input.charCodeAt(peg$currPos) === 46) {
5342
- s4 = peg$c60;
5512
+ s4 = peg$c62;
5343
5513
  peg$currPos++;
5344
5514
  } else {
5345
5515
  s4 = peg$FAILED;
5346
5516
  if (peg$silentFails === 0) {
5347
- peg$fail(peg$e66);
5517
+ peg$fail(peg$e68);
5348
5518
  }
5349
5519
  }
5350
5520
  if (s4 !== peg$FAILED) {
@@ -5355,7 +5525,7 @@ function peg$parse(input, options) {
5355
5525
  } else {
5356
5526
  s6 = peg$FAILED;
5357
5527
  if (peg$silentFails === 0) {
5358
- peg$fail(peg$e65);
5528
+ peg$fail(peg$e67);
5359
5529
  }
5360
5530
  }
5361
5531
  if (s6 !== peg$FAILED) {
@@ -5367,7 +5537,7 @@ function peg$parse(input, options) {
5367
5537
  } else {
5368
5538
  s6 = peg$FAILED;
5369
5539
  if (peg$silentFails === 0) {
5370
- peg$fail(peg$e65);
5540
+ peg$fail(peg$e67);
5371
5541
  }
5372
5542
  }
5373
5543
  }
@@ -5389,7 +5559,7 @@ function peg$parse(input, options) {
5389
5559
  s3 = null;
5390
5560
  }
5391
5561
  peg$savedPos = s0;
5392
- s0 = peg$f85(s1, s2, s3);
5562
+ s0 = peg$f87(s1, s2, s3);
5393
5563
  } else {
5394
5564
  peg$currPos = s0;
5395
5565
  s0 = peg$FAILED;
@@ -5398,7 +5568,7 @@ function peg$parse(input, options) {
5398
5568
  if (s0 === peg$FAILED) {
5399
5569
  s1 = peg$FAILED;
5400
5570
  if (peg$silentFails === 0) {
5401
- peg$fail(peg$e63);
5571
+ peg$fail(peg$e65);
5402
5572
  }
5403
5573
  }
5404
5574
  return s0;
@@ -5408,12 +5578,12 @@ function peg$parse(input, options) {
5408
5578
  peg$silentFails++;
5409
5579
  s0 = peg$currPos;
5410
5580
  if (input.charCodeAt(peg$currPos) === 45) {
5411
- s1 = peg$c59;
5581
+ s1 = peg$c61;
5412
5582
  peg$currPos++;
5413
5583
  } else {
5414
5584
  s1 = peg$FAILED;
5415
5585
  if (peg$silentFails === 0) {
5416
- peg$fail(peg$e64);
5586
+ peg$fail(peg$e66);
5417
5587
  }
5418
5588
  }
5419
5589
  if (s1 === peg$FAILED) {
@@ -5426,7 +5596,7 @@ function peg$parse(input, options) {
5426
5596
  } else {
5427
5597
  s3 = peg$FAILED;
5428
5598
  if (peg$silentFails === 0) {
5429
- peg$fail(peg$e65);
5599
+ peg$fail(peg$e67);
5430
5600
  }
5431
5601
  }
5432
5602
  if (s3 !== peg$FAILED) {
@@ -5438,7 +5608,7 @@ function peg$parse(input, options) {
5438
5608
  } else {
5439
5609
  s3 = peg$FAILED;
5440
5610
  if (peg$silentFails === 0) {
5441
- peg$fail(peg$e65);
5611
+ peg$fail(peg$e67);
5442
5612
  }
5443
5613
  }
5444
5614
  }
@@ -5448,12 +5618,12 @@ function peg$parse(input, options) {
5448
5618
  if (s2 !== peg$FAILED) {
5449
5619
  s3 = peg$currPos;
5450
5620
  if (input.charCodeAt(peg$currPos) === 46) {
5451
- s4 = peg$c60;
5621
+ s4 = peg$c62;
5452
5622
  peg$currPos++;
5453
5623
  } else {
5454
5624
  s4 = peg$FAILED;
5455
5625
  if (peg$silentFails === 0) {
5456
- peg$fail(peg$e66);
5626
+ peg$fail(peg$e68);
5457
5627
  }
5458
5628
  }
5459
5629
  if (s4 !== peg$FAILED) {
@@ -5464,7 +5634,7 @@ function peg$parse(input, options) {
5464
5634
  } else {
5465
5635
  s6 = peg$FAILED;
5466
5636
  if (peg$silentFails === 0) {
5467
- peg$fail(peg$e65);
5637
+ peg$fail(peg$e67);
5468
5638
  }
5469
5639
  }
5470
5640
  if (s6 !== peg$FAILED) {
@@ -5476,7 +5646,7 @@ function peg$parse(input, options) {
5476
5646
  } else {
5477
5647
  s6 = peg$FAILED;
5478
5648
  if (peg$silentFails === 0) {
5479
- peg$fail(peg$e65);
5649
+ peg$fail(peg$e67);
5480
5650
  }
5481
5651
  }
5482
5652
  }
@@ -5497,63 +5667,63 @@ function peg$parse(input, options) {
5497
5667
  if (s3 === peg$FAILED) {
5498
5668
  s3 = null;
5499
5669
  }
5500
- if (input.substr(peg$currPos, 2) === peg$c61) {
5501
- s4 = peg$c61;
5670
+ if (input.substr(peg$currPos, 2) === peg$c63) {
5671
+ s4 = peg$c63;
5502
5672
  peg$currPos += 2;
5503
5673
  } else {
5504
5674
  s4 = peg$FAILED;
5505
5675
  if (peg$silentFails === 0) {
5506
- peg$fail(peg$e68);
5676
+ peg$fail(peg$e70);
5507
5677
  }
5508
5678
  }
5509
5679
  if (s4 === peg$FAILED) {
5510
5680
  if (input.charCodeAt(peg$currPos) === 37) {
5511
- s4 = peg$c62;
5681
+ s4 = peg$c64;
5512
5682
  peg$currPos++;
5513
5683
  } else {
5514
5684
  s4 = peg$FAILED;
5515
5685
  if (peg$silentFails === 0) {
5516
- peg$fail(peg$e69);
5686
+ peg$fail(peg$e71);
5517
5687
  }
5518
5688
  }
5519
5689
  if (s4 === peg$FAILED) {
5520
- if (input.substr(peg$currPos, 2) === peg$c63) {
5521
- s4 = peg$c63;
5690
+ if (input.substr(peg$currPos, 2) === peg$c65) {
5691
+ s4 = peg$c65;
5522
5692
  peg$currPos += 2;
5523
5693
  } else {
5524
5694
  s4 = peg$FAILED;
5525
5695
  if (peg$silentFails === 0) {
5526
- peg$fail(peg$e70);
5696
+ peg$fail(peg$e72);
5527
5697
  }
5528
5698
  }
5529
5699
  if (s4 === peg$FAILED) {
5530
- if (input.substr(peg$currPos, 3) === peg$c64) {
5531
- s4 = peg$c64;
5700
+ if (input.substr(peg$currPos, 3) === peg$c66) {
5701
+ s4 = peg$c66;
5532
5702
  peg$currPos += 3;
5533
5703
  } else {
5534
5704
  s4 = peg$FAILED;
5535
5705
  if (peg$silentFails === 0) {
5536
- peg$fail(peg$e71);
5706
+ peg$fail(peg$e73);
5537
5707
  }
5538
5708
  }
5539
5709
  if (s4 === peg$FAILED) {
5540
- if (input.substr(peg$currPos, 2) === peg$c65) {
5541
- s4 = peg$c65;
5710
+ if (input.substr(peg$currPos, 2) === peg$c67) {
5711
+ s4 = peg$c67;
5542
5712
  peg$currPos += 2;
5543
5713
  } else {
5544
5714
  s4 = peg$FAILED;
5545
5715
  if (peg$silentFails === 0) {
5546
- peg$fail(peg$e72);
5716
+ peg$fail(peg$e74);
5547
5717
  }
5548
5718
  }
5549
5719
  if (s4 === peg$FAILED) {
5550
- if (input.substr(peg$currPos, 2) === peg$c66) {
5551
- s4 = peg$c66;
5720
+ if (input.substr(peg$currPos, 2) === peg$c68) {
5721
+ s4 = peg$c68;
5552
5722
  peg$currPos += 2;
5553
5723
  } else {
5554
5724
  s4 = peg$FAILED;
5555
5725
  if (peg$silentFails === 0) {
5556
- peg$fail(peg$e73);
5726
+ peg$fail(peg$e75);
5557
5727
  }
5558
5728
  }
5559
5729
  }
@@ -5563,7 +5733,7 @@ function peg$parse(input, options) {
5563
5733
  }
5564
5734
  if (s4 !== peg$FAILED) {
5565
5735
  peg$savedPos = s0;
5566
- s0 = peg$f86(s1, s2, s3, s4);
5736
+ s0 = peg$f88(s1, s2, s3, s4);
5567
5737
  } else {
5568
5738
  peg$currPos = s0;
5569
5739
  s0 = peg$FAILED;
@@ -5576,7 +5746,7 @@ function peg$parse(input, options) {
5576
5746
  if (s0 === peg$FAILED) {
5577
5747
  s1 = peg$FAILED;
5578
5748
  if (peg$silentFails === 0) {
5579
- peg$fail(peg$e67);
5749
+ peg$fail(peg$e69);
5580
5750
  }
5581
5751
  }
5582
5752
  return s0;
@@ -5585,34 +5755,34 @@ function peg$parse(input, options) {
5585
5755
  let s0, s1;
5586
5756
  peg$silentFails++;
5587
5757
  s0 = peg$currPos;
5588
- if (input.substr(peg$currPos, 4) === peg$c67) {
5589
- s1 = peg$c67;
5758
+ if (input.substr(peg$currPos, 4) === peg$c69) {
5759
+ s1 = peg$c69;
5590
5760
  peg$currPos += 4;
5591
5761
  } else {
5592
5762
  s1 = peg$FAILED;
5593
5763
  if (peg$silentFails === 0) {
5594
- peg$fail(peg$e75);
5764
+ peg$fail(peg$e77);
5595
5765
  }
5596
5766
  }
5597
5767
  if (s1 !== peg$FAILED) {
5598
5768
  peg$savedPos = s0;
5599
- s1 = peg$f87();
5769
+ s1 = peg$f89();
5600
5770
  }
5601
5771
  s0 = s1;
5602
5772
  if (s0 === peg$FAILED) {
5603
5773
  s0 = peg$currPos;
5604
- if (input.substr(peg$currPos, 5) === peg$c68) {
5605
- s1 = peg$c68;
5774
+ if (input.substr(peg$currPos, 5) === peg$c70) {
5775
+ s1 = peg$c70;
5606
5776
  peg$currPos += 5;
5607
5777
  } else {
5608
5778
  s1 = peg$FAILED;
5609
5779
  if (peg$silentFails === 0) {
5610
- peg$fail(peg$e76);
5780
+ peg$fail(peg$e78);
5611
5781
  }
5612
5782
  }
5613
5783
  if (s1 !== peg$FAILED) {
5614
5784
  peg$savedPos = s0;
5615
- s1 = peg$f88();
5785
+ s1 = peg$f90();
5616
5786
  }
5617
5787
  s0 = s1;
5618
5788
  }
@@ -5620,7 +5790,7 @@ function peg$parse(input, options) {
5620
5790
  if (s0 === peg$FAILED) {
5621
5791
  s1 = peg$FAILED;
5622
5792
  if (peg$silentFails === 0) {
5623
- peg$fail(peg$e74);
5793
+ peg$fail(peg$e76);
5624
5794
  }
5625
5795
  }
5626
5796
  return s0;
@@ -5635,7 +5805,7 @@ function peg$parse(input, options) {
5635
5805
  } else {
5636
5806
  s1 = peg$FAILED;
5637
5807
  if (peg$silentFails === 0) {
5638
- peg$fail(peg$e78);
5808
+ peg$fail(peg$e80);
5639
5809
  }
5640
5810
  }
5641
5811
  if (s1 !== peg$FAILED) {
@@ -5646,7 +5816,7 @@ function peg$parse(input, options) {
5646
5816
  } else {
5647
5817
  s3 = peg$FAILED;
5648
5818
  if (peg$silentFails === 0) {
5649
- peg$fail(peg$e55);
5819
+ peg$fail(peg$e57);
5650
5820
  }
5651
5821
  }
5652
5822
  while (s3 !== peg$FAILED) {
@@ -5657,12 +5827,12 @@ function peg$parse(input, options) {
5657
5827
  } else {
5658
5828
  s3 = peg$FAILED;
5659
5829
  if (peg$silentFails === 0) {
5660
- peg$fail(peg$e55);
5830
+ peg$fail(peg$e57);
5661
5831
  }
5662
5832
  }
5663
5833
  }
5664
5834
  peg$savedPos = s0;
5665
- s0 = peg$f89(s1, s2);
5835
+ s0 = peg$f91(s1, s2);
5666
5836
  } else {
5667
5837
  peg$currPos = s0;
5668
5838
  s0 = peg$FAILED;
@@ -5671,7 +5841,7 @@ function peg$parse(input, options) {
5671
5841
  if (s0 === peg$FAILED) {
5672
5842
  s1 = peg$FAILED;
5673
5843
  if (peg$silentFails === 0) {
5674
- peg$fail(peg$e77);
5844
+ peg$fail(peg$e79);
5675
5845
  }
5676
5846
  }
5677
5847
  return s0;
@@ -5680,12 +5850,12 @@ function peg$parse(input, options) {
5680
5850
  let s0, s1, s2, s3, s4, s5;
5681
5851
  s0 = peg$currPos;
5682
5852
  if (input.charCodeAt(peg$currPos) === 91) {
5683
- s1 = peg$c31;
5853
+ s1 = peg$c33;
5684
5854
  peg$currPos++;
5685
5855
  } else {
5686
5856
  s1 = peg$FAILED;
5687
5857
  if (peg$silentFails === 0) {
5688
- peg$fail(peg$e31);
5858
+ peg$fail(peg$e33);
5689
5859
  }
5690
5860
  }
5691
5861
  if (s1 !== peg$FAILED) {
@@ -5696,17 +5866,17 @@ function peg$parse(input, options) {
5696
5866
  }
5697
5867
  s4 = peg$parse_();
5698
5868
  if (input.charCodeAt(peg$currPos) === 93) {
5699
- s5 = peg$c33;
5869
+ s5 = peg$c35;
5700
5870
  peg$currPos++;
5701
5871
  } else {
5702
5872
  s5 = peg$FAILED;
5703
5873
  if (peg$silentFails === 0) {
5704
- peg$fail(peg$e33);
5874
+ peg$fail(peg$e35);
5705
5875
  }
5706
5876
  }
5707
5877
  if (s5 !== peg$FAILED) {
5708
5878
  peg$savedPos = s0;
5709
- s0 = peg$f90(s3);
5879
+ s0 = peg$f92(s3);
5710
5880
  } else {
5711
5881
  peg$currPos = s0;
5712
5882
  s0 = peg$FAILED;
@@ -5726,12 +5896,12 @@ function peg$parse(input, options) {
5726
5896
  s3 = peg$currPos;
5727
5897
  s4 = peg$parse_();
5728
5898
  if (input.charCodeAt(peg$currPos) === 44) {
5729
- s5 = peg$c32;
5899
+ s5 = peg$c34;
5730
5900
  peg$currPos++;
5731
5901
  } else {
5732
5902
  s5 = peg$FAILED;
5733
5903
  if (peg$silentFails === 0) {
5734
- peg$fail(peg$e32);
5904
+ peg$fail(peg$e34);
5735
5905
  }
5736
5906
  }
5737
5907
  if (s5 === peg$FAILED) {
@@ -5751,12 +5921,12 @@ function peg$parse(input, options) {
5751
5921
  s3 = peg$currPos;
5752
5922
  s4 = peg$parse_();
5753
5923
  if (input.charCodeAt(peg$currPos) === 44) {
5754
- s5 = peg$c32;
5924
+ s5 = peg$c34;
5755
5925
  peg$currPos++;
5756
5926
  } else {
5757
5927
  s5 = peg$FAILED;
5758
5928
  if (peg$silentFails === 0) {
5759
- peg$fail(peg$e32);
5929
+ peg$fail(peg$e34);
5760
5930
  }
5761
5931
  }
5762
5932
  if (s5 === peg$FAILED) {
@@ -5775,12 +5945,12 @@ function peg$parse(input, options) {
5775
5945
  s3 = peg$currPos;
5776
5946
  s4 = peg$parse_();
5777
5947
  if (input.charCodeAt(peg$currPos) === 44) {
5778
- s5 = peg$c32;
5948
+ s5 = peg$c34;
5779
5949
  peg$currPos++;
5780
5950
  } else {
5781
5951
  s5 = peg$FAILED;
5782
5952
  if (peg$silentFails === 0) {
5783
- peg$fail(peg$e32);
5953
+ peg$fail(peg$e34);
5784
5954
  }
5785
5955
  }
5786
5956
  if (s5 !== peg$FAILED) {
@@ -5794,7 +5964,7 @@ function peg$parse(input, options) {
5794
5964
  s3 = null;
5795
5965
  }
5796
5966
  peg$savedPos = s0;
5797
- s0 = peg$f91(s1, s2);
5967
+ s0 = peg$f93(s1, s2);
5798
5968
  } else {
5799
5969
  peg$currPos = s0;
5800
5970
  s0 = peg$FAILED;
@@ -5848,7 +6018,7 @@ function peg$parse(input, options) {
5848
6018
  }
5849
6019
  if (s5 !== peg$FAILED) {
5850
6020
  peg$savedPos = s0;
5851
- s0 = peg$f92(s3);
6021
+ s0 = peg$f94(s3);
5852
6022
  } else {
5853
6023
  peg$currPos = s0;
5854
6024
  s0 = peg$FAILED;
@@ -5868,12 +6038,12 @@ function peg$parse(input, options) {
5868
6038
  s3 = peg$currPos;
5869
6039
  s4 = peg$parse_();
5870
6040
  if (input.charCodeAt(peg$currPos) === 44) {
5871
- s5 = peg$c32;
6041
+ s5 = peg$c34;
5872
6042
  peg$currPos++;
5873
6043
  } else {
5874
6044
  s5 = peg$FAILED;
5875
6045
  if (peg$silentFails === 0) {
5876
- peg$fail(peg$e32);
6046
+ peg$fail(peg$e34);
5877
6047
  }
5878
6048
  }
5879
6049
  if (s5 === peg$FAILED) {
@@ -5893,12 +6063,12 @@ function peg$parse(input, options) {
5893
6063
  s3 = peg$currPos;
5894
6064
  s4 = peg$parse_();
5895
6065
  if (input.charCodeAt(peg$currPos) === 44) {
5896
- s5 = peg$c32;
6066
+ s5 = peg$c34;
5897
6067
  peg$currPos++;
5898
6068
  } else {
5899
6069
  s5 = peg$FAILED;
5900
6070
  if (peg$silentFails === 0) {
5901
- peg$fail(peg$e32);
6071
+ peg$fail(peg$e34);
5902
6072
  }
5903
6073
  }
5904
6074
  if (s5 === peg$FAILED) {
@@ -5915,7 +6085,7 @@ function peg$parse(input, options) {
5915
6085
  }
5916
6086
  }
5917
6087
  peg$savedPos = s0;
5918
- s0 = peg$f93(s1, s2);
6088
+ s0 = peg$f95(s1, s2);
5919
6089
  } else {
5920
6090
  peg$currPos = s0;
5921
6091
  s0 = peg$FAILED;
@@ -5929,12 +6099,12 @@ function peg$parse(input, options) {
5929
6099
  if (s1 !== peg$FAILED) {
5930
6100
  s2 = peg$parse_();
5931
6101
  if (input.charCodeAt(peg$currPos) === 61) {
5932
- s3 = peg$c50;
6102
+ s3 = peg$c52;
5933
6103
  peg$currPos++;
5934
6104
  } else {
5935
6105
  s3 = peg$FAILED;
5936
6106
  if (peg$silentFails === 0) {
5937
- peg$fail(peg$e50);
6107
+ peg$fail(peg$e52);
5938
6108
  }
5939
6109
  }
5940
6110
  if (s3 !== peg$FAILED) {
@@ -5942,7 +6112,7 @@ function peg$parse(input, options) {
5942
6112
  s5 = peg$parseAttributeValue();
5943
6113
  if (s5 !== peg$FAILED) {
5944
6114
  peg$savedPos = s0;
5945
- s0 = peg$f94(s1, s5);
6115
+ s0 = peg$f96(s1, s5);
5946
6116
  } else {
5947
6117
  peg$currPos = s0;
5948
6118
  s0 = peg$FAILED;
@@ -5960,7 +6130,7 @@ function peg$parse(input, options) {
5960
6130
  s1 = peg$parseIdentifier();
5961
6131
  if (s1 !== peg$FAILED) {
5962
6132
  peg$savedPos = s0;
5963
- s1 = peg$f95(s1);
6133
+ s1 = peg$f97(s1);
5964
6134
  }
5965
6135
  s0 = s1;
5966
6136
  }
@@ -5993,7 +6163,7 @@ function peg$parse(input, options) {
5993
6163
  } else {
5994
6164
  s1 = peg$FAILED;
5995
6165
  if (peg$silentFails === 0) {
5996
- peg$fail(peg$e79);
6166
+ peg$fail(peg$e81);
5997
6167
  }
5998
6168
  }
5999
6169
  if (s1 !== peg$FAILED) {
@@ -6005,7 +6175,7 @@ function peg$parse(input, options) {
6005
6175
  } else {
6006
6176
  s1 = peg$FAILED;
6007
6177
  if (peg$silentFails === 0) {
6008
- peg$fail(peg$e79);
6178
+ peg$fail(peg$e81);
6009
6179
  }
6010
6180
  }
6011
6181
  }
@@ -6025,7 +6195,7 @@ function peg$parse(input, options) {
6025
6195
  if (s0 === peg$FAILED) {
6026
6196
  s1 = peg$FAILED;
6027
6197
  if (peg$silentFails === 0) {
6028
- peg$fail(peg$e80);
6198
+ peg$fail(peg$e82);
6029
6199
  }
6030
6200
  }
6031
6201
  return s0;
@@ -6033,13 +6203,13 @@ function peg$parse(input, options) {
6033
6203
  function peg$parseLineComment() {
6034
6204
  let s0, s1, s2, s3, s4;
6035
6205
  s0 = peg$currPos;
6036
- if (input.substr(peg$currPos, 2) === peg$c51) {
6037
- s1 = peg$c51;
6206
+ if (input.substr(peg$currPos, 2) === peg$c53) {
6207
+ s1 = peg$c53;
6038
6208
  peg$currPos += 2;
6039
6209
  } else {
6040
6210
  s1 = peg$FAILED;
6041
6211
  if (peg$silentFails === 0) {
6042
- peg$fail(peg$e52);
6212
+ peg$fail(peg$e54);
6043
6213
  }
6044
6214
  }
6045
6215
  if (s1 !== peg$FAILED) {
@@ -6050,7 +6220,7 @@ function peg$parse(input, options) {
6050
6220
  } else {
6051
6221
  s3 = peg$FAILED;
6052
6222
  if (peg$silentFails === 0) {
6053
- peg$fail(peg$e81);
6223
+ peg$fail(peg$e83);
6054
6224
  }
6055
6225
  }
6056
6226
  while (s3 !== peg$FAILED) {
@@ -6061,17 +6231,17 @@ function peg$parse(input, options) {
6061
6231
  } else {
6062
6232
  s3 = peg$FAILED;
6063
6233
  if (peg$silentFails === 0) {
6064
- peg$fail(peg$e81);
6234
+ peg$fail(peg$e83);
6065
6235
  }
6066
6236
  }
6067
6237
  }
6068
6238
  if (input.charCodeAt(peg$currPos) === 10) {
6069
- s3 = peg$c69;
6239
+ s3 = peg$c71;
6070
6240
  peg$currPos++;
6071
6241
  } else {
6072
6242
  s3 = peg$FAILED;
6073
6243
  if (peg$silentFails === 0) {
6074
- peg$fail(peg$e82);
6244
+ peg$fail(peg$e84);
6075
6245
  }
6076
6246
  }
6077
6247
  if (s3 === peg$FAILED) {
@@ -6083,7 +6253,7 @@ function peg$parse(input, options) {
6083
6253
  } else {
6084
6254
  s4 = peg$FAILED;
6085
6255
  if (peg$silentFails === 0) {
6086
- peg$fail(peg$e54);
6256
+ peg$fail(peg$e56);
6087
6257
  }
6088
6258
  }
6089
6259
  peg$silentFails--;
@@ -6110,13 +6280,13 @@ function peg$parse(input, options) {
6110
6280
  function peg$parseBlockComment() {
6111
6281
  let s0, s1, s2, s3, s4, s5;
6112
6282
  s0 = peg$currPos;
6113
- if (input.substr(peg$currPos, 2) === peg$c52) {
6114
- s1 = peg$c52;
6283
+ if (input.substr(peg$currPos, 2) === peg$c54) {
6284
+ s1 = peg$c54;
6115
6285
  peg$currPos += 2;
6116
6286
  } else {
6117
6287
  s1 = peg$FAILED;
6118
6288
  if (peg$silentFails === 0) {
6119
- peg$fail(peg$e53);
6289
+ peg$fail(peg$e55);
6120
6290
  }
6121
6291
  }
6122
6292
  if (s1 !== peg$FAILED) {
@@ -6124,13 +6294,13 @@ function peg$parse(input, options) {
6124
6294
  s3 = peg$currPos;
6125
6295
  s4 = peg$currPos;
6126
6296
  peg$silentFails++;
6127
- if (input.substr(peg$currPos, 2) === peg$c70) {
6128
- s5 = peg$c70;
6297
+ if (input.substr(peg$currPos, 2) === peg$c72) {
6298
+ s5 = peg$c72;
6129
6299
  peg$currPos += 2;
6130
6300
  } else {
6131
6301
  s5 = peg$FAILED;
6132
6302
  if (peg$silentFails === 0) {
6133
- peg$fail(peg$e83);
6303
+ peg$fail(peg$e85);
6134
6304
  }
6135
6305
  }
6136
6306
  peg$silentFails--;
@@ -6147,7 +6317,7 @@ function peg$parse(input, options) {
6147
6317
  } else {
6148
6318
  s5 = peg$FAILED;
6149
6319
  if (peg$silentFails === 0) {
6150
- peg$fail(peg$e54);
6320
+ peg$fail(peg$e56);
6151
6321
  }
6152
6322
  }
6153
6323
  if (s5 !== peg$FAILED) {
@@ -6166,13 +6336,13 @@ function peg$parse(input, options) {
6166
6336
  s3 = peg$currPos;
6167
6337
  s4 = peg$currPos;
6168
6338
  peg$silentFails++;
6169
- if (input.substr(peg$currPos, 2) === peg$c70) {
6170
- s5 = peg$c70;
6339
+ if (input.substr(peg$currPos, 2) === peg$c72) {
6340
+ s5 = peg$c72;
6171
6341
  peg$currPos += 2;
6172
6342
  } else {
6173
6343
  s5 = peg$FAILED;
6174
6344
  if (peg$silentFails === 0) {
6175
- peg$fail(peg$e83);
6345
+ peg$fail(peg$e85);
6176
6346
  }
6177
6347
  }
6178
6348
  peg$silentFails--;
@@ -6189,7 +6359,7 @@ function peg$parse(input, options) {
6189
6359
  } else {
6190
6360
  s5 = peg$FAILED;
6191
6361
  if (peg$silentFails === 0) {
6192
- peg$fail(peg$e54);
6362
+ peg$fail(peg$e56);
6193
6363
  }
6194
6364
  }
6195
6365
  if (s5 !== peg$FAILED) {
@@ -6204,13 +6374,13 @@ function peg$parse(input, options) {
6204
6374
  s3 = peg$FAILED;
6205
6375
  }
6206
6376
  }
6207
- if (input.substr(peg$currPos, 2) === peg$c70) {
6208
- s3 = peg$c70;
6377
+ if (input.substr(peg$currPos, 2) === peg$c72) {
6378
+ s3 = peg$c72;
6209
6379
  peg$currPos += 2;
6210
6380
  } else {
6211
6381
  s3 = peg$FAILED;
6212
6382
  if (peg$silentFails === 0) {
6213
- peg$fail(peg$e83);
6383
+ peg$fail(peg$e85);
6214
6384
  }
6215
6385
  }
6216
6386
  if (s3 !== peg$FAILED) {
@@ -7766,11 +7936,36 @@ function generateGridClasses(_theme, prefix) {
7766
7936
  }
7767
7937
 
7768
7938
  /* When explicit width is set, don't flex-grow */
7769
- .${prefix}-row[style*="width:"],
7770
- .${prefix}-col[style*="width:"] {
7939
+ .${prefix}-row[style*="width"],
7940
+ .${prefix}-col[style*="width"] {
7941
+ flex: 0 0 auto;
7942
+ }
7943
+
7944
+ /* Stack - vertical content grouping (does not fill available space) */
7945
+ .${prefix}-stack {
7946
+ display: flex;
7947
+ flex-direction: column;
7771
7948
  flex: 0 0 auto;
7949
+ box-sizing: border-box;
7950
+ }
7951
+
7952
+ /* Relative - container for absolute positioning children */
7953
+ .${prefix}-relative {
7954
+ position: relative;
7955
+ display: inline-flex;
7772
7956
  }
7773
7957
 
7958
+ /* Anchor positioning for relative container children */
7959
+ .${prefix}-anchor-top-left { position: absolute; top: -4px; left: -4px; }
7960
+ .${prefix}-anchor-top-center { position: absolute; top: -4px; left: 50%; transform: translateX(-50%); }
7961
+ .${prefix}-anchor-top-right { position: absolute; top: -4px; right: -4px; }
7962
+ .${prefix}-anchor-center-left { position: absolute; top: 50%; left: -4px; transform: translateY(-50%); }
7963
+ .${prefix}-anchor-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
7964
+ .${prefix}-anchor-center-right { position: absolute; top: 50%; right: -4px; transform: translateY(-50%); }
7965
+ .${prefix}-anchor-bottom-left { position: absolute; bottom: -4px; left: -4px; }
7966
+ .${prefix}-anchor-bottom-center { position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); }
7967
+ .${prefix}-anchor-bottom-right { position: absolute; bottom: -4px; right: -4px; }
7968
+
7774
7969
  `;
7775
7970
  for (let i = 1; i <= 12; i++) {
7776
7971
  css += `.${prefix}-col-${i} { flex: ${i} 0 0%; min-width: 0; }
@@ -8393,6 +8588,30 @@ function renderCol(node, ctx) {
8393
8588
  ${children}
8394
8589
  </div>`;
8395
8590
  }
8591
+ function renderStack(node, ctx) {
8592
+ const classes = ctx.buildClassString([
8593
+ `${ctx.prefix}-stack`,
8594
+ ...ctx.getCommonClasses(node)
8595
+ ]);
8596
+ const styles = ctx.buildCommonStyles(node);
8597
+ const styleAttr = styles ? ` style="${styles}"` : "";
8598
+ const children = ctx.renderChildren(node.children);
8599
+ return `<div class="${classes}"${styleAttr}>
8600
+ ${children}
8601
+ </div>`;
8602
+ }
8603
+ function renderRelative(node, ctx) {
8604
+ const classes = ctx.buildClassString([
8605
+ `${ctx.prefix}-relative`,
8606
+ ...ctx.getCommonClasses(node)
8607
+ ]);
8608
+ const styles = ctx.buildCommonStyles(node);
8609
+ const styleAttr = styles ? ` style="${styles}"` : "";
8610
+ const children = ctx.renderChildren(node.children);
8611
+ return `<div class="${classes}"${styleAttr}>
8612
+ ${children}
8613
+ </div>`;
8614
+ }
8396
8615
 
8397
8616
  // src/renderer/html/renderers/container.ts
8398
8617
  function buildInteractiveAttrs(node) {
@@ -19228,6 +19447,28 @@ var lucideIcons = {
19228
19447
  }
19229
19448
  ]
19230
19449
  ],
19450
+ "circle-help": [
19451
+ [
19452
+ "circle",
19453
+ {
19454
+ "cx": "12",
19455
+ "cy": "12",
19456
+ "r": "10"
19457
+ }
19458
+ ],
19459
+ [
19460
+ "path",
19461
+ {
19462
+ "d": "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"
19463
+ }
19464
+ ],
19465
+ [
19466
+ "path",
19467
+ {
19468
+ "d": "M12 17h.01"
19469
+ }
19470
+ ]
19471
+ ],
19231
19472
  "circle-minus": [
19232
19473
  [
19233
19474
  "circle",
@@ -55290,10 +55531,20 @@ function renderAvatar(node, ctx) {
55290
55531
  const sizeStyle = sizeResolved.style || "";
55291
55532
  const combinedStyles = baseStyles && sizeStyle ? `${baseStyles}; ${sizeStyle}` : baseStyles || sizeStyle;
55292
55533
  const styleAttr = combinedStyles ? ` style="${combinedStyles}"` : "";
55293
- const initials = node.name ? node.name.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2) : "?";
55534
+ let content;
55535
+ if (node.name) {
55536
+ content = node.name.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
55537
+ } else {
55538
+ const iconData = getIconData("user");
55539
+ if (iconData) {
55540
+ content = renderIconSvg(iconData, 16, 2, `${ctx.prefix}-icon`);
55541
+ } else {
55542
+ content = "?";
55543
+ }
55544
+ }
55294
55545
  const interactiveAttrs = buildInteractiveAttrs2(node);
55295
55546
  const interactiveAttrStr = ctx.buildAttrsString(interactiveAttrs);
55296
- return `<div class="${classes}"${styleAttr}${interactiveAttrStr} role="img" aria-label="${ctx.escapeHtml(node.name || "Avatar")}">${initials}</div>`;
55547
+ return `<div class="${classes}"${styleAttr}${interactiveAttrStr} role="img" aria-label="${ctx.escapeHtml(node.name || "Avatar")}">${content}</div>`;
55297
55548
  }
55298
55549
  function renderBadge(node, ctx) {
55299
55550
  const interactiveAttrs = buildInteractiveAttrs2(node);
@@ -55305,6 +55556,7 @@ function renderBadge(node, ctx) {
55305
55556
  `${ctx.prefix}-badge-icon`,
55306
55557
  sizeResolved.className,
55307
55558
  node.variant ? `${ctx.prefix}-badge-icon-${node.variant}` : void 0,
55559
+ node.anchor ? `${ctx.prefix}-anchor-${node.anchor}` : void 0,
55308
55560
  ...ctx.getCommonClasses(node)
55309
55561
  ]);
55310
55562
  const baseStyles2 = ctx.buildCommonStyles(node);
@@ -55324,6 +55576,7 @@ function renderBadge(node, ctx) {
55324
55576
  sizeResolved.className,
55325
55577
  node.variant ? `${ctx.prefix}-badge-${node.variant}` : void 0,
55326
55578
  node.pill ? `${ctx.prefix}-badge-pill` : void 0,
55579
+ node.anchor ? `${ctx.prefix}-anchor-${node.anchor}` : void 0,
55327
55580
  ...ctx.getCommonClasses(node)
55328
55581
  ]);
55329
55582
  const baseStyles = ctx.buildCommonStyles(node);
@@ -55744,6 +55997,8 @@ var HtmlRenderer = class extends BaseRenderer {
55744
55997
  // Grid nodes
55745
55998
  Row: (node) => this.renderRow(node),
55746
55999
  Col: (node) => this.renderCol(node),
56000
+ Stack: (node) => this.renderStack(node),
56001
+ Relative: (node) => this.renderRelative(node),
55747
56002
  // Container nodes
55748
56003
  Card: (node) => this.renderCard(node),
55749
56004
  Modal: (node) => this.renderModal(node),
@@ -55903,6 +56158,12 @@ ${title}${children}
55903
56158
  renderCol(node) {
55904
56159
  return renderCol(node, this.getGridRenderContext());
55905
56160
  }
56161
+ renderStack(node) {
56162
+ return renderStack(node, this.getRenderContext());
56163
+ }
56164
+ renderRelative(node) {
56165
+ return renderRelative(node, this.getRenderContext());
56166
+ }
55906
56167
  /**
55907
56168
  * Build common inline styles for all values
55908
56169
  *
@@ -56065,6 +56326,9 @@ ${title}${children}
56065
56326
  if (commonStyles) {
56066
56327
  styles.push(commonStyles);
56067
56328
  }
56329
+ if (node.w !== void 0 && node.flex === void 0) {
56330
+ styles.push("flex: none");
56331
+ }
56068
56332
  if (node.order !== void 0) {
56069
56333
  styles.push(`order: ${node.order}`);
56070
56334
  }
@@ -56530,6 +56794,22 @@ var COMPONENT_SPECS = [
56530
56794
  hasChildren: true,
56531
56795
  description: "Vertical flex container or grid column"
56532
56796
  },
56797
+ {
56798
+ name: "stack",
56799
+ nodeType: "Stack",
56800
+ category: "grid",
56801
+ attributes: [...COMMON_ATTRIBUTES, "border", "bg"],
56802
+ hasChildren: true,
56803
+ description: "Vertical stack that only takes content height"
56804
+ },
56805
+ {
56806
+ name: "relative",
56807
+ nodeType: "Relative",
56808
+ category: "grid",
56809
+ attributes: [...COMMON_ATTRIBUTES],
56810
+ hasChildren: true,
56811
+ description: "Container for overlaying elements with absolute positioning"
56812
+ },
56533
56813
  // ============================================
56534
56814
  // Container Components
56535
56815
  // ============================================
@@ -56690,7 +56970,7 @@ var COMPONENT_SPECS = [
56690
56970
  name: "badge",
56691
56971
  nodeType: "Badge",
56692
56972
  category: "display",
56693
- attributes: [...COMMON_ATTRIBUTES, "variant", "pill", "icon", "size"],
56973
+ attributes: [...COMMON_ATTRIBUTES, "variant", "pill", "icon", "size", "anchor"],
56694
56974
  hasChildren: false,
56695
56975
  description: "Status badge"
56696
56976
  },
@@ -57322,6 +57602,46 @@ function importFromJson(json) {
57322
57602
  }
57323
57603
 
57324
57604
  // src/export/figma.ts
57605
+ var SPACING_SCALE = {
57606
+ 0: 0,
57607
+ 1: 4,
57608
+ 2: 8,
57609
+ 3: 12,
57610
+ 4: 16,
57611
+ 5: 20,
57612
+ 6: 24,
57613
+ 7: 28,
57614
+ 8: 32,
57615
+ 9: 36,
57616
+ 10: 40,
57617
+ 12: 48,
57618
+ 14: 56,
57619
+ 16: 64
57620
+ };
57621
+ var TEXT_SIZE_SCALE = {
57622
+ xs: 12,
57623
+ sm: 14,
57624
+ base: 16,
57625
+ md: 16,
57626
+ lg: 18,
57627
+ xl: 20,
57628
+ "2xl": 24,
57629
+ "3xl": 30
57630
+ };
57631
+ var FONT_WEIGHT_SCALE = {
57632
+ normal: 400,
57633
+ medium: 500,
57634
+ semibold: 600,
57635
+ bold: 700
57636
+ };
57637
+ var COLORS = {
57638
+ muted: { r: 0.96, g: 0.96, b: 0.96, a: 1 },
57639
+ primary: { r: 0.22, g: 0.52, b: 0.96, a: 1 },
57640
+ secondary: { r: 0.4, g: 0.4, b: 0.45, a: 1 },
57641
+ border: { r: 0.9, g: 0.9, b: 0.9, a: 1 },
57642
+ text: { r: 0.1, g: 0.1, b: 0.1, a: 1 },
57643
+ textMuted: { r: 0.5, g: 0.5, b: 0.5, a: 1 }
57644
+ };
57325
57645
  var figmaIdCounter = 0;
57326
57646
  function generateFigmaId() {
57327
57647
  return `node-${++figmaIdCounter}`;
@@ -57329,52 +57649,178 @@ function generateFigmaId() {
57329
57649
  function resetFigmaIdCounter() {
57330
57650
  figmaIdCounter = 0;
57331
57651
  }
57652
+ function spacingToPx(value) {
57653
+ if (value === void 0) return 0;
57654
+ if (typeof value === "number") {
57655
+ return SPACING_SCALE[value] ?? value * 4;
57656
+ }
57657
+ const unit = value.unit;
57658
+ if (unit === "px") return value.value;
57659
+ if (unit === "rem") return value.value * 16;
57660
+ if (unit === "em") return value.value * 16;
57661
+ return value.value;
57662
+ }
57663
+ function textSizeToPx(size) {
57664
+ if (size === void 0) return 16;
57665
+ if (typeof size === "string") {
57666
+ return TEXT_SIZE_SCALE[size] ?? 16;
57667
+ }
57668
+ if (size.unit === "px") return size.value;
57669
+ if (size.unit === "rem") return size.value * 16;
57670
+ return size.value;
57671
+ }
57672
+ function fontWeightToNumeric(weight) {
57673
+ if (weight === void 0) return 400;
57674
+ return FONT_WEIGHT_SCALE[weight] ?? 400;
57675
+ }
57676
+ function sizeValueToPx(value, defaultValue = 0) {
57677
+ if (value === void 0) {
57678
+ return { value: defaultValue, sizing: "HUG" };
57679
+ }
57680
+ if (value === "full" || value === "screen") {
57681
+ return { value: defaultValue, sizing: "FILL" };
57682
+ }
57683
+ if (value === "auto" || value === "fit") {
57684
+ return { value: defaultValue, sizing: "HUG" };
57685
+ }
57686
+ if (typeof value === "number") {
57687
+ return { value, sizing: "FIXED" };
57688
+ }
57689
+ if (value.unit === "px") {
57690
+ return { value: value.value, sizing: "FIXED" };
57691
+ }
57692
+ if (value.unit === "%") {
57693
+ return { value: 0, sizing: "FILL" };
57694
+ }
57695
+ return { value: value.value, sizing: "FIXED" };
57696
+ }
57332
57697
  function mapToFigmaType(type) {
57333
57698
  const typeMap = {
57334
57699
  page: "CANVAS",
57335
- header: "FRAME",
57336
- main: "FRAME",
57337
- footer: "FRAME",
57338
- sidebar: "FRAME",
57339
- section: "FRAME",
57340
- row: "FRAME",
57341
- col: "FRAME",
57342
- card: "FRAME",
57343
- modal: "FRAME",
57344
- drawer: "FRAME",
57345
- accordion: "FRAME",
57346
57700
  text: "TEXT",
57347
57701
  title: "TEXT",
57348
57702
  link: "TEXT",
57349
- button: "FRAME",
57350
- input: "FRAME",
57351
- textarea: "FRAME",
57352
- select: "FRAME",
57353
- checkbox: "FRAME",
57354
- radio: "FRAME",
57355
- switch: "FRAME",
57356
- slider: "FRAME",
57357
57703
  image: "RECTANGLE",
57358
57704
  placeholder: "RECTANGLE",
57359
- avatar: "FRAME",
57360
- badge: "FRAME",
57361
- icon: "FRAME",
57362
- table: "FRAME",
57363
- list: "FRAME",
57364
- alert: "FRAME",
57365
- toast: "FRAME",
57366
- progress: "FRAME",
57367
- spinner: "FRAME",
57368
- tooltip: "FRAME",
57369
- popover: "FRAME",
57370
- dropdown: "FRAME",
57371
- nav: "FRAME",
57372
- tabs: "FRAME",
57373
- breadcrumb: "FRAME",
57374
57705
  divider: "RECTANGLE"
57375
57706
  };
57376
57707
  return typeMap[type.toLowerCase()] || "FRAME";
57377
57708
  }
57709
+ function mapJustify(justify) {
57710
+ const map = {
57711
+ start: "MIN",
57712
+ center: "CENTER",
57713
+ end: "MAX",
57714
+ between: "SPACE_BETWEEN",
57715
+ around: "SPACE_BETWEEN",
57716
+ // Figma doesn't have SPACE_AROUND
57717
+ evenly: "SPACE_BETWEEN"
57718
+ // Figma doesn't have SPACE_EVENLY
57719
+ };
57720
+ return map[justify || "start"] || "MIN";
57721
+ }
57722
+ function mapAlign(align) {
57723
+ const map = {
57724
+ start: "MIN",
57725
+ center: "CENTER",
57726
+ end: "MAX",
57727
+ stretch: "STRETCH",
57728
+ baseline: "BASELINE"
57729
+ };
57730
+ return map[align || "stretch"] || "STRETCH";
57731
+ }
57732
+ function mapTextAlign(align) {
57733
+ const map = {
57734
+ left: "LEFT",
57735
+ center: "CENTER",
57736
+ right: "RIGHT",
57737
+ justify: "JUSTIFIED"
57738
+ };
57739
+ return map[align || "left"] || "LEFT";
57740
+ }
57741
+ function getAttr(node, key) {
57742
+ return node[key];
57743
+ }
57744
+ function extractAutoLayout(node) {
57745
+ let layoutMode = "VERTICAL";
57746
+ const direction = getAttr(node, "direction");
57747
+ if (direction === "row" || direction === "row-reverse") {
57748
+ layoutMode = "HORIZONTAL";
57749
+ } else if (direction === "column" || direction === "column-reverse") {
57750
+ layoutMode = "VERTICAL";
57751
+ }
57752
+ const type = node.type.toLowerCase();
57753
+ if (type === "row") layoutMode = "HORIZONTAL";
57754
+ if (type === "col" || type === "stack") layoutMode = "VERTICAL";
57755
+ const p = spacingToPx(getAttr(node, "p"));
57756
+ const pxVal = getAttr(node, "px");
57757
+ const pyVal = getAttr(node, "py");
57758
+ const px = pxVal !== void 0 ? spacingToPx(pxVal) : p;
57759
+ const py = pyVal !== void 0 ? spacingToPx(pyVal) : p;
57760
+ const ptVal = getAttr(node, "pt");
57761
+ const prVal = getAttr(node, "pr");
57762
+ const pbVal = getAttr(node, "pb");
57763
+ const plVal = getAttr(node, "pl");
57764
+ const pt = ptVal !== void 0 ? spacingToPx(ptVal) : py;
57765
+ const pr = prVal !== void 0 ? spacingToPx(prVal) : px;
57766
+ const pb = pbVal !== void 0 ? spacingToPx(pbVal) : py;
57767
+ const pl = plVal !== void 0 ? spacingToPx(plVal) : px;
57768
+ const wResult = sizeValueToPx(getAttr(node, "w"), 0);
57769
+ const hResult = sizeValueToPx(getAttr(node, "h"), 0);
57770
+ return {
57771
+ layoutMode,
57772
+ layoutSizingHorizontal: wResult.sizing,
57773
+ layoutSizingVertical: hResult.sizing,
57774
+ primaryAxisAlignItems: mapJustify(getAttr(node, "justify")),
57775
+ counterAxisAlignItems: mapAlign(getAttr(node, "align")),
57776
+ paddingTop: pt,
57777
+ paddingRight: pr,
57778
+ paddingBottom: pb,
57779
+ paddingLeft: pl,
57780
+ itemSpacing: spacingToPx(getAttr(node, "gap")),
57781
+ layoutWrap: getAttr(node, "wrap") ? "WRAP" : "NO_WRAP"
57782
+ };
57783
+ }
57784
+ function extractSize(node, defaultWidth = 100, defaultHeight = 100) {
57785
+ const wResult = sizeValueToPx(getAttr(node, "w"), defaultWidth);
57786
+ const hResult = sizeValueToPx(getAttr(node, "h"), defaultHeight);
57787
+ const size = {
57788
+ width: wResult.value || defaultWidth,
57789
+ height: hResult.value || defaultHeight
57790
+ };
57791
+ const minW = getAttr(node, "minW");
57792
+ const maxW = getAttr(node, "maxW");
57793
+ const minH = getAttr(node, "minH");
57794
+ const maxH = getAttr(node, "maxH");
57795
+ if (minW !== void 0) size.minWidth = spacingToPx(minW);
57796
+ if (maxW !== void 0) size.maxWidth = spacingToPx(maxW);
57797
+ if (minH !== void 0) size.minHeight = spacingToPx(minH);
57798
+ if (maxH !== void 0) size.maxHeight = spacingToPx(maxH);
57799
+ return size;
57800
+ }
57801
+ function extractTextStyle(node) {
57802
+ const content = getNodeContent(node) || "";
57803
+ return {
57804
+ fontSize: textSizeToPx(getAttr(node, "size")),
57805
+ fontWeight: fontWeightToNumeric(getAttr(node, "weight")),
57806
+ textAlignHorizontal: mapTextAlign(getAttr(node, "align")),
57807
+ characters: content
57808
+ };
57809
+ }
57810
+ function extractFills(node) {
57811
+ const bg = getAttr(node, "bg");
57812
+ if (!bg) return void 0;
57813
+ const color = COLORS[bg];
57814
+ if (!color) return void 0;
57815
+ return [{ type: "SOLID", color }];
57816
+ }
57817
+ function extractStrokes(node) {
57818
+ if (!getAttr(node, "border")) return void 0;
57819
+ return {
57820
+ strokes: [{ type: "SOLID", color: COLORS.border }],
57821
+ strokeWeight: 1
57822
+ };
57823
+ }
57378
57824
  function nodeToFigma(node) {
57379
57825
  const figmaType = mapToFigmaType(node.type);
57380
57826
  const content = getNodeContent(node);
@@ -57389,6 +57835,33 @@ function nodeToFigma(node) {
57389
57835
  if (Object.keys(attrs).length > 0) {
57390
57836
  figmaNode.wireweaveAttributes = attrs;
57391
57837
  }
57838
+ if (figmaType === "FRAME") {
57839
+ figmaNode.autoLayout = extractAutoLayout(node);
57840
+ figmaNode.size = extractSize(node);
57841
+ const fills = extractFills(node);
57842
+ if (fills) figmaNode.fills = fills;
57843
+ const strokeInfo = extractStrokes(node);
57844
+ if (strokeInfo) {
57845
+ figmaNode.strokes = strokeInfo.strokes;
57846
+ figmaNode.strokeWeight = strokeInfo.strokeWeight;
57847
+ }
57848
+ if (node.type.toLowerCase() === "card") {
57849
+ figmaNode.cornerRadius = 8;
57850
+ }
57851
+ } else if (figmaType === "TEXT") {
57852
+ figmaNode.textStyle = extractTextStyle(node);
57853
+ if (getAttr(node, "muted")) {
57854
+ figmaNode.fills = [{ type: "SOLID", color: COLORS.textMuted }];
57855
+ }
57856
+ } else if (figmaType === "RECTANGLE") {
57857
+ figmaNode.size = extractSize(node, 200, 150);
57858
+ const fills = extractFills(node);
57859
+ if (fills) {
57860
+ figmaNode.fills = fills;
57861
+ } else {
57862
+ figmaNode.fills = [{ type: "SOLID", color: COLORS.muted }];
57863
+ }
57864
+ }
57392
57865
  if ("children" in node && Array.isArray(node.children)) {
57393
57866
  const children = [];
57394
57867
  for (const child of node.children) {
@@ -57422,7 +57895,7 @@ function exportToFigma(doc) {
57422
57895
  componentMappings[type] = mapToFigmaType(type);
57423
57896
  }
57424
57897
  return {
57425
- version: "1.0.0",
57898
+ version: "2.0.0",
57426
57899
  format: "figma",
57427
57900
  document: documentNode,
57428
57901
  componentMappings