<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
 task :default =&gt; :test
 
 DLEXT = Config::CONFIG['DLEXT']
-VERS = '1.1.1'
+VERS = '1.4.3'
 
 spec =
   Gem::Specification.new do |s|</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -113,7 +113,7 @@ static void print_html_element(GString *out, element *elt, bool obfuscate) {
         g_string_append_printf(out, &quot;%s&quot;, elt-&gt;contents.str);
         break;
     case LINEBREAK:
-        g_string_append_printf(out, &quot;&lt;br/&gt;&quot;);
+        g_string_append_printf(out, &quot;&lt;br/&gt;\n&quot;);
         break;
     case STR:
         print_html_string(out, elt-&gt;contents.str, obfuscate);
@@ -564,7 +564,7 @@ static void print_groff_mm_element(GString *out, element *elt, int count) {
         break;
     case LINEBREAK:
         pad(out, 1);
-        g_string_append_printf(out, &quot;.br&quot;);
+        g_string_append_printf(out, &quot;.br\n&quot;);
         padded = 0;
         break;
     case STR:</diff>
      <filename>ext/markdown_output.c</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 #include &lt;stdio.h&gt;
 #include &lt;stdlib.h&gt;
 #include &lt;string.h&gt;
-#define YYRULECOUNT 208
+#define YYRULECOUNT 204
 
 /**********************************************************************
 
@@ -243,179 +243,175 @@ YY_LOCAL(void) yySet(char *text, int count)	{ yyval[count]= yy; }
 
 #define	YYACCEPT	yyAccept(yythunkpos0)
 
-YY_RULE(int) yy_Notes(); /* 208 */
-YY_RULE(int) yy_RawNoteBlock(); /* 207 */
-YY_RULE(int) yy_RawNoteReference(); /* 206 */
-YY_RULE(int) yy_DoubleQuoteEnd(); /* 205 */
-YY_RULE(int) yy_DoubleQuoteStart(); /* 204 */
-YY_RULE(int) yy_SingleQuoteEnd(); /* 203 */
-YY_RULE(int) yy_SingleQuoteStart(); /* 202 */
-YY_RULE(int) yy_EnDash(); /* 201 */
-YY_RULE(int) yy_EmDash(); /* 200 */
-YY_RULE(int) yy_Apostrophe(); /* 199 */
-YY_RULE(int) yy_DoubleQuoted(); /* 198 */
-YY_RULE(int) yy_SingleQuoted(); /* 197 */
-YY_RULE(int) yy_Dash(); /* 196 */
-YY_RULE(int) yy_Ellipsis(); /* 195 */
-YY_RULE(int) yy_RawLine(); /* 194 */
-YY_RULE(int) yy_Digit(); /* 193 */
-YY_RULE(int) yy_ExtendedSpecialChar(); /* 192 */
-YY_RULE(int) yy_Quoted(); /* 191 */
-YY_RULE(int) yy_HtmlTag(); /* 190 */
-YY_RULE(int) yy_Ticks5(); /* 189 */
-YY_RULE(int) yy_Ticks4(); /* 188 */
-YY_RULE(int) yy_Ticks3(); /* 187 */
-YY_RULE(int) yy_Ticks2(); /* 186 */
-YY_RULE(int) yy_Ticks1(); /* 185 */
-YY_RULE(int) yy_SkipBlock(); /* 184 */
-YY_RULE(int) yy_References(); /* 183 */
-YY_RULE(int) yy_EmptyTitle(); /* 182 */
-YY_RULE(int) yy_RefTitleParens(); /* 181 */
-YY_RULE(int) yy_RefTitleDouble(); /* 180 */
-YY_RULE(int) yy_RefTitleSingle(); /* 179 */
-YY_RULE(int) yy_RefTitle(); /* 178 */
-YY_RULE(int) yy_RefSrc(); /* 177 */
-YY_RULE(int) yy_AutoLinkEmail(); /* 176 */
-YY_RULE(int) yy_AutoLinkUrl(); /* 175 */
-YY_RULE(int) yy_TitleDouble(); /* 174 */
-YY_RULE(int) yy_TitleSingle(); /* 173 */
-YY_RULE(int) yy_Nonspacechar(); /* 172 */
-YY_RULE(int) yy_SourceContents(); /* 171 */
-YY_RULE(int) yy_Title(); /* 170 */
-YY_RULE(int) yy_Source(); /* 169 */
-YY_RULE(int) yy_Label(); /* 168 */
-YY_RULE(int) yy_ReferenceLinkSingle(); /* 167 */
-YY_RULE(int) yy_ReferenceLinkDouble(); /* 166 */
-YY_RULE(int) yy_AutoLink(); /* 165 */
-YY_RULE(int) yy_ReferenceLink(); /* 164 */
-YY_RULE(int) yy_ExplicitLink(); /* 163 */
-YY_RULE(int) yy_TwoUlClose(); /* 162 */
-YY_RULE(int) yy_TwoUlOpen(); /* 161 */
-YY_RULE(int) yy_TwoStarClose(); /* 160 */
-YY_RULE(int) yy_TwoStarOpen(); /* 159 */
-YY_RULE(int) yy_Alphanumeric(); /* 158 */
-YY_RULE(int) yy_StrongUl(); /* 157 */
-YY_RULE(int) yy_OneUlClose(); /* 156 */
-YY_RULE(int) yy_OneUlOpen(); /* 155 */
-YY_RULE(int) yy_StrongStar(); /* 154 */
-YY_RULE(int) yy_OneStarClose(); /* 153 */
-YY_RULE(int) yy_OneStarOpen(); /* 152 */
-YY_RULE(int) yy_EmphUl(); /* 151 */
-YY_RULE(int) yy_EmphStar(); /* 150 */
-YY_RULE(int) yy_StarLine(); /* 149 */
-YY_RULE(int) yy_UlLine(); /* 148 */
-YY_RULE(int) yy_SpecialChar(); /* 147 */
-YY_RULE(int) yy_Eof(); /* 146 */
-YY_RULE(int) yy_NormalEndline(); /* 145 */
-YY_RULE(int) yy_TerminalEndline(); /* 144 */
-YY_RULE(int) yy_CharEntity(); /* 143 */
-YY_RULE(int) yy_DecEntity(); /* 142 */
-YY_RULE(int) yy_HexEntity(); /* 141 */
-YY_RULE(int) yy_NormalChar(); /* 140 */
-YY_RULE(int) yy_Symbol(); /* 139 */
-YY_RULE(int) yy_Smart(); /* 138 */
-YY_RULE(int) yy_EscapedChar(); /* 137 */
-YY_RULE(int) yy_Entity(); /* 136 */
-YY_RULE(int) yy_RawHtml(); /* 135 */
-YY_RULE(int) yy_Code(); /* 134 */
-YY_RULE(int) yy_InlineNote(); /* 133 */
-YY_RULE(int) yy_NoteReference(); /* 132 */
-YY_RULE(int) yy_Link(); /* 131 */
-YY_RULE(int) yy_Image(); /* 130 */
-YY_RULE(int) yy_Emph(); /* 129 */
-YY_RULE(int) yy_Strong(); /* 128 */
-YY_RULE(int) yy_Space(); /* 127 */
-YY_RULE(int) yy_UlOrStarLine(); /* 126 */
-YY_RULE(int) yy_LineBreak(); /* 125 */
-YY_RULE(int) yy_Str(); /* 124 */
-YY_RULE(int) yy_InStyleTags(); /* 123 */
-YY_RULE(int) yy_StyleClose(); /* 122 */
-YY_RULE(int) yy_StyleOpen(); /* 121 */
-YY_RULE(int) yy_HtmlBlockType(); /* 120 */
-YY_RULE(int) yy_HtmlBlockSelfClosing(); /* 119 */
-YY_RULE(int) yy_HtmlComment(); /* 118 */
-YY_RULE(int) yy_HtmlBlockInTags(); /* 117 */
-YY_RULE(int) yy_HtmlBlockCloseScript(); /* 116 */
-YY_RULE(int) yy_HtmlBlockOpenScript(); /* 115 */
-YY_RULE(int) yy_HtmlBlockCloseTr(); /* 114 */
-YY_RULE(int) yy_HtmlBlockOpenTr(); /* 113 */
-YY_RULE(int) yy_HtmlBlockCloseThead(); /* 112 */
-YY_RULE(int) yy_HtmlBlockOpenThead(); /* 111 */
-YY_RULE(int) yy_HtmlBlockCloseTh(); /* 110 */
-YY_RULE(int) yy_HtmlBlockOpenTh(); /* 109 */
-YY_RULE(int) yy_HtmlBlockCloseTfoot(); /* 108 */
-YY_RULE(int) yy_HtmlBlockOpenTfoot(); /* 107 */
-YY_RULE(int) yy_HtmlBlockCloseTd(); /* 106 */
-YY_RULE(int) yy_HtmlBlockOpenTd(); /* 105 */
-YY_RULE(int) yy_HtmlBlockCloseTbody(); /* 104 */
-YY_RULE(int) yy_HtmlBlockOpenTbody(); /* 103 */
-YY_RULE(int) yy_HtmlBlockCloseLi(); /* 102 */
-YY_RULE(int) yy_HtmlBlockOpenLi(); /* 101 */
-YY_RULE(int) yy_HtmlBlockCloseFrameset(); /* 100 */
-YY_RULE(int) yy_HtmlBlockOpenFrameset(); /* 99 */
-YY_RULE(int) yy_HtmlBlockCloseDt(); /* 98 */
-YY_RULE(int) yy_HtmlBlockOpenDt(); /* 97 */
-YY_RULE(int) yy_HtmlBlockCloseDd(); /* 96 */
-YY_RULE(int) yy_HtmlBlockOpenDd(); /* 95 */
-YY_RULE(int) yy_HtmlBlockCloseUl(); /* 94 */
-YY_RULE(int) yy_HtmlBlockOpenUl(); /* 93 */
-YY_RULE(int) yy_HtmlBlockCloseTable(); /* 92 */
-YY_RULE(int) yy_HtmlBlockOpenTable(); /* 91 */
-YY_RULE(int) yy_HtmlBlockClosePre(); /* 90 */
-YY_RULE(int) yy_HtmlBlockOpenPre(); /* 89 */
-YY_RULE(int) yy_HtmlBlockCloseP(); /* 88 */
-YY_RULE(int) yy_HtmlBlockOpenP(); /* 87 */
-YY_RULE(int) yy_HtmlBlockCloseOl(); /* 86 */
-YY_RULE(int) yy_HtmlBlockOpenOl(); /* 85 */
-YY_RULE(int) yy_HtmlBlockCloseNoscript(); /* 84 */
-YY_RULE(int) yy_HtmlBlockOpenNoscript(); /* 83 */
-YY_RULE(int) yy_HtmlBlockCloseNoframes(); /* 82 */
-YY_RULE(int) yy_HtmlBlockOpenNoframes(); /* 81 */
-YY_RULE(int) yy_HtmlBlockCloseMenu(); /* 80 */
-YY_RULE(int) yy_HtmlBlockOpenMenu(); /* 79 */
-YY_RULE(int) yy_HtmlBlockCloseH6(); /* 78 */
-YY_RULE(int) yy_HtmlBlockOpenH6(); /* 77 */
-YY_RULE(int) yy_HtmlBlockCloseH5(); /* 76 */
-YY_RULE(int) yy_HtmlBlockOpenH5(); /* 75 */
-YY_RULE(int) yy_HtmlBlockCloseH4(); /* 74 */
-YY_RULE(int) yy_HtmlBlockOpenH4(); /* 73 */
-YY_RULE(int) yy_HtmlBlockCloseH3(); /* 72 */
-YY_RULE(int) yy_HtmlBlockOpenH3(); /* 71 */
-YY_RULE(int) yy_HtmlBlockCloseH2(); /* 70 */
-YY_RULE(int) yy_HtmlBlockOpenH2(); /* 69 */
-YY_RULE(int) yy_HtmlBlockCloseH1(); /* 68 */
-YY_RULE(int) yy_HtmlBlockOpenH1(); /* 67 */
-YY_RULE(int) yy_HtmlBlockCloseForm(); /* 66 */
-YY_RULE(int) yy_HtmlBlockOpenForm(); /* 65 */
-YY_RULE(int) yy_HtmlBlockCloseFieldset(); /* 64 */
-YY_RULE(int) yy_HtmlBlockOpenFieldset(); /* 63 */
-YY_RULE(int) yy_HtmlBlockCloseDl(); /* 62 */
-YY_RULE(int) yy_HtmlBlockOpenDl(); /* 61 */
-YY_RULE(int) yy_HtmlBlockCloseDiv(); /* 60 */
-YY_RULE(int) yy_HtmlBlockOpenDiv(); /* 59 */
-YY_RULE(int) yy_HtmlBlockCloseDir(); /* 58 */
-YY_RULE(int) yy_HtmlBlockOpenDir(); /* 57 */
-YY_RULE(int) yy_HtmlBlockCloseCenter(); /* 56 */
-YY_RULE(int) yy_HtmlBlockOpenCenter(); /* 55 */
-YY_RULE(int) yy_HtmlBlockCloseBlockquote(); /* 54 */
-YY_RULE(int) yy_HtmlBlockOpenBlockquote(); /* 53 */
-YY_RULE(int) yy_HtmlBlockCloseAddress(); /* 52 */
-YY_RULE(int) yy_HtmlAttribute(); /* 51 */
-YY_RULE(int) yy_Spnl(); /* 50 */
-YY_RULE(int) yy_HtmlBlockOpenAddress(); /* 49 */
-YY_RULE(int) yy_OptionallyIndentedLine(); /* 48 */
-YY_RULE(int) yy_OrderedListItem(); /* 47 */
-YY_RULE(int) yy_OrderedListLoose(); /* 46 */
-YY_RULE(int) yy_OrderedListTight(); /* 45 */
-YY_RULE(int) yy_Indent(); /* 44 */
-YY_RULE(int) yy_ListBlockLine(); /* 43 */
-YY_RULE(int) yy_ListContinuationBlock(); /* 42 */
-YY_RULE(int) yy_ListBlock(); /* 41 */
-YY_RULE(int) yy_Enumerator(); /* 40 */
-YY_RULE(int) yy_ListItem(); /* 39 */
-YY_RULE(int) yy_BulletListItem(); /* 38 */
-YY_RULE(int) yy_BulletListLoose(); /* 37 */
-YY_RULE(int) yy_BulletListTight(); /* 36 */
+YY_RULE(int) yy_Notes(); /* 204 */
+YY_RULE(int) yy_RawNoteBlock(); /* 203 */
+YY_RULE(int) yy_RawNoteReference(); /* 202 */
+YY_RULE(int) yy_DoubleQuoteEnd(); /* 201 */
+YY_RULE(int) yy_DoubleQuoteStart(); /* 200 */
+YY_RULE(int) yy_SingleQuoteEnd(); /* 199 */
+YY_RULE(int) yy_SingleQuoteStart(); /* 198 */
+YY_RULE(int) yy_EnDash(); /* 197 */
+YY_RULE(int) yy_EmDash(); /* 196 */
+YY_RULE(int) yy_Apostrophe(); /* 195 */
+YY_RULE(int) yy_DoubleQuoted(); /* 194 */
+YY_RULE(int) yy_SingleQuoted(); /* 193 */
+YY_RULE(int) yy_Dash(); /* 192 */
+YY_RULE(int) yy_Ellipsis(); /* 191 */
+YY_RULE(int) yy_RawLine(); /* 190 */
+YY_RULE(int) yy_Digit(); /* 189 */
+YY_RULE(int) yy_ExtendedSpecialChar(); /* 188 */
+YY_RULE(int) yy_Quoted(); /* 187 */
+YY_RULE(int) yy_HtmlTag(); /* 186 */
+YY_RULE(int) yy_Ticks5(); /* 185 */
+YY_RULE(int) yy_Ticks4(); /* 184 */
+YY_RULE(int) yy_Ticks3(); /* 183 */
+YY_RULE(int) yy_Ticks2(); /* 182 */
+YY_RULE(int) yy_Ticks1(); /* 181 */
+YY_RULE(int) yy_SkipBlock(); /* 180 */
+YY_RULE(int) yy_References(); /* 179 */
+YY_RULE(int) yy_EmptyTitle(); /* 178 */
+YY_RULE(int) yy_RefTitleParens(); /* 177 */
+YY_RULE(int) yy_RefTitleDouble(); /* 176 */
+YY_RULE(int) yy_RefTitleSingle(); /* 175 */
+YY_RULE(int) yy_RefTitle(); /* 174 */
+YY_RULE(int) yy_RefSrc(); /* 173 */
+YY_RULE(int) yy_AutoLinkEmail(); /* 172 */
+YY_RULE(int) yy_AutoLinkUrl(); /* 171 */
+YY_RULE(int) yy_TitleDouble(); /* 170 */
+YY_RULE(int) yy_TitleSingle(); /* 169 */
+YY_RULE(int) yy_Nonspacechar(); /* 168 */
+YY_RULE(int) yy_SourceContents(); /* 167 */
+YY_RULE(int) yy_Title(); /* 166 */
+YY_RULE(int) yy_Source(); /* 165 */
+YY_RULE(int) yy_Label(); /* 164 */
+YY_RULE(int) yy_ReferenceLinkSingle(); /* 163 */
+YY_RULE(int) yy_ReferenceLinkDouble(); /* 162 */
+YY_RULE(int) yy_AutoLink(); /* 161 */
+YY_RULE(int) yy_ReferenceLink(); /* 160 */
+YY_RULE(int) yy_ExplicitLink(); /* 159 */
+YY_RULE(int) yy_TwoUlClose(); /* 158 */
+YY_RULE(int) yy_TwoUlOpen(); /* 157 */
+YY_RULE(int) yy_TwoStarClose(); /* 156 */
+YY_RULE(int) yy_TwoStarOpen(); /* 155 */
+YY_RULE(int) yy_Alphanumeric(); /* 154 */
+YY_RULE(int) yy_StrongUl(); /* 153 */
+YY_RULE(int) yy_OneUlClose(); /* 152 */
+YY_RULE(int) yy_OneUlOpen(); /* 151 */
+YY_RULE(int) yy_StrongStar(); /* 150 */
+YY_RULE(int) yy_OneStarClose(); /* 149 */
+YY_RULE(int) yy_OneStarOpen(); /* 148 */
+YY_RULE(int) yy_EmphUl(); /* 147 */
+YY_RULE(int) yy_EmphStar(); /* 146 */
+YY_RULE(int) yy_StarLine(); /* 145 */
+YY_RULE(int) yy_UlLine(); /* 144 */
+YY_RULE(int) yy_SpecialChar(); /* 143 */
+YY_RULE(int) yy_Eof(); /* 142 */
+YY_RULE(int) yy_NormalEndline(); /* 141 */
+YY_RULE(int) yy_TerminalEndline(); /* 140 */
+YY_RULE(int) yy_LineBreak(); /* 139 */
+YY_RULE(int) yy_CharEntity(); /* 138 */
+YY_RULE(int) yy_DecEntity(); /* 137 */
+YY_RULE(int) yy_HexEntity(); /* 136 */
+YY_RULE(int) yy_NormalChar(); /* 135 */
+YY_RULE(int) yy_Symbol(); /* 134 */
+YY_RULE(int) yy_Smart(); /* 133 */
+YY_RULE(int) yy_EscapedChar(); /* 132 */
+YY_RULE(int) yy_Entity(); /* 131 */
+YY_RULE(int) yy_RawHtml(); /* 130 */
+YY_RULE(int) yy_Code(); /* 129 */
+YY_RULE(int) yy_InlineNote(); /* 128 */
+YY_RULE(int) yy_NoteReference(); /* 127 */
+YY_RULE(int) yy_Link(); /* 126 */
+YY_RULE(int) yy_Image(); /* 125 */
+YY_RULE(int) yy_Emph(); /* 124 */
+YY_RULE(int) yy_Strong(); /* 123 */
+YY_RULE(int) yy_Space(); /* 122 */
+YY_RULE(int) yy_UlOrStarLine(); /* 121 */
+YY_RULE(int) yy_Str(); /* 120 */
+YY_RULE(int) yy_InStyleTags(); /* 119 */
+YY_RULE(int) yy_StyleClose(); /* 118 */
+YY_RULE(int) yy_StyleOpen(); /* 117 */
+YY_RULE(int) yy_HtmlBlockType(); /* 116 */
+YY_RULE(int) yy_HtmlBlockSelfClosing(); /* 115 */
+YY_RULE(int) yy_HtmlComment(); /* 114 */
+YY_RULE(int) yy_HtmlBlockInTags(); /* 113 */
+YY_RULE(int) yy_HtmlBlockCloseScript(); /* 112 */
+YY_RULE(int) yy_HtmlBlockOpenScript(); /* 111 */
+YY_RULE(int) yy_HtmlBlockCloseTr(); /* 110 */
+YY_RULE(int) yy_HtmlBlockOpenTr(); /* 109 */
+YY_RULE(int) yy_HtmlBlockCloseThead(); /* 108 */
+YY_RULE(int) yy_HtmlBlockOpenThead(); /* 107 */
+YY_RULE(int) yy_HtmlBlockCloseTh(); /* 106 */
+YY_RULE(int) yy_HtmlBlockOpenTh(); /* 105 */
+YY_RULE(int) yy_HtmlBlockCloseTfoot(); /* 104 */
+YY_RULE(int) yy_HtmlBlockOpenTfoot(); /* 103 */
+YY_RULE(int) yy_HtmlBlockCloseTd(); /* 102 */
+YY_RULE(int) yy_HtmlBlockOpenTd(); /* 101 */
+YY_RULE(int) yy_HtmlBlockCloseTbody(); /* 100 */
+YY_RULE(int) yy_HtmlBlockOpenTbody(); /* 99 */
+YY_RULE(int) yy_HtmlBlockCloseLi(); /* 98 */
+YY_RULE(int) yy_HtmlBlockOpenLi(); /* 97 */
+YY_RULE(int) yy_HtmlBlockCloseFrameset(); /* 96 */
+YY_RULE(int) yy_HtmlBlockOpenFrameset(); /* 95 */
+YY_RULE(int) yy_HtmlBlockCloseDt(); /* 94 */
+YY_RULE(int) yy_HtmlBlockOpenDt(); /* 93 */
+YY_RULE(int) yy_HtmlBlockCloseDd(); /* 92 */
+YY_RULE(int) yy_HtmlBlockOpenDd(); /* 91 */
+YY_RULE(int) yy_HtmlBlockCloseUl(); /* 90 */
+YY_RULE(int) yy_HtmlBlockOpenUl(); /* 89 */
+YY_RULE(int) yy_HtmlBlockCloseTable(); /* 88 */
+YY_RULE(int) yy_HtmlBlockOpenTable(); /* 87 */
+YY_RULE(int) yy_HtmlBlockClosePre(); /* 86 */
+YY_RULE(int) yy_HtmlBlockOpenPre(); /* 85 */
+YY_RULE(int) yy_HtmlBlockCloseP(); /* 84 */
+YY_RULE(int) yy_HtmlBlockOpenP(); /* 83 */
+YY_RULE(int) yy_HtmlBlockCloseOl(); /* 82 */
+YY_RULE(int) yy_HtmlBlockOpenOl(); /* 81 */
+YY_RULE(int) yy_HtmlBlockCloseNoscript(); /* 80 */
+YY_RULE(int) yy_HtmlBlockOpenNoscript(); /* 79 */
+YY_RULE(int) yy_HtmlBlockCloseNoframes(); /* 78 */
+YY_RULE(int) yy_HtmlBlockOpenNoframes(); /* 77 */
+YY_RULE(int) yy_HtmlBlockCloseMenu(); /* 76 */
+YY_RULE(int) yy_HtmlBlockOpenMenu(); /* 75 */
+YY_RULE(int) yy_HtmlBlockCloseH6(); /* 74 */
+YY_RULE(int) yy_HtmlBlockOpenH6(); /* 73 */
+YY_RULE(int) yy_HtmlBlockCloseH5(); /* 72 */
+YY_RULE(int) yy_HtmlBlockOpenH5(); /* 71 */
+YY_RULE(int) yy_HtmlBlockCloseH4(); /* 70 */
+YY_RULE(int) yy_HtmlBlockOpenH4(); /* 69 */
+YY_RULE(int) yy_HtmlBlockCloseH3(); /* 68 */
+YY_RULE(int) yy_HtmlBlockOpenH3(); /* 67 */
+YY_RULE(int) yy_HtmlBlockCloseH2(); /* 66 */
+YY_RULE(int) yy_HtmlBlockOpenH2(); /* 65 */
+YY_RULE(int) yy_HtmlBlockCloseH1(); /* 64 */
+YY_RULE(int) yy_HtmlBlockOpenH1(); /* 63 */
+YY_RULE(int) yy_HtmlBlockCloseForm(); /* 62 */
+YY_RULE(int) yy_HtmlBlockOpenForm(); /* 61 */
+YY_RULE(int) yy_HtmlBlockCloseFieldset(); /* 60 */
+YY_RULE(int) yy_HtmlBlockOpenFieldset(); /* 59 */
+YY_RULE(int) yy_HtmlBlockCloseDl(); /* 58 */
+YY_RULE(int) yy_HtmlBlockOpenDl(); /* 57 */
+YY_RULE(int) yy_HtmlBlockCloseDiv(); /* 56 */
+YY_RULE(int) yy_HtmlBlockOpenDiv(); /* 55 */
+YY_RULE(int) yy_HtmlBlockCloseDir(); /* 54 */
+YY_RULE(int) yy_HtmlBlockOpenDir(); /* 53 */
+YY_RULE(int) yy_HtmlBlockCloseCenter(); /* 52 */
+YY_RULE(int) yy_HtmlBlockOpenCenter(); /* 51 */
+YY_RULE(int) yy_HtmlBlockCloseBlockquote(); /* 50 */
+YY_RULE(int) yy_HtmlBlockOpenBlockquote(); /* 49 */
+YY_RULE(int) yy_HtmlBlockCloseAddress(); /* 48 */
+YY_RULE(int) yy_HtmlAttribute(); /* 47 */
+YY_RULE(int) yy_Spnl(); /* 46 */
+YY_RULE(int) yy_HtmlBlockOpenAddress(); /* 45 */
+YY_RULE(int) yy_OptionallyIndentedLine(); /* 44 */
+YY_RULE(int) yy_Indent(); /* 43 */
+YY_RULE(int) yy_ListBlockLine(); /* 42 */
+YY_RULE(int) yy_ListContinuationBlock(); /* 41 */
+YY_RULE(int) yy_ListBlock(); /* 40 */
+YY_RULE(int) yy_Enumerator(); /* 39 */
+YY_RULE(int) yy_ListItem(); /* 38 */
+YY_RULE(int) yy_ListLoose(); /* 37 */
+YY_RULE(int) yy_ListTight(); /* 36 */
 YY_RULE(int) yy_Spacechar(); /* 35 */
 YY_RULE(int) yy_Bullet(); /* 34 */
 YY_RULE(int) yy_VerbatimChunk(); /* 33 */
@@ -992,42 +988,10 @@ YY_ACTION(void) yy_1_HtmlBlock(char *yytext, int yyleng)
                 }
             ;
 }
-YY_ACTION(void) yy_2_OrderedListLoose(char *yytext, int yyleng)
+YY_ACTION(void) yy_1_OrderedList(char *yytext, int yyleng)
 {
-#define b yyval[-1]
-#define a yyval[-2]
-  yyprintf((stderr, &quot;do yy_2_OrderedListLoose\n&quot;));
-   yy = mk_list(ORDEREDLIST, a); ;
-#undef b
-#undef a
-}
-YY_ACTION(void) yy_1_OrderedListLoose(char *yytext, int yyleng)
-{
-#define b yyval[-1]
-#define a yyval[-2]
-  yyprintf((stderr, &quot;do yy_1_OrderedListLoose\n&quot;));
-     element *li;
-                        li = b-&gt;children;
-                        li-&gt;contents.str = realloc(li-&gt;contents.str, strlen(li-&gt;contents.str) + 3);
-                        strcat(li-&gt;contents.str, &quot;\n\n&quot;);  /* In loose list, \n\n added to end of each element */
-                        a = cons(b, a);
-                    ;
-#undef b
-#undef a
-}
-YY_ACTION(void) yy_2_OrderedListTight(char *yytext, int yyleng)
-{
-#define a yyval[-1]
-  yyprintf((stderr, &quot;do yy_2_OrderedListTight\n&quot;));
-   yy = mk_list(ORDEREDLIST, a); ;
-#undef a
-}
-YY_ACTION(void) yy_1_OrderedListTight(char *yytext, int yyleng)
-{
-#define a yyval[-1]
-  yyprintf((stderr, &quot;do yy_1_OrderedListTight\n&quot;));
-   a = cons(yy, a); ;
-#undef a
+  yyprintf((stderr, &quot;do yy_1_OrderedList\n&quot;));
+   yy-&gt;key = ORDEREDLIST; ;
 }
 YY_ACTION(void) yy_3_ListContinuationBlock(char *yytext, int yyleng)
 {
@@ -1079,11 +1043,11 @@ YY_ACTION(void) yy_3_ListItem(char *yytext, int yyleng)
 #define a yyval[-1]
   yyprintf((stderr, &quot;do yy_3_ListItem\n&quot;));
     element *raw;
-                    raw = mk_str_from_list(a, false);
-                    raw-&gt;key = RAW;
-                    yy = mk_element(LISTITEM);
-                    yy-&gt;children = raw;
-                 ;
+               raw = mk_str_from_list(a, false);
+               raw-&gt;key = RAW;
+               yy = mk_element(LISTITEM);
+               yy-&gt;children = raw;
+            ;
 #undef a
 }
 YY_ACTION(void) yy_2_ListItem(char *yytext, int yyleng)
@@ -1100,43 +1064,48 @@ YY_ACTION(void) yy_1_ListItem(char *yytext, int yyleng)
    a = cons(yy, a); ;
 #undef a
 }
-YY_ACTION(void) yy_2_BulletListLoose(char *yytext, int yyleng)
+YY_ACTION(void) yy_2_ListLoose(char *yytext, int yyleng)
 {
 #define b yyval[-1]
 #define a yyval[-2]
-  yyprintf((stderr, &quot;do yy_2_BulletListLoose\n&quot;));
-   yy = mk_list(BULLETLIST, a); ;
+  yyprintf((stderr, &quot;do yy_2_ListLoose\n&quot;));
+   yy = mk_list(LIST, a); ;
 #undef b
 #undef a
 }
-YY_ACTION(void) yy_1_BulletListLoose(char *yytext, int yyleng)
+YY_ACTION(void) yy_1_ListLoose(char *yytext, int yyleng)
 {
 #define b yyval[-1]
 #define a yyval[-2]
-  yyprintf((stderr, &quot;do yy_1_BulletListLoose\n&quot;));
+  yyprintf((stderr, &quot;do yy_1_ListLoose\n&quot;));
      element *li;
-                        li = b-&gt;children;
-                        li-&gt;contents.str = realloc(li-&gt;contents.str, strlen(li-&gt;contents.str) + 3);
-                        strcat(li-&gt;contents.str, &quot;\n\n&quot;);  /* In loose list, \n\n added to end of each element */
-                        a = cons(b, a);
-                    ;
+                  li = b-&gt;children;
+                  li-&gt;contents.str = realloc(li-&gt;contents.str, strlen(li-&gt;contents.str) + 3);
+                  strcat(li-&gt;contents.str, &quot;\n\n&quot;);  /* In loose list, \n\n added to end of each element */
+                  a = cons(b, a);
+              ;
 #undef b
 #undef a
 }
-YY_ACTION(void) yy_2_BulletListTight(char *yytext, int yyleng)
+YY_ACTION(void) yy_2_ListTight(char *yytext, int yyleng)
 {
 #define a yyval[-1]
-  yyprintf((stderr, &quot;do yy_2_BulletListTight\n&quot;));
-   yy = mk_list(BULLETLIST, a); ;
+  yyprintf((stderr, &quot;do yy_2_ListTight\n&quot;));
+   yy = mk_list(LIST, a); ;
 #undef a
 }
-YY_ACTION(void) yy_1_BulletListTight(char *yytext, int yyleng)
+YY_ACTION(void) yy_1_ListTight(char *yytext, int yyleng)
 {
 #define a yyval[-1]
-  yyprintf((stderr, &quot;do yy_1_BulletListTight\n&quot;));
+  yyprintf((stderr, &quot;do yy_1_ListTight\n&quot;));
    a = cons(yy, a); ;
 #undef a
 }
+YY_ACTION(void) yy_1_BulletList(char *yytext, int yyleng)
+{
+  yyprintf((stderr, &quot;do yy_1_BulletList\n&quot;));
+   yy-&gt;key = BULLETLIST; ;
+}
 YY_ACTION(void) yy_1_HorizontalRule(char *yytext, int yyleng)
 {
   yyprintf((stderr, &quot;do yy_1_HorizontalRule\n&quot;));
@@ -1432,11 +1401,11 @@ YY_RULE(int) yy_EnDash()
 }
 YY_RULE(int) yy_EmDash()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;EmDash&quot;));  if (!yy_Sp()) goto l36;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;EmDash&quot;));
   {  int yypos37= yypos, yythunkpos37= yythunkpos;  if (!yymatchString(&quot;---&quot;)) goto l38;  goto l37;
   l38:;	  yypos= yypos37; yythunkpos= yythunkpos37;  if (!yymatchString(&quot;--&quot;)) goto l36;
   }
-  l37:;	  if (!yy_Sp()) goto l36;  yyDo(yy_1_EmDash, yybegin, yyend);
+  l37:;	  yyDo(yy_1_EmDash, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;EmDash&quot;, yybuf+yypos));
   return 1;
   l36:;	  yypos= yypos0; yythunkpos= yythunkpos0;
@@ -2425,598 +2394,598 @@ YY_RULE(int) yy_TerminalEndline()
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;TerminalEndline&quot;, yybuf+yypos));
   return 0;
 }
+YY_RULE(int) yy_LineBreak()
+{  int yypos0= yypos, yythunkpos0= yythunkpos;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;LineBreak&quot;));  if (!yymatchString(&quot;  &quot;)) goto l306;  if (!yy_NormalEndline()) goto l306;  yyDo(yy_1_LineBreak, yybegin, yyend);
+  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;LineBreak&quot;, yybuf+yypos));
+  return 1;
+  l306:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;LineBreak&quot;, yybuf+yypos));
+  return 0;
+}
 YY_RULE(int) yy_CharEntity()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;CharEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l306;  if (!yymatchChar('&amp;')) goto l306;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l306;
-  l307:;	
-  {  int yypos308= yypos, yythunkpos308= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l308;  goto l307;
-  l308:;	  yypos= yypos308; yythunkpos= yythunkpos308;
-  }  if (!yymatchChar(';')) goto l306;  yyText(yybegin, yyend);  if (!(YY_END)) goto l306;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;CharEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l307;  if (!yymatchChar('&amp;')) goto l307;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l307;
+  l308:;	
+  {  int yypos309= yypos, yythunkpos309= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l309;  goto l308;
+  l309:;	  yypos= yypos309; yythunkpos= yythunkpos309;
+  }  if (!yymatchChar(';')) goto l307;  yyText(yybegin, yyend);  if (!(YY_END)) goto l307;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;CharEntity&quot;, yybuf+yypos));
   return 1;
-  l306:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l307:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;CharEntity&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_DecEntity()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;DecEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l309;  if (!yymatchChar('&amp;')) goto l309;  if (!yymatchChar('#')) goto l309;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l309;
-  l310:;	
-  {  int yypos311= yypos, yythunkpos311= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l311;  goto l310;
-  l311:;	  yypos= yypos311; yythunkpos= yythunkpos311;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l309;  if (!yymatchChar(';')) goto l309;  yyText(yybegin, yyend);  if (!(YY_END)) goto l309;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;DecEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l310;  if (!yymatchChar('&amp;')) goto l310;  if (!yymatchChar('#')) goto l310;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l310;
+  l311:;	
+  {  int yypos312= yypos, yythunkpos312= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l312;  goto l311;
+  l312:;	  yypos= yypos312; yythunkpos= yythunkpos312;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l310;  if (!yymatchChar(';')) goto l310;  yyText(yybegin, yyend);  if (!(YY_END)) goto l310;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;DecEntity&quot;, yybuf+yypos));
   return 1;
-  l309:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l310:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;DecEntity&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_HexEntity()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;HexEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l312;  if (!yymatchChar('&amp;')) goto l312;  if (!yymatchChar('#')) goto l312;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l312;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l312;
-  l313:;	
-  {  int yypos314= yypos, yythunkpos314= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l314;  goto l313;
-  l314:;	  yypos= yypos314; yythunkpos= yythunkpos314;
-  }  if (!yymatchChar(';')) goto l312;  yyText(yybegin, yyend);  if (!(YY_END)) goto l312;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;HexEntity&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l313;  if (!yymatchChar('&amp;')) goto l313;  if (!yymatchChar('#')) goto l313;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l313;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l313;
+  l314:;	
+  {  int yypos315= yypos, yythunkpos315= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l315;  goto l314;
+  l315:;	  yypos= yypos315; yythunkpos= yythunkpos315;
+  }  if (!yymatchChar(';')) goto l313;  yyText(yybegin, yyend);  if (!(YY_END)) goto l313;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;HexEntity&quot;, yybuf+yypos));
   return 1;
-  l312:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l313:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;HexEntity&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_NormalChar()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;NormalChar&quot;));
-  {  int yypos316= yypos, yythunkpos316= yythunkpos;
-  {  int yypos317= yypos, yythunkpos317= yythunkpos;  if (!yy_SpecialChar()) goto l318;  goto l317;
-  l318:;	  yypos= yypos317; yythunkpos= yythunkpos317;  if (!yy_Spacechar()) goto l319;  goto l317;
-  l319:;	  yypos= yypos317; yythunkpos= yythunkpos317;  if (!yy_Newline()) goto l316;
-  }
-  l317:;	  goto l315;
-  l316:;	  yypos= yypos316; yythunkpos= yythunkpos316;
-  }  if (!yymatchDot()) goto l315;
+  {  int yypos317= yypos, yythunkpos317= yythunkpos;
+  {  int yypos318= yypos, yythunkpos318= yythunkpos;  if (!yy_SpecialChar()) goto l319;  goto l318;
+  l319:;	  yypos= yypos318; yythunkpos= yythunkpos318;  if (!yy_Spacechar()) goto l320;  goto l318;
+  l320:;	  yypos= yypos318; yythunkpos= yythunkpos318;  if (!yy_Newline()) goto l317;
+  }
+  l318:;	  goto l316;
+  l317:;	  yypos= yypos317; yythunkpos= yythunkpos317;
+  }  if (!yymatchDot()) goto l316;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;NormalChar&quot;, yybuf+yypos));
   return 1;
-  l315:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l316:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;NormalChar&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Symbol()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Symbol&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l320;  if (!yy_SpecialChar()) goto l320;  yyText(yybegin, yyend);  if (!(YY_END)) goto l320;  yyDo(yy_1_Symbol, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Symbol&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l321;  if (!yy_SpecialChar()) goto l321;  yyText(yybegin, yyend);  if (!(YY_END)) goto l321;  yyDo(yy_1_Symbol, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Symbol&quot;, yybuf+yypos));
   return 1;
-  l320:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l321:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Symbol&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Smart()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Smart&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_SMART) )) goto l321;
-  {  int yypos322= yypos, yythunkpos322= yythunkpos;  if (!yy_Ellipsis()) goto l323;  goto l322;
-  l323:;	  yypos= yypos322; yythunkpos= yythunkpos322;  if (!yy_Dash()) goto l324;  goto l322;
-  l324:;	  yypos= yypos322; yythunkpos= yythunkpos322;  if (!yy_SingleQuoted()) goto l325;  goto l322;
-  l325:;	  yypos= yypos322; yythunkpos= yythunkpos322;  if (!yy_DoubleQuoted()) goto l326;  goto l322;
-  l326:;	  yypos= yypos322; yythunkpos= yythunkpos322;  if (!yy_Apostrophe()) goto l321;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Smart&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_SMART) )) goto l322;
+  {  int yypos323= yypos, yythunkpos323= yythunkpos;  if (!yy_Ellipsis()) goto l324;  goto l323;
+  l324:;	  yypos= yypos323; yythunkpos= yythunkpos323;  if (!yy_Dash()) goto l325;  goto l323;
+  l325:;	  yypos= yypos323; yythunkpos= yythunkpos323;  if (!yy_SingleQuoted()) goto l326;  goto l323;
+  l326:;	  yypos= yypos323; yythunkpos= yythunkpos323;  if (!yy_DoubleQuoted()) goto l327;  goto l323;
+  l327:;	  yypos= yypos323; yythunkpos= yythunkpos323;  if (!yy_Apostrophe()) goto l322;
   }
-  l322:;	
+  l323:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Smart&quot;, yybuf+yypos));
   return 1;
-  l321:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l322:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Smart&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_EscapedChar()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;EscapedChar&quot;));  if (!yymatchChar('\\')) goto l327;
-  {  int yypos328= yypos, yythunkpos328= yythunkpos;  if (!yy_Newline()) goto l328;  goto l327;
-  l328:;	  yypos= yypos328; yythunkpos= yythunkpos328;
-  }  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l327;  if (!yymatchDot()) goto l327;  yyText(yybegin, yyend);  if (!(YY_END)) goto l327;  yyDo(yy_1_EscapedChar, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;EscapedChar&quot;));  if (!yymatchChar('\\')) goto l328;
+  {  int yypos329= yypos, yythunkpos329= yythunkpos;  if (!yy_Newline()) goto l329;  goto l328;
+  l329:;	  yypos= yypos329; yythunkpos= yythunkpos329;
+  }  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l328;  if (!yymatchDot()) goto l328;  yyText(yybegin, yyend);  if (!(YY_END)) goto l328;  yyDo(yy_1_EscapedChar, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;EscapedChar&quot;, yybuf+yypos));
   return 1;
-  l327:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l328:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;EscapedChar&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Entity()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Entity&quot;));
-  {  int yypos330= yypos, yythunkpos330= yythunkpos;  if (!yy_HexEntity()) goto l331;  goto l330;
-  l331:;	  yypos= yypos330; yythunkpos= yythunkpos330;  if (!yy_DecEntity()) goto l332;  goto l330;
-  l332:;	  yypos= yypos330; yythunkpos= yythunkpos330;  if (!yy_CharEntity()) goto l329;
+  {  int yypos331= yypos, yythunkpos331= yythunkpos;  if (!yy_HexEntity()) goto l332;  goto l331;
+  l332:;	  yypos= yypos331; yythunkpos= yythunkpos331;  if (!yy_DecEntity()) goto l333;  goto l331;
+  l333:;	  yypos= yypos331; yythunkpos= yythunkpos331;  if (!yy_CharEntity()) goto l330;
   }
-  l330:;	  yyDo(yy_1_Entity, yybegin, yyend);
+  l331:;	  yyDo(yy_1_Entity, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Entity&quot;, yybuf+yypos));
   return 1;
-  l329:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l330:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Entity&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_RawHtml()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;RawHtml&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l333;
-  {  int yypos334= yypos, yythunkpos334= yythunkpos;  if (!yy_HtmlComment()) goto l335;  goto l334;
-  l335:;	  yypos= yypos334; yythunkpos= yythunkpos334;  if (!yy_HtmlTag()) goto l333;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;RawHtml&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l334;
+  {  int yypos335= yypos, yythunkpos335= yythunkpos;  if (!yy_HtmlComment()) goto l336;  goto l335;
+  l336:;	  yypos= yypos335; yythunkpos= yythunkpos335;  if (!yy_HtmlTag()) goto l334;
   }
-  l334:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l333;  yyDo(yy_1_RawHtml, yybegin, yyend);
+  l335:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l334;  yyDo(yy_1_RawHtml, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;RawHtml&quot;, yybuf+yypos));
   return 1;
-  l333:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l334:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;RawHtml&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Code()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Code&quot;));
-  {  int yypos337= yypos, yythunkpos337= yythunkpos;  if (!yy_Ticks1()) goto l338;  if (!yy_Sp()) goto l338;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l338;
-  {  int yypos341= yypos, yythunkpos341= yythunkpos;
-  {  int yypos345= yypos, yythunkpos345= yythunkpos;  if (!yymatchChar('`')) goto l345;  goto l342;
-  l345:;	  yypos= yypos345; yythunkpos= yythunkpos345;
-  }  if (!yy_Nonspacechar()) goto l342;
-  l343:;	
-  {  int yypos344= yypos, yythunkpos344= yythunkpos;
-  {  int yypos346= yypos, yythunkpos346= yythunkpos;  if (!yymatchChar('`')) goto l346;  goto l344;
+  {  int yypos338= yypos, yythunkpos338= yythunkpos;  if (!yy_Ticks1()) goto l339;  if (!yy_Sp()) goto l339;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l339;
+  {  int yypos342= yypos, yythunkpos342= yythunkpos;
+  {  int yypos346= yypos, yythunkpos346= yythunkpos;  if (!yymatchChar('`')) goto l346;  goto l343;
   l346:;	  yypos= yypos346; yythunkpos= yythunkpos346;
-  }  if (!yy_Nonspacechar()) goto l344;  goto l343;
-  l344:;	  yypos= yypos344; yythunkpos= yythunkpos344;
-  }  goto l341;
-  l342:;	  yypos= yypos341; yythunkpos= yythunkpos341;
-  {  int yypos348= yypos, yythunkpos348= yythunkpos;  if (!yy_Ticks1()) goto l348;  goto l347;
-  l348:;	  yypos= yypos348; yythunkpos= yythunkpos348;
-  }  if (!yymatchChar('`')) goto l347;
-  l349:;	
-  {  int yypos350= yypos, yythunkpos350= yythunkpos;  if (!yymatchChar('`')) goto l350;  goto l349;
-  l350:;	  yypos= yypos350; yythunkpos= yythunkpos350;
-  }  goto l341;
-  l347:;	  yypos= yypos341; yythunkpos= yythunkpos341;
-  {  int yypos351= yypos, yythunkpos351= yythunkpos;  if (!yy_Sp()) goto l351;  if (!yy_Ticks1()) goto l351;  goto l338;
+  }  if (!yy_Nonspacechar()) goto l343;
+  l344:;	
+  {  int yypos345= yypos, yythunkpos345= yythunkpos;
+  {  int yypos347= yypos, yythunkpos347= yythunkpos;  if (!yymatchChar('`')) goto l347;  goto l345;
+  l347:;	  yypos= yypos347; yythunkpos= yythunkpos347;
+  }  if (!yy_Nonspacechar()) goto l345;  goto l344;
+  l345:;	  yypos= yypos345; yythunkpos= yythunkpos345;
+  }  goto l342;
+  l343:;	  yypos= yypos342; yythunkpos= yythunkpos342;
+  {  int yypos349= yypos, yythunkpos349= yythunkpos;  if (!yy_Ticks1()) goto l349;  goto l348;
+  l349:;	  yypos= yypos349; yythunkpos= yythunkpos349;
+  }  if (!yymatchChar('`')) goto l348;
+  l350:;	
+  {  int yypos351= yypos, yythunkpos351= yythunkpos;  if (!yymatchChar('`')) goto l351;  goto l350;
   l351:;	  yypos= yypos351; yythunkpos= yythunkpos351;
+  }  goto l342;
+  l348:;	  yypos= yypos342; yythunkpos= yythunkpos342;
+  {  int yypos352= yypos, yythunkpos352= yythunkpos;  if (!yy_Sp()) goto l352;  if (!yy_Ticks1()) goto l352;  goto l339;
+  l352:;	  yypos= yypos352; yythunkpos= yythunkpos352;
   }
-  {  int yypos352= yypos, yythunkpos352= yythunkpos;  if (!yy_Spacechar()) goto l353;  goto l352;
-  l353:;	  yypos= yypos352; yythunkpos= yythunkpos352;  if (!yy_Newline()) goto l338;
-  {  int yypos354= yypos, yythunkpos354= yythunkpos;  if (!yy_BlankLine()) goto l354;  goto l338;
-  l354:;	  yypos= yypos354; yythunkpos= yythunkpos354;
+  {  int yypos353= yypos, yythunkpos353= yythunkpos;  if (!yy_Spacechar()) goto l354;  goto l353;
+  l354:;	  yypos= yypos353; yythunkpos= yythunkpos353;  if (!yy_Newline()) goto l339;
+  {  int yypos355= yypos, yythunkpos355= yythunkpos;  if (!yy_BlankLine()) goto l355;  goto l339;
+  l355:;	  yypos= yypos355; yythunkpos= yythunkpos355;
   }
   }
-  l352:;	
+  l353:;	
   }
-  l341:;	
-  l339:;	
-  {  int yypos340= yypos, yythunkpos340= yythunkpos;
-  {  int yypos355= yypos, yythunkpos355= yythunkpos;
-  {  int yypos359= yypos, yythunkpos359= yythunkpos;  if (!yymatchChar('`')) goto l359;  goto l356;
-  l359:;	  yypos= yypos359; yythunkpos= yythunkpos359;
-  }  if (!yy_Nonspacechar()) goto l356;
-  l357:;	
-  {  int yypos358= yypos, yythunkpos358= yythunkpos;
-  {  int yypos360= yypos, yythunkpos360= yythunkpos;  if (!yymatchChar('`')) goto l360;  goto l358;
+  l342:;	
+  l340:;	
+  {  int yypos341= yypos, yythunkpos341= yythunkpos;
+  {  int yypos356= yypos, yythunkpos356= yythunkpos;
+  {  int yypos360= yypos, yythunkpos360= yythunkpos;  if (!yymatchChar('`')) goto l360;  goto l357;
   l360:;	  yypos= yypos360; yythunkpos= yythunkpos360;
-  }  if (!yy_Nonspacechar()) goto l358;  goto l357;
-  l358:;	  yypos= yypos358; yythunkpos= yythunkpos358;
-  }  goto l355;
-  l356:;	  yypos= yypos355; yythunkpos= yythunkpos355;
-  {  int yypos362= yypos, yythunkpos362= yythunkpos;  if (!yy_Ticks1()) goto l362;  goto l361;
-  l362:;	  yypos= yypos362; yythunkpos= yythunkpos362;
-  }  if (!yymatchChar('`')) goto l361;
-  l363:;	
-  {  int yypos364= yypos, yythunkpos364= yythunkpos;  if (!yymatchChar('`')) goto l364;  goto l363;
-  l364:;	  yypos= yypos364; yythunkpos= yythunkpos364;
-  }  goto l355;
-  l361:;	  yypos= yypos355; yythunkpos= yythunkpos355;
-  {  int yypos365= yypos, yythunkpos365= yythunkpos;  if (!yy_Sp()) goto l365;  if (!yy_Ticks1()) goto l365;  goto l340;
+  }  if (!yy_Nonspacechar()) goto l357;
+  l358:;	
+  {  int yypos359= yypos, yythunkpos359= yythunkpos;
+  {  int yypos361= yypos, yythunkpos361= yythunkpos;  if (!yymatchChar('`')) goto l361;  goto l359;
+  l361:;	  yypos= yypos361; yythunkpos= yythunkpos361;
+  }  if (!yy_Nonspacechar()) goto l359;  goto l358;
+  l359:;	  yypos= yypos359; yythunkpos= yythunkpos359;
+  }  goto l356;
+  l357:;	  yypos= yypos356; yythunkpos= yythunkpos356;
+  {  int yypos363= yypos, yythunkpos363= yythunkpos;  if (!yy_Ticks1()) goto l363;  goto l362;
+  l363:;	  yypos= yypos363; yythunkpos= yythunkpos363;
+  }  if (!yymatchChar('`')) goto l362;
+  l364:;	
+  {  int yypos365= yypos, yythunkpos365= yythunkpos;  if (!yymatchChar('`')) goto l365;  goto l364;
   l365:;	  yypos= yypos365; yythunkpos= yythunkpos365;
+  }  goto l356;
+  l362:;	  yypos= yypos356; yythunkpos= yythunkpos356;
+  {  int yypos366= yypos, yythunkpos366= yythunkpos;  if (!yy_Sp()) goto l366;  if (!yy_Ticks1()) goto l366;  goto l341;
+  l366:;	  yypos= yypos366; yythunkpos= yythunkpos366;
   }
-  {  int yypos366= yypos, yythunkpos366= yythunkpos;  if (!yy_Spacechar()) goto l367;  goto l366;
-  l367:;	  yypos= yypos366; yythunkpos= yythunkpos366;  if (!yy_Newline()) goto l340;
-  {  int yypos368= yypos, yythunkpos368= yythunkpos;  if (!yy_BlankLine()) goto l368;  goto l340;
-  l368:;	  yypos= yypos368; yythunkpos= yythunkpos368;
+  {  int yypos367= yypos, yythunkpos367= yythunkpos;  if (!yy_Spacechar()) goto l368;  goto l367;
+  l368:;	  yypos= yypos367; yythunkpos= yythunkpos367;  if (!yy_Newline()) goto l341;
+  {  int yypos369= yypos, yythunkpos369= yythunkpos;  if (!yy_BlankLine()) goto l369;  goto l341;
+  l369:;	  yypos= yypos369; yythunkpos= yythunkpos369;
   }
   }
-  l366:;	
+  l367:;	
   }
-  l355:;	  goto l339;
-  l340:;	  yypos= yypos340; yythunkpos= yythunkpos340;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l338;  if (!yy_Sp()) goto l338;  if (!yy_Ticks1()) goto l338;  goto l337;
-  l338:;	  yypos= yypos337; yythunkpos= yythunkpos337;  if (!yy_Ticks2()) goto l369;  if (!yy_Sp()) goto l369;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l369;
-  {  int yypos372= yypos, yythunkpos372= yythunkpos;
-  {  int yypos376= yypos, yythunkpos376= yythunkpos;  if (!yymatchChar('`')) goto l376;  goto l373;
-  l376:;	  yypos= yypos376; yythunkpos= yythunkpos376;
-  }  if (!yy_Nonspacechar()) goto l373;
-  l374:;	
-  {  int yypos375= yypos, yythunkpos375= yythunkpos;
-  {  int yypos377= yypos, yythunkpos377= yythunkpos;  if (!yymatchChar('`')) goto l377;  goto l375;
+  l356:;	  goto l340;
+  l341:;	  yypos= yypos341; yythunkpos= yythunkpos341;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l339;  if (!yy_Sp()) goto l339;  if (!yy_Ticks1()) goto l339;  goto l338;
+  l339:;	  yypos= yypos338; yythunkpos= yythunkpos338;  if (!yy_Ticks2()) goto l370;  if (!yy_Sp()) goto l370;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l370;
+  {  int yypos373= yypos, yythunkpos373= yythunkpos;
+  {  int yypos377= yypos, yythunkpos377= yythunkpos;  if (!yymatchChar('`')) goto l377;  goto l374;
   l377:;	  yypos= yypos377; yythunkpos= yythunkpos377;
-  }  if (!yy_Nonspacechar()) goto l375;  goto l374;
-  l375:;	  yypos= yypos375; yythunkpos= yythunkpos375;
-  }  goto l372;
-  l373:;	  yypos= yypos372; yythunkpos= yythunkpos372;
-  {  int yypos379= yypos, yythunkpos379= yythunkpos;  if (!yy_Ticks2()) goto l379;  goto l378;
-  l379:;	  yypos= yypos379; yythunkpos= yythunkpos379;
-  }  if (!yymatchChar('`')) goto l378;
-  l380:;	
-  {  int yypos381= yypos, yythunkpos381= yythunkpos;  if (!yymatchChar('`')) goto l381;  goto l380;
-  l381:;	  yypos= yypos381; yythunkpos= yythunkpos381;
-  }  goto l372;
-  l378:;	  yypos= yypos372; yythunkpos= yythunkpos372;
-  {  int yypos382= yypos, yythunkpos382= yythunkpos;  if (!yy_Sp()) goto l382;  if (!yy_Ticks2()) goto l382;  goto l369;
+  }  if (!yy_Nonspacechar()) goto l374;
+  l375:;	
+  {  int yypos376= yypos, yythunkpos376= yythunkpos;
+  {  int yypos378= yypos, yythunkpos378= yythunkpos;  if (!yymatchChar('`')) goto l378;  goto l376;
+  l378:;	  yypos= yypos378; yythunkpos= yythunkpos378;
+  }  if (!yy_Nonspacechar()) goto l376;  goto l375;
+  l376:;	  yypos= yypos376; yythunkpos= yythunkpos376;
+  }  goto l373;
+  l374:;	  yypos= yypos373; yythunkpos= yythunkpos373;
+  {  int yypos380= yypos, yythunkpos380= yythunkpos;  if (!yy_Ticks2()) goto l380;  goto l379;
+  l380:;	  yypos= yypos380; yythunkpos= yythunkpos380;
+  }  if (!yymatchChar('`')) goto l379;
+  l381:;	
+  {  int yypos382= yypos, yythunkpos382= yythunkpos;  if (!yymatchChar('`')) goto l382;  goto l381;
   l382:;	  yypos= yypos382; yythunkpos= yythunkpos382;
+  }  goto l373;
+  l379:;	  yypos= yypos373; yythunkpos= yythunkpos373;
+  {  int yypos383= yypos, yythunkpos383= yythunkpos;  if (!yy_Sp()) goto l383;  if (!yy_Ticks2()) goto l383;  goto l370;
+  l383:;	  yypos= yypos383; yythunkpos= yythunkpos383;
   }
-  {  int yypos383= yypos, yythunkpos383= yythunkpos;  if (!yy_Spacechar()) goto l384;  goto l383;
-  l384:;	  yypos= yypos383; yythunkpos= yythunkpos383;  if (!yy_Newline()) goto l369;
-  {  int yypos385= yypos, yythunkpos385= yythunkpos;  if (!yy_BlankLine()) goto l385;  goto l369;
-  l385:;	  yypos= yypos385; yythunkpos= yythunkpos385;
+  {  int yypos384= yypos, yythunkpos384= yythunkpos;  if (!yy_Spacechar()) goto l385;  goto l384;
+  l385:;	  yypos= yypos384; yythunkpos= yythunkpos384;  if (!yy_Newline()) goto l370;
+  {  int yypos386= yypos, yythunkpos386= yythunkpos;  if (!yy_BlankLine()) goto l386;  goto l370;
+  l386:;	  yypos= yypos386; yythunkpos= yythunkpos386;
   }
   }
-  l383:;	
+  l384:;	
   }
-  l372:;	
-  l370:;	
-  {  int yypos371= yypos, yythunkpos371= yythunkpos;
-  {  int yypos386= yypos, yythunkpos386= yythunkpos;
-  {  int yypos390= yypos, yythunkpos390= yythunkpos;  if (!yymatchChar('`')) goto l390;  goto l387;
-  l390:;	  yypos= yypos390; yythunkpos= yythunkpos390;
-  }  if (!yy_Nonspacechar()) goto l387;
-  l388:;	
-  {  int yypos389= yypos, yythunkpos389= yythunkpos;
-  {  int yypos391= yypos, yythunkpos391= yythunkpos;  if (!yymatchChar('`')) goto l391;  goto l389;
+  l373:;	
+  l371:;	
+  {  int yypos372= yypos, yythunkpos372= yythunkpos;
+  {  int yypos387= yypos, yythunkpos387= yythunkpos;
+  {  int yypos391= yypos, yythunkpos391= yythunkpos;  if (!yymatchChar('`')) goto l391;  goto l388;
   l391:;	  yypos= yypos391; yythunkpos= yythunkpos391;
-  }  if (!yy_Nonspacechar()) goto l389;  goto l388;
-  l389:;	  yypos= yypos389; yythunkpos= yythunkpos389;
-  }  goto l386;
-  l387:;	  yypos= yypos386; yythunkpos= yythunkpos386;
-  {  int yypos393= yypos, yythunkpos393= yythunkpos;  if (!yy_Ticks2()) goto l393;  goto l392;
-  l393:;	  yypos= yypos393; yythunkpos= yythunkpos393;
-  }  if (!yymatchChar('`')) goto l392;
-  l394:;	
-  {  int yypos395= yypos, yythunkpos395= yythunkpos;  if (!yymatchChar('`')) goto l395;  goto l394;
-  l395:;	  yypos= yypos395; yythunkpos= yythunkpos395;
-  }  goto l386;
-  l392:;	  yypos= yypos386; yythunkpos= yythunkpos386;
-  {  int yypos396= yypos, yythunkpos396= yythunkpos;  if (!yy_Sp()) goto l396;  if (!yy_Ticks2()) goto l396;  goto l371;
+  }  if (!yy_Nonspacechar()) goto l388;
+  l389:;	
+  {  int yypos390= yypos, yythunkpos390= yythunkpos;
+  {  int yypos392= yypos, yythunkpos392= yythunkpos;  if (!yymatchChar('`')) goto l392;  goto l390;
+  l392:;	  yypos= yypos392; yythunkpos= yythunkpos392;
+  }  if (!yy_Nonspacechar()) goto l390;  goto l389;
+  l390:;	  yypos= yypos390; yythunkpos= yythunkpos390;
+  }  goto l387;
+  l388:;	  yypos= yypos387; yythunkpos= yythunkpos387;
+  {  int yypos394= yypos, yythunkpos394= yythunkpos;  if (!yy_Ticks2()) goto l394;  goto l393;
+  l394:;	  yypos= yypos394; yythunkpos= yythunkpos394;
+  }  if (!yymatchChar('`')) goto l393;
+  l395:;	
+  {  int yypos396= yypos, yythunkpos396= yythunkpos;  if (!yymatchChar('`')) goto l396;  goto l395;
   l396:;	  yypos= yypos396; yythunkpos= yythunkpos396;
+  }  goto l387;
+  l393:;	  yypos= yypos387; yythunkpos= yythunkpos387;
+  {  int yypos397= yypos, yythunkpos397= yythunkpos;  if (!yy_Sp()) goto l397;  if (!yy_Ticks2()) goto l397;  goto l372;
+  l397:;	  yypos= yypos397; yythunkpos= yythunkpos397;
   }
-  {  int yypos397= yypos, yythunkpos397= yythunkpos;  if (!yy_Spacechar()) goto l398;  goto l397;
-  l398:;	  yypos= yypos397; yythunkpos= yythunkpos397;  if (!yy_Newline()) goto l371;
-  {  int yypos399= yypos, yythunkpos399= yythunkpos;  if (!yy_BlankLine()) goto l399;  goto l371;
-  l399:;	  yypos= yypos399; yythunkpos= yythunkpos399;
+  {  int yypos398= yypos, yythunkpos398= yythunkpos;  if (!yy_Spacechar()) goto l399;  goto l398;
+  l399:;	  yypos= yypos398; yythunkpos= yythunkpos398;  if (!yy_Newline()) goto l372;
+  {  int yypos400= yypos, yythunkpos400= yythunkpos;  if (!yy_BlankLine()) goto l400;  goto l372;
+  l400:;	  yypos= yypos400; yythunkpos= yythunkpos400;
   }
   }
-  l397:;	
+  l398:;	
   }
-  l386:;	  goto l370;
-  l371:;	  yypos= yypos371; yythunkpos= yythunkpos371;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l369;  if (!yy_Sp()) goto l369;  if (!yy_Ticks2()) goto l369;  goto l337;
-  l369:;	  yypos= yypos337; yythunkpos= yythunkpos337;  if (!yy_Ticks3()) goto l400;  if (!yy_Sp()) goto l400;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l400;
-  {  int yypos403= yypos, yythunkpos403= yythunkpos;
-  {  int yypos407= yypos, yythunkpos407= yythunkpos;  if (!yymatchChar('`')) goto l407;  goto l404;
-  l407:;	  yypos= yypos407; yythunkpos= yythunkpos407;
-  }  if (!yy_Nonspacechar()) goto l404;
-  l405:;	
-  {  int yypos406= yypos, yythunkpos406= yythunkpos;
-  {  int yypos408= yypos, yythunkpos408= yythunkpos;  if (!yymatchChar('`')) goto l408;  goto l406;
+  l387:;	  goto l371;
+  l372:;	  yypos= yypos372; yythunkpos= yythunkpos372;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l370;  if (!yy_Sp()) goto l370;  if (!yy_Ticks2()) goto l370;  goto l338;
+  l370:;	  yypos= yypos338; yythunkpos= yythunkpos338;  if (!yy_Ticks3()) goto l401;  if (!yy_Sp()) goto l401;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l401;
+  {  int yypos404= yypos, yythunkpos404= yythunkpos;
+  {  int yypos408= yypos, yythunkpos408= yythunkpos;  if (!yymatchChar('`')) goto l408;  goto l405;
   l408:;	  yypos= yypos408; yythunkpos= yythunkpos408;
-  }  if (!yy_Nonspacechar()) goto l406;  goto l405;
-  l406:;	  yypos= yypos406; yythunkpos= yythunkpos406;
-  }  goto l403;
-  l404:;	  yypos= yypos403; yythunkpos= yythunkpos403;
-  {  int yypos410= yypos, yythunkpos410= yythunkpos;  if (!yy_Ticks3()) goto l410;  goto l409;
-  l410:;	  yypos= yypos410; yythunkpos= yythunkpos410;
-  }  if (!yymatchChar('`')) goto l409;
-  l411:;	
-  {  int yypos412= yypos, yythunkpos412= yythunkpos;  if (!yymatchChar('`')) goto l412;  goto l411;
-  l412:;	  yypos= yypos412; yythunkpos= yythunkpos412;
-  }  goto l403;
-  l409:;	  yypos= yypos403; yythunkpos= yythunkpos403;
-  {  int yypos413= yypos, yythunkpos413= yythunkpos;  if (!yy_Sp()) goto l413;  if (!yy_Ticks3()) goto l413;  goto l400;
+  }  if (!yy_Nonspacechar()) goto l405;
+  l406:;	
+  {  int yypos407= yypos, yythunkpos407= yythunkpos;
+  {  int yypos409= yypos, yythunkpos409= yythunkpos;  if (!yymatchChar('`')) goto l409;  goto l407;
+  l409:;	  yypos= yypos409; yythunkpos= yythunkpos409;
+  }  if (!yy_Nonspacechar()) goto l407;  goto l406;
+  l407:;	  yypos= yypos407; yythunkpos= yythunkpos407;
+  }  goto l404;
+  l405:;	  yypos= yypos404; yythunkpos= yythunkpos404;
+  {  int yypos411= yypos, yythunkpos411= yythunkpos;  if (!yy_Ticks3()) goto l411;  goto l410;
+  l411:;	  yypos= yypos411; yythunkpos= yythunkpos411;
+  }  if (!yymatchChar('`')) goto l410;
+  l412:;	
+  {  int yypos413= yypos, yythunkpos413= yythunkpos;  if (!yymatchChar('`')) goto l413;  goto l412;
   l413:;	  yypos= yypos413; yythunkpos= yythunkpos413;
+  }  goto l404;
+  l410:;	  yypos= yypos404; yythunkpos= yythunkpos404;
+  {  int yypos414= yypos, yythunkpos414= yythunkpos;  if (!yy_Sp()) goto l414;  if (!yy_Ticks3()) goto l414;  goto l401;
+  l414:;	  yypos= yypos414; yythunkpos= yythunkpos414;
   }
-  {  int yypos414= yypos, yythunkpos414= yythunkpos;  if (!yy_Spacechar()) goto l415;  goto l414;
-  l415:;	  yypos= yypos414; yythunkpos= yythunkpos414;  if (!yy_Newline()) goto l400;
-  {  int yypos416= yypos, yythunkpos416= yythunkpos;  if (!yy_BlankLine()) goto l416;  goto l400;
-  l416:;	  yypos= yypos416; yythunkpos= yythunkpos416;
+  {  int yypos415= yypos, yythunkpos415= yythunkpos;  if (!yy_Spacechar()) goto l416;  goto l415;
+  l416:;	  yypos= yypos415; yythunkpos= yythunkpos415;  if (!yy_Newline()) goto l401;
+  {  int yypos417= yypos, yythunkpos417= yythunkpos;  if (!yy_BlankLine()) goto l417;  goto l401;
+  l417:;	  yypos= yypos417; yythunkpos= yythunkpos417;
   }
   }
-  l414:;	
+  l415:;	
   }
-  l403:;	
-  l401:;	
-  {  int yypos402= yypos, yythunkpos402= yythunkpos;
-  {  int yypos417= yypos, yythunkpos417= yythunkpos;
-  {  int yypos421= yypos, yythunkpos421= yythunkpos;  if (!yymatchChar('`')) goto l421;  goto l418;
-  l421:;	  yypos= yypos421; yythunkpos= yythunkpos421;
-  }  if (!yy_Nonspacechar()) goto l418;
-  l419:;	
-  {  int yypos420= yypos, yythunkpos420= yythunkpos;
-  {  int yypos422= yypos, yythunkpos422= yythunkpos;  if (!yymatchChar('`')) goto l422;  goto l420;
+  l404:;	
+  l402:;	
+  {  int yypos403= yypos, yythunkpos403= yythunkpos;
+  {  int yypos418= yypos, yythunkpos418= yythunkpos;
+  {  int yypos422= yypos, yythunkpos422= yythunkpos;  if (!yymatchChar('`')) goto l422;  goto l419;
   l422:;	  yypos= yypos422; yythunkpos= yythunkpos422;
-  }  if (!yy_Nonspacechar()) goto l420;  goto l419;
-  l420:;	  yypos= yypos420; yythunkpos= yythunkpos420;
-  }  goto l417;
-  l418:;	  yypos= yypos417; yythunkpos= yythunkpos417;
-  {  int yypos424= yypos, yythunkpos424= yythunkpos;  if (!yy_Ticks3()) goto l424;  goto l423;
-  l424:;	  yypos= yypos424; yythunkpos= yythunkpos424;
-  }  if (!yymatchChar('`')) goto l423;
-  l425:;	
-  {  int yypos426= yypos, yythunkpos426= yythunkpos;  if (!yymatchChar('`')) goto l426;  goto l425;
-  l426:;	  yypos= yypos426; yythunkpos= yythunkpos426;
-  }  goto l417;
-  l423:;	  yypos= yypos417; yythunkpos= yythunkpos417;
-  {  int yypos427= yypos, yythunkpos427= yythunkpos;  if (!yy_Sp()) goto l427;  if (!yy_Ticks3()) goto l427;  goto l402;
+  }  if (!yy_Nonspacechar()) goto l419;
+  l420:;	
+  {  int yypos421= yypos, yythunkpos421= yythunkpos;
+  {  int yypos423= yypos, yythunkpos423= yythunkpos;  if (!yymatchChar('`')) goto l423;  goto l421;
+  l423:;	  yypos= yypos423; yythunkpos= yythunkpos423;
+  }  if (!yy_Nonspacechar()) goto l421;  goto l420;
+  l421:;	  yypos= yypos421; yythunkpos= yythunkpos421;
+  }  goto l418;
+  l419:;	  yypos= yypos418; yythunkpos= yythunkpos418;
+  {  int yypos425= yypos, yythunkpos425= yythunkpos;  if (!yy_Ticks3()) goto l425;  goto l424;
+  l425:;	  yypos= yypos425; yythunkpos= yythunkpos425;
+  }  if (!yymatchChar('`')) goto l424;
+  l426:;	
+  {  int yypos427= yypos, yythunkpos427= yythunkpos;  if (!yymatchChar('`')) goto l427;  goto l426;
   l427:;	  yypos= yypos427; yythunkpos= yythunkpos427;
+  }  goto l418;
+  l424:;	  yypos= yypos418; yythunkpos= yythunkpos418;
+  {  int yypos428= yypos, yythunkpos428= yythunkpos;  if (!yy_Sp()) goto l428;  if (!yy_Ticks3()) goto l428;  goto l403;
+  l428:;	  yypos= yypos428; yythunkpos= yythunkpos428;
   }
-  {  int yypos428= yypos, yythunkpos428= yythunkpos;  if (!yy_Spacechar()) goto l429;  goto l428;
-  l429:;	  yypos= yypos428; yythunkpos= yythunkpos428;  if (!yy_Newline()) goto l402;
-  {  int yypos430= yypos, yythunkpos430= yythunkpos;  if (!yy_BlankLine()) goto l430;  goto l402;
-  l430:;	  yypos= yypos430; yythunkpos= yythunkpos430;
+  {  int yypos429= yypos, yythunkpos429= yythunkpos;  if (!yy_Spacechar()) goto l430;  goto l429;
+  l430:;	  yypos= yypos429; yythunkpos= yythunkpos429;  if (!yy_Newline()) goto l403;
+  {  int yypos431= yypos, yythunkpos431= yythunkpos;  if (!yy_BlankLine()) goto l431;  goto l403;
+  l431:;	  yypos= yypos431; yythunkpos= yythunkpos431;
   }
   }
-  l428:;	
+  l429:;	
   }
-  l417:;	  goto l401;
-  l402:;	  yypos= yypos402; yythunkpos= yythunkpos402;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l400;  if (!yy_Sp()) goto l400;  if (!yy_Ticks3()) goto l400;  goto l337;
-  l400:;	  yypos= yypos337; yythunkpos= yythunkpos337;  if (!yy_Ticks4()) goto l431;  if (!yy_Sp()) goto l431;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l431;
-  {  int yypos434= yypos, yythunkpos434= yythunkpos;
-  {  int yypos438= yypos, yythunkpos438= yythunkpos;  if (!yymatchChar('`')) goto l438;  goto l435;
-  l438:;	  yypos= yypos438; yythunkpos= yythunkpos438;
-  }  if (!yy_Nonspacechar()) goto l435;
-  l436:;	
-  {  int yypos437= yypos, yythunkpos437= yythunkpos;
-  {  int yypos439= yypos, yythunkpos439= yythunkpos;  if (!yymatchChar('`')) goto l439;  goto l437;
+  l418:;	  goto l402;
+  l403:;	  yypos= yypos403; yythunkpos= yythunkpos403;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l401;  if (!yy_Sp()) goto l401;  if (!yy_Ticks3()) goto l401;  goto l338;
+  l401:;	  yypos= yypos338; yythunkpos= yythunkpos338;  if (!yy_Ticks4()) goto l432;  if (!yy_Sp()) goto l432;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l432;
+  {  int yypos435= yypos, yythunkpos435= yythunkpos;
+  {  int yypos439= yypos, yythunkpos439= yythunkpos;  if (!yymatchChar('`')) goto l439;  goto l436;
   l439:;	  yypos= yypos439; yythunkpos= yythunkpos439;
-  }  if (!yy_Nonspacechar()) goto l437;  goto l436;
-  l437:;	  yypos= yypos437; yythunkpos= yythunkpos437;
-  }  goto l434;
-  l435:;	  yypos= yypos434; yythunkpos= yythunkpos434;
-  {  int yypos441= yypos, yythunkpos441= yythunkpos;  if (!yy_Ticks4()) goto l441;  goto l440;
-  l441:;	  yypos= yypos441; yythunkpos= yythunkpos441;
-  }  if (!yymatchChar('`')) goto l440;
-  l442:;	
-  {  int yypos443= yypos, yythunkpos443= yythunkpos;  if (!yymatchChar('`')) goto l443;  goto l442;
-  l443:;	  yypos= yypos443; yythunkpos= yythunkpos443;
-  }  goto l434;
-  l440:;	  yypos= yypos434; yythunkpos= yythunkpos434;
-  {  int yypos444= yypos, yythunkpos444= yythunkpos;  if (!yy_Sp()) goto l444;  if (!yy_Ticks4()) goto l444;  goto l431;
+  }  if (!yy_Nonspacechar()) goto l436;
+  l437:;	
+  {  int yypos438= yypos, yythunkpos438= yythunkpos;
+  {  int yypos440= yypos, yythunkpos440= yythunkpos;  if (!yymatchChar('`')) goto l440;  goto l438;
+  l440:;	  yypos= yypos440; yythunkpos= yythunkpos440;
+  }  if (!yy_Nonspacechar()) goto l438;  goto l437;
+  l438:;	  yypos= yypos438; yythunkpos= yythunkpos438;
+  }  goto l435;
+  l436:;	  yypos= yypos435; yythunkpos= yythunkpos435;
+  {  int yypos442= yypos, yythunkpos442= yythunkpos;  if (!yy_Ticks4()) goto l442;  goto l441;
+  l442:;	  yypos= yypos442; yythunkpos= yythunkpos442;
+  }  if (!yymatchChar('`')) goto l441;
+  l443:;	
+  {  int yypos444= yypos, yythunkpos444= yythunkpos;  if (!yymatchChar('`')) goto l444;  goto l443;
   l444:;	  yypos= yypos444; yythunkpos= yythunkpos444;
+  }  goto l435;
+  l441:;	  yypos= yypos435; yythunkpos= yythunkpos435;
+  {  int yypos445= yypos, yythunkpos445= yythunkpos;  if (!yy_Sp()) goto l445;  if (!yy_Ticks4()) goto l445;  goto l432;
+  l445:;	  yypos= yypos445; yythunkpos= yythunkpos445;
   }
-  {  int yypos445= yypos, yythunkpos445= yythunkpos;  if (!yy_Spacechar()) goto l446;  goto l445;
-  l446:;	  yypos= yypos445; yythunkpos= yythunkpos445;  if (!yy_Newline()) goto l431;
-  {  int yypos447= yypos, yythunkpos447= yythunkpos;  if (!yy_BlankLine()) goto l447;  goto l431;
-  l447:;	  yypos= yypos447; yythunkpos= yythunkpos447;
+  {  int yypos446= yypos, yythunkpos446= yythunkpos;  if (!yy_Spacechar()) goto l447;  goto l446;
+  l447:;	  yypos= yypos446; yythunkpos= yythunkpos446;  if (!yy_Newline()) goto l432;
+  {  int yypos448= yypos, yythunkpos448= yythunkpos;  if (!yy_BlankLine()) goto l448;  goto l432;
+  l448:;	  yypos= yypos448; yythunkpos= yythunkpos448;
   }
   }
-  l445:;	
+  l446:;	
   }
-  l434:;	
-  l432:;	
-  {  int yypos433= yypos, yythunkpos433= yythunkpos;
-  {  int yypos448= yypos, yythunkpos448= yythunkpos;
-  {  int yypos452= yypos, yythunkpos452= yythunkpos;  if (!yymatchChar('`')) goto l452;  goto l449;
-  l452:;	  yypos= yypos452; yythunkpos= yythunkpos452;
-  }  if (!yy_Nonspacechar()) goto l449;
-  l450:;	
-  {  int yypos451= yypos, yythunkpos451= yythunkpos;
-  {  int yypos453= yypos, yythunkpos453= yythunkpos;  if (!yymatchChar('`')) goto l453;  goto l451;
+  l435:;	
+  l433:;	
+  {  int yypos434= yypos, yythunkpos434= yythunkpos;
+  {  int yypos449= yypos, yythunkpos449= yythunkpos;
+  {  int yypos453= yypos, yythunkpos453= yythunkpos;  if (!yymatchChar('`')) goto l453;  goto l450;
   l453:;	  yypos= yypos453; yythunkpos= yythunkpos453;
-  }  if (!yy_Nonspacechar()) goto l451;  goto l450;
-  l451:;	  yypos= yypos451; yythunkpos= yythunkpos451;
-  }  goto l448;
-  l449:;	  yypos= yypos448; yythunkpos= yythunkpos448;
-  {  int yypos455= yypos, yythunkpos455= yythunkpos;  if (!yy_Ticks4()) goto l455;  goto l454;
-  l455:;	  yypos= yypos455; yythunkpos= yythunkpos455;
-  }  if (!yymatchChar('`')) goto l454;
-  l456:;	
-  {  int yypos457= yypos, yythunkpos457= yythunkpos;  if (!yymatchChar('`')) goto l457;  goto l456;
-  l457:;	  yypos= yypos457; yythunkpos= yythunkpos457;
-  }  goto l448;
-  l454:;	  yypos= yypos448; yythunkpos= yythunkpos448;
-  {  int yypos458= yypos, yythunkpos458= yythunkpos;  if (!yy_Sp()) goto l458;  if (!yy_Ticks4()) goto l458;  goto l433;
+  }  if (!yy_Nonspacechar()) goto l450;
+  l451:;	
+  {  int yypos452= yypos, yythunkpos452= yythunkpos;
+  {  int yypos454= yypos, yythunkpos454= yythunkpos;  if (!yymatchChar('`')) goto l454;  goto l452;
+  l454:;	  yypos= yypos454; yythunkpos= yythunkpos454;
+  }  if (!yy_Nonspacechar()) goto l452;  goto l451;
+  l452:;	  yypos= yypos452; yythunkpos= yythunkpos452;
+  }  goto l449;
+  l450:;	  yypos= yypos449; yythunkpos= yythunkpos449;
+  {  int yypos456= yypos, yythunkpos456= yythunkpos;  if (!yy_Ticks4()) goto l456;  goto l455;
+  l456:;	  yypos= yypos456; yythunkpos= yythunkpos456;
+  }  if (!yymatchChar('`')) goto l455;
+  l457:;	
+  {  int yypos458= yypos, yythunkpos458= yythunkpos;  if (!yymatchChar('`')) goto l458;  goto l457;
   l458:;	  yypos= yypos458; yythunkpos= yythunkpos458;
+  }  goto l449;
+  l455:;	  yypos= yypos449; yythunkpos= yythunkpos449;
+  {  int yypos459= yypos, yythunkpos459= yythunkpos;  if (!yy_Sp()) goto l459;  if (!yy_Ticks4()) goto l459;  goto l434;
+  l459:;	  yypos= yypos459; yythunkpos= yythunkpos459;
   }
-  {  int yypos459= yypos, yythunkpos459= yythunkpos;  if (!yy_Spacechar()) goto l460;  goto l459;
-  l460:;	  yypos= yypos459; yythunkpos= yythunkpos459;  if (!yy_Newline()) goto l433;
-  {  int yypos461= yypos, yythunkpos461= yythunkpos;  if (!yy_BlankLine()) goto l461;  goto l433;
-  l461:;	  yypos= yypos461; yythunkpos= yythunkpos461;
+  {  int yypos460= yypos, yythunkpos460= yythunkpos;  if (!yy_Spacechar()) goto l461;  goto l460;
+  l461:;	  yypos= yypos460; yythunkpos= yythunkpos460;  if (!yy_Newline()) goto l434;
+  {  int yypos462= yypos, yythunkpos462= yythunkpos;  if (!yy_BlankLine()) goto l462;  goto l434;
+  l462:;	  yypos= yypos462; yythunkpos= yythunkpos462;
   }
   }
-  l459:;	
+  l460:;	
   }
-  l448:;	  goto l432;
-  l433:;	  yypos= yypos433; yythunkpos= yythunkpos433;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l431;  if (!yy_Sp()) goto l431;  if (!yy_Ticks4()) goto l431;  goto l337;
-  l431:;	  yypos= yypos337; yythunkpos= yythunkpos337;  if (!yy_Ticks5()) goto l336;  if (!yy_Sp()) goto l336;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l336;
-  {  int yypos464= yypos, yythunkpos464= yythunkpos;
-  {  int yypos468= yypos, yythunkpos468= yythunkpos;  if (!yymatchChar('`')) goto l468;  goto l465;
-  l468:;	  yypos= yypos468; yythunkpos= yythunkpos468;
-  }  if (!yy_Nonspacechar()) goto l465;
-  l466:;	
-  {  int yypos467= yypos, yythunkpos467= yythunkpos;
-  {  int yypos469= yypos, yythunkpos469= yythunkpos;  if (!yymatchChar('`')) goto l469;  goto l467;
+  l449:;	  goto l433;
+  l434:;	  yypos= yypos434; yythunkpos= yythunkpos434;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l432;  if (!yy_Sp()) goto l432;  if (!yy_Ticks4()) goto l432;  goto l338;
+  l432:;	  yypos= yypos338; yythunkpos= yythunkpos338;  if (!yy_Ticks5()) goto l337;  if (!yy_Sp()) goto l337;  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l337;
+  {  int yypos465= yypos, yythunkpos465= yythunkpos;
+  {  int yypos469= yypos, yythunkpos469= yythunkpos;  if (!yymatchChar('`')) goto l469;  goto l466;
   l469:;	  yypos= yypos469; yythunkpos= yythunkpos469;
-  }  if (!yy_Nonspacechar()) goto l467;  goto l466;
-  l467:;	  yypos= yypos467; yythunkpos= yythunkpos467;
-  }  goto l464;
-  l465:;	  yypos= yypos464; yythunkpos= yythunkpos464;
-  {  int yypos471= yypos, yythunkpos471= yythunkpos;  if (!yy_Ticks5()) goto l471;  goto l470;
-  l471:;	  yypos= yypos471; yythunkpos= yythunkpos471;
-  }  if (!yymatchChar('`')) goto l470;
-  l472:;	
-  {  int yypos473= yypos, yythunkpos473= yythunkpos;  if (!yymatchChar('`')) goto l473;  goto l472;
-  l473:;	  yypos= yypos473; yythunkpos= yythunkpos473;
-  }  goto l464;
-  l470:;	  yypos= yypos464; yythunkpos= yythunkpos464;
-  {  int yypos474= yypos, yythunkpos474= yythunkpos;  if (!yy_Sp()) goto l474;  if (!yy_Ticks5()) goto l474;  goto l336;
+  }  if (!yy_Nonspacechar()) goto l466;
+  l467:;	
+  {  int yypos468= yypos, yythunkpos468= yythunkpos;
+  {  int yypos470= yypos, yythunkpos470= yythunkpos;  if (!yymatchChar('`')) goto l470;  goto l468;
+  l470:;	  yypos= yypos470; yythunkpos= yythunkpos470;
+  }  if (!yy_Nonspacechar()) goto l468;  goto l467;
+  l468:;	  yypos= yypos468; yythunkpos= yythunkpos468;
+  }  goto l465;
+  l466:;	  yypos= yypos465; yythunkpos= yythunkpos465;
+  {  int yypos472= yypos, yythunkpos472= yythunkpos;  if (!yy_Ticks5()) goto l472;  goto l471;
+  l472:;	  yypos= yypos472; yythunkpos= yythunkpos472;
+  }  if (!yymatchChar('`')) goto l471;
+  l473:;	
+  {  int yypos474= yypos, yythunkpos474= yythunkpos;  if (!yymatchChar('`')) goto l474;  goto l473;
   l474:;	  yypos= yypos474; yythunkpos= yythunkpos474;
+  }  goto l465;
+  l471:;	  yypos= yypos465; yythunkpos= yythunkpos465;
+  {  int yypos475= yypos, yythunkpos475= yythunkpos;  if (!yy_Sp()) goto l475;  if (!yy_Ticks5()) goto l475;  goto l337;
+  l475:;	  yypos= yypos475; yythunkpos= yythunkpos475;
   }
-  {  int yypos475= yypos, yythunkpos475= yythunkpos;  if (!yy_Spacechar()) goto l476;  goto l475;
-  l476:;	  yypos= yypos475; yythunkpos= yythunkpos475;  if (!yy_Newline()) goto l336;
-  {  int yypos477= yypos, yythunkpos477= yythunkpos;  if (!yy_BlankLine()) goto l477;  goto l336;
-  l477:;	  yypos= yypos477; yythunkpos= yythunkpos477;
+  {  int yypos476= yypos, yythunkpos476= yythunkpos;  if (!yy_Spacechar()) goto l477;  goto l476;
+  l477:;	  yypos= yypos476; yythunkpos= yythunkpos476;  if (!yy_Newline()) goto l337;
+  {  int yypos478= yypos, yythunkpos478= yythunkpos;  if (!yy_BlankLine()) goto l478;  goto l337;
+  l478:;	  yypos= yypos478; yythunkpos= yythunkpos478;
   }
   }
-  l475:;	
+  l476:;	
   }
-  l464:;	
-  l462:;	
-  {  int yypos463= yypos, yythunkpos463= yythunkpos;
-  {  int yypos478= yypos, yythunkpos478= yythunkpos;
-  {  int yypos482= yypos, yythunkpos482= yythunkpos;  if (!yymatchChar('`')) goto l482;  goto l479;
-  l482:;	  yypos= yypos482; yythunkpos= yythunkpos482;
-  }  if (!yy_Nonspacechar()) goto l479;
-  l480:;	
-  {  int yypos481= yypos, yythunkpos481= yythunkpos;
-  {  int yypos483= yypos, yythunkpos483= yythunkpos;  if (!yymatchChar('`')) goto l483;  goto l481;
+  l465:;	
+  l463:;	
+  {  int yypos464= yypos, yythunkpos464= yythunkpos;
+  {  int yypos479= yypos, yythunkpos479= yythunkpos;
+  {  int yypos483= yypos, yythunkpos483= yythunkpos;  if (!yymatchChar('`')) goto l483;  goto l480;
   l483:;	  yypos= yypos483; yythunkpos= yythunkpos483;
-  }  if (!yy_Nonspacechar()) goto l481;  goto l480;
-  l481:;	  yypos= yypos481; yythunkpos= yythunkpos481;
-  }  goto l478;
-  l479:;	  yypos= yypos478; yythunkpos= yythunkpos478;
-  {  int yypos485= yypos, yythunkpos485= yythunkpos;  if (!yy_Ticks5()) goto l485;  goto l484;
-  l485:;	  yypos= yypos485; yythunkpos= yythunkpos485;
-  }  if (!yymatchChar('`')) goto l484;
-  l486:;	
-  {  int yypos487= yypos, yythunkpos487= yythunkpos;  if (!yymatchChar('`')) goto l487;  goto l486;
-  l487:;	  yypos= yypos487; yythunkpos= yythunkpos487;
-  }  goto l478;
-  l484:;	  yypos= yypos478; yythunkpos= yythunkpos478;
-  {  int yypos488= yypos, yythunkpos488= yythunkpos;  if (!yy_Sp()) goto l488;  if (!yy_Ticks5()) goto l488;  goto l463;
+  }  if (!yy_Nonspacechar()) goto l480;
+  l481:;	
+  {  int yypos482= yypos, yythunkpos482= yythunkpos;
+  {  int yypos484= yypos, yythunkpos484= yythunkpos;  if (!yymatchChar('`')) goto l484;  goto l482;
+  l484:;	  yypos= yypos484; yythunkpos= yythunkpos484;
+  }  if (!yy_Nonspacechar()) goto l482;  goto l481;
+  l482:;	  yypos= yypos482; yythunkpos= yythunkpos482;
+  }  goto l479;
+  l480:;	  yypos= yypos479; yythunkpos= yythunkpos479;
+  {  int yypos486= yypos, yythunkpos486= yythunkpos;  if (!yy_Ticks5()) goto l486;  goto l485;
+  l486:;	  yypos= yypos486; yythunkpos= yythunkpos486;
+  }  if (!yymatchChar('`')) goto l485;
+  l487:;	
+  {  int yypos488= yypos, yythunkpos488= yythunkpos;  if (!yymatchChar('`')) goto l488;  goto l487;
   l488:;	  yypos= yypos488; yythunkpos= yythunkpos488;
+  }  goto l479;
+  l485:;	  yypos= yypos479; yythunkpos= yythunkpos479;
+  {  int yypos489= yypos, yythunkpos489= yythunkpos;  if (!yy_Sp()) goto l489;  if (!yy_Ticks5()) goto l489;  goto l464;
+  l489:;	  yypos= yypos489; yythunkpos= yythunkpos489;
   }
-  {  int yypos489= yypos, yythunkpos489= yythunkpos;  if (!yy_Spacechar()) goto l490;  goto l489;
-  l490:;	  yypos= yypos489; yythunkpos= yythunkpos489;  if (!yy_Newline()) goto l463;
-  {  int yypos491= yypos, yythunkpos491= yythunkpos;  if (!yy_BlankLine()) goto l491;  goto l463;
-  l491:;	  yypos= yypos491; yythunkpos= yythunkpos491;
+  {  int yypos490= yypos, yythunkpos490= yythunkpos;  if (!yy_Spacechar()) goto l491;  goto l490;
+  l491:;	  yypos= yypos490; yythunkpos= yythunkpos490;  if (!yy_Newline()) goto l464;
+  {  int yypos492= yypos, yythunkpos492= yythunkpos;  if (!yy_BlankLine()) goto l492;  goto l464;
+  l492:;	  yypos= yypos492; yythunkpos= yythunkpos492;
   }
   }
-  l489:;	
+  l490:;	
   }
-  l478:;	  goto l462;
-  l463:;	  yypos= yypos463; yythunkpos= yythunkpos463;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l336;  if (!yy_Sp()) goto l336;  if (!yy_Ticks5()) goto l336;
+  l479:;	  goto l463;
+  l464:;	  yypos= yypos464; yythunkpos= yythunkpos464;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l337;  if (!yy_Sp()) goto l337;  if (!yy_Ticks5()) goto l337;
   }
-  l337:;	  yyDo(yy_1_Code, yybegin, yyend);
+  l338:;	  yyDo(yy_1_Code, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Code&quot;, yybuf+yypos));
   return 1;
-  l336:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l337:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Code&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_InlineNote()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;InlineNote&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l492;  if (!yymatchString(&quot;^[&quot;)) goto l492;  if (!yy_StartList()) goto l492;  yyDo(yySet, -1, 0);
-  {  int yypos495= yypos, yythunkpos495= yythunkpos;  if (!yymatchChar(']')) goto l495;  goto l492;
-  l495:;	  yypos= yypos495; yythunkpos= yythunkpos495;
-  }  if (!yy_Inline()) goto l492;  yyDo(yy_1_InlineNote, yybegin, yyend);
-  l493:;	
-  {  int yypos494= yypos, yythunkpos494= yythunkpos;
-  {  int yypos496= yypos, yythunkpos496= yythunkpos;  if (!yymatchChar(']')) goto l496;  goto l494;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;InlineNote&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l493;  if (!yymatchString(&quot;^[&quot;)) goto l493;  if (!yy_StartList()) goto l493;  yyDo(yySet, -1, 0);
+  {  int yypos496= yypos, yythunkpos496= yythunkpos;  if (!yymatchChar(']')) goto l496;  goto l493;
   l496:;	  yypos= yypos496; yythunkpos= yythunkpos496;
-  }  if (!yy_Inline()) goto l494;  yyDo(yy_1_InlineNote, yybegin, yyend);  goto l493;
-  l494:;	  yypos= yypos494; yythunkpos= yythunkpos494;
-  }  if (!yymatchChar(']')) goto l492;  yyDo(yy_2_InlineNote, yybegin, yyend);
+  }  if (!yy_Inline()) goto l493;  yyDo(yy_1_InlineNote, yybegin, yyend);
+  l494:;	
+  {  int yypos495= yypos, yythunkpos495= yythunkpos;
+  {  int yypos497= yypos, yythunkpos497= yythunkpos;  if (!yymatchChar(']')) goto l497;  goto l495;
+  l497:;	  yypos= yypos497; yythunkpos= yythunkpos497;
+  }  if (!yy_Inline()) goto l495;  yyDo(yy_1_InlineNote, yybegin, yyend);  goto l494;
+  l495:;	  yypos= yypos495; yythunkpos= yythunkpos495;
+  }  if (!yymatchChar(']')) goto l493;  yyDo(yy_2_InlineNote, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;InlineNote&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l492:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l493:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;InlineNote&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_NoteReference()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;NoteReference&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l497;  if (!yy_RawNoteReference()) goto l497;  yyDo(yySet, -1, 0);  yyDo(yy_1_NoteReference, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;NoteReference&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l498;  if (!yy_RawNoteReference()) goto l498;  yyDo(yySet, -1, 0);  yyDo(yy_1_NoteReference, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;NoteReference&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l497:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l498:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;NoteReference&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Link()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Link&quot;));
-  {  int yypos499= yypos, yythunkpos499= yythunkpos;  if (!yy_ExplicitLink()) goto l500;  goto l499;
-  l500:;	  yypos= yypos499; yythunkpos= yythunkpos499;  if (!yy_ReferenceLink()) goto l501;  goto l499;
-  l501:;	  yypos= yypos499; yythunkpos= yythunkpos499;  if (!yy_AutoLink()) goto l498;
+  {  int yypos500= yypos, yythunkpos500= yythunkpos;  if (!yy_ExplicitLink()) goto l501;  goto l500;
+  l501:;	  yypos= yypos500; yythunkpos= yythunkpos500;  if (!yy_ReferenceLink()) goto l502;  goto l500;
+  l502:;	  yypos= yypos500; yythunkpos= yythunkpos500;  if (!yy_AutoLink()) goto l499;
   }
-  l499:;	
+  l500:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Link&quot;, yybuf+yypos));
   return 1;
-  l498:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l499:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Link&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Image()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Image&quot;));  if (!yymatchChar('!')) goto l502;
-  {  int yypos503= yypos, yythunkpos503= yythunkpos;  if (!yy_ExplicitLink()) goto l504;  goto l503;
-  l504:;	  yypos= yypos503; yythunkpos= yythunkpos503;  if (!yy_ReferenceLink()) goto l502;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Image&quot;));  if (!yymatchChar('!')) goto l503;
+  {  int yypos504= yypos, yythunkpos504= yythunkpos;  if (!yy_ExplicitLink()) goto l505;  goto l504;
+  l505:;	  yypos= yypos504; yythunkpos= yythunkpos504;  if (!yy_ReferenceLink()) goto l503;
   }
-  l503:;	  yyDo(yy_1_Image, yybegin, yyend);
+  l504:;	  yyDo(yy_1_Image, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Image&quot;, yybuf+yypos));
   return 1;
-  l502:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l503:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Image&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Emph()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Emph&quot;));
-  {  int yypos506= yypos, yythunkpos506= yythunkpos;  if (!yy_EmphStar()) goto l507;  goto l506;
-  l507:;	  yypos= yypos506; yythunkpos= yythunkpos506;  if (!yy_EmphUl()) goto l505;
+  {  int yypos507= yypos, yythunkpos507= yythunkpos;  if (!yy_EmphStar()) goto l508;  goto l507;
+  l508:;	  yypos= yypos507; yythunkpos= yythunkpos507;  if (!yy_EmphUl()) goto l506;
   }
-  l506:;	
+  l507:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Emph&quot;, yybuf+yypos));
   return 1;
-  l505:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l506:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Emph&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Strong()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Strong&quot;));
-  {  int yypos509= yypos, yythunkpos509= yythunkpos;  if (!yy_StrongStar()) goto l510;  goto l509;
-  l510:;	  yypos= yypos509; yythunkpos= yythunkpos509;  if (!yy_StrongUl()) goto l508;
+  {  int yypos510= yypos, yythunkpos510= yythunkpos;  if (!yy_StrongStar()) goto l511;  goto l510;
+  l511:;	  yypos= yypos510; yythunkpos= yythunkpos510;  if (!yy_StrongUl()) goto l509;
   }
-  l509:;	
+  l510:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Strong&quot;, yybuf+yypos));
   return 1;
-  l508:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l509:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Strong&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Space()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Space&quot;));  if (!yy_Spacechar()) goto l511;
-  l512:;	
-  {  int yypos513= yypos, yythunkpos513= yythunkpos;  if (!yy_Spacechar()) goto l513;  goto l512;
-  l513:;	  yypos= yypos513; yythunkpos= yythunkpos513;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Space&quot;));  if (!yy_Spacechar()) goto l512;
+  l513:;	
+  {  int yypos514= yypos, yythunkpos514= yythunkpos;  if (!yy_Spacechar()) goto l514;  goto l513;
+  l514:;	  yypos= yypos514; yythunkpos= yythunkpos514;
   }  yyDo(yy_1_Space, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Space&quot;, yybuf+yypos));
   return 1;
-  l511:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l512:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Space&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_UlOrStarLine()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;UlOrStarLine&quot;));
-  {  int yypos515= yypos, yythunkpos515= yythunkpos;  if (!yy_UlLine()) goto l516;  goto l515;
-  l516:;	  yypos= yypos515; yythunkpos= yythunkpos515;  if (!yy_StarLine()) goto l514;  yyDo(yy_1_UlOrStarLine, yybegin, yyend);
+  {  int yypos516= yypos, yythunkpos516= yythunkpos;  if (!yy_UlLine()) goto l517;  goto l516;
+  l517:;	  yypos= yypos516; yythunkpos= yythunkpos516;  if (!yy_StarLine()) goto l515;  yyDo(yy_1_UlOrStarLine, yybegin, yyend);
   }
-  l515:;	
+  l516:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;UlOrStarLine&quot;, yybuf+yypos));
   return 1;
-  l514:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l515:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;UlOrStarLine&quot;, yybuf+yypos));
   return 0;
 }
-YY_RULE(int) yy_LineBreak()
-{  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;LineBreak&quot;));  if (!yymatchString(&quot;  &quot;)) goto l517;  if (!yy_Endline()) goto l517;  yyDo(yy_1_LineBreak, yybegin, yyend);
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;LineBreak&quot;, yybuf+yypos));
-  return 1;
-  l517:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;LineBreak&quot;, yybuf+yypos));
-  return 0;
-}
 YY_RULE(int) yy_Str()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Str&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l518;  if (!yy_NormalChar()) goto l518;
@@ -4642,487 +4611,420 @@ YY_RULE(int) yy_OptionallyIndentedLine()
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;OptionallyIndentedLine&quot;, yybuf+yypos));
   return 0;
 }
-YY_RULE(int) yy_OrderedListItem()
-{  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;OrderedListItem&quot;));
-  {  int yypos1094= yypos, yythunkpos1094= yythunkpos;  if (!yy_HorizontalRule()) goto l1094;  goto l1093;
-  l1094:;	  yypos= yypos1094; yythunkpos= yythunkpos1094;
-  }
-  {  int yypos1095= yypos, yythunkpos1095= yythunkpos;  if (!yy_Enumerator()) goto l1093;  yypos= yypos1095; yythunkpos= yythunkpos1095;
-  }  if (!yy_ListItem()) goto l1093;
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;OrderedListItem&quot;, yybuf+yypos));
-  return 1;
-  l1093:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;OrderedListItem&quot;, yybuf+yypos));
-  return 0;
-}
-YY_RULE(int) yy_OrderedListLoose()
-{  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 2, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;OrderedListLoose&quot;));  if (!yy_StartList()) goto l1096;  yyDo(yySet, -2, 0);  if (!yy_OrderedListItem()) goto l1096;  yyDo(yySet, -1, 0);
-  l1099:;	
-  {  int yypos1100= yypos, yythunkpos1100= yythunkpos;  if (!yy_BlankLine()) goto l1100;  goto l1099;
-  l1100:;	  yypos= yypos1100; yythunkpos= yythunkpos1100;
-  }  yyDo(yy_1_OrderedListLoose, yybegin, yyend);
-  l1097:;	
-  {  int yypos1098= yypos, yythunkpos1098= yythunkpos;  if (!yy_OrderedListItem()) goto l1098;  yyDo(yySet, -1, 0);
-  l1101:;	
-  {  int yypos1102= yypos, yythunkpos1102= yythunkpos;  if (!yy_BlankLine()) goto l1102;  goto l1101;
-  l1102:;	  yypos= yypos1102; yythunkpos= yythunkpos1102;
-  }  yyDo(yy_1_OrderedListLoose, yybegin, yyend);  goto l1097;
-  l1098:;	  yypos= yypos1098; yythunkpos= yythunkpos1098;
-  }  yyDo(yy_2_OrderedListLoose, yybegin, yyend);
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;OrderedListLoose&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
-  return 1;
-  l1096:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;OrderedListLoose&quot;, yybuf+yypos));
-  return 0;
-}
-YY_RULE(int) yy_OrderedListTight()
-{  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;OrderedListTight&quot;));  if (!yy_StartList()) goto l1103;  yyDo(yySet, -1, 0);  if (!yy_OrderedListItem()) goto l1103;  yyDo(yy_1_OrderedListTight, yybegin, yyend);
-  l1104:;	
-  {  int yypos1105= yypos, yythunkpos1105= yythunkpos;  if (!yy_OrderedListItem()) goto l1105;  yyDo(yy_1_OrderedListTight, yybegin, yyend);  goto l1104;
-  l1105:;	  yypos= yypos1105; yythunkpos= yythunkpos1105;
-  }
-  l1106:;	
-  {  int yypos1107= yypos, yythunkpos1107= yythunkpos;  if (!yy_BlankLine()) goto l1107;  goto l1106;
-  l1107:;	  yypos= yypos1107; yythunkpos= yythunkpos1107;
-  }
-  {  int yypos1108= yypos, yythunkpos1108= yythunkpos;  if (!yy_OrderedListLoose()) goto l1108;  goto l1103;
-  l1108:;	  yypos= yypos1108; yythunkpos= yythunkpos1108;
-  }  yyDo(yy_2_OrderedListTight, yybegin, yyend);
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;OrderedListTight&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
-  return 1;
-  l1103:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;OrderedListTight&quot;, yybuf+yypos));
-  return 0;
-}
 YY_RULE(int) yy_Indent()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Indent&quot;));
-  {  int yypos1110= yypos, yythunkpos1110= yythunkpos;  if (!yymatchChar('\t')) goto l1111;  goto l1110;
-  l1111:;	  yypos= yypos1110; yythunkpos= yythunkpos1110;  if (!yymatchString(&quot;    &quot;)) goto l1109;
+  {  int yypos1094= yypos, yythunkpos1094= yythunkpos;  if (!yymatchChar('\t')) goto l1095;  goto l1094;
+  l1095:;	  yypos= yypos1094; yythunkpos= yythunkpos1094;  if (!yymatchString(&quot;    &quot;)) goto l1093;
   }
-  l1110:;	
+  l1094:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Indent&quot;, yybuf+yypos));
   return 1;
-  l1109:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1093:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Indent&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_ListBlockLine()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;ListBlockLine&quot;));
-  {  int yypos1113= yypos, yythunkpos1113= yythunkpos;
-  {  int yypos1114= yypos, yythunkpos1114= yythunkpos;  if (!yy_Indent()) goto l1114;  goto l1115;
-  l1114:;	  yypos= yypos1114; yythunkpos= yythunkpos1114;
+  {  int yypos1097= yypos, yythunkpos1097= yythunkpos;
+  {  int yypos1098= yypos, yythunkpos1098= yythunkpos;  if (!yy_Indent()) goto l1098;  goto l1099;
+  l1098:;	  yypos= yypos1098; yythunkpos= yythunkpos1098;
   }
-  l1115:;	
-  {  int yypos1116= yypos, yythunkpos1116= yythunkpos;  if (!yy_BulletListItem()) goto l1117;  goto l1116;
-  l1117:;	  yypos= yypos1116; yythunkpos= yythunkpos1116;  if (!yy_OrderedListItem()) goto l1113;
+  l1099:;	  if (!yy_ListItem()) goto l1097;  goto l1096;
+  l1097:;	  yypos= yypos1097; yythunkpos= yythunkpos1097;
   }
-  l1116:;	  goto l1112;
-  l1113:;	  yypos= yypos1113; yythunkpos= yythunkpos1113;
+  {  int yypos1100= yypos, yythunkpos1100= yythunkpos;  if (!yy_BlankLine()) goto l1100;  goto l1096;
+  l1100:;	  yypos= yypos1100; yythunkpos= yythunkpos1100;
   }
-  {  int yypos1118= yypos, yythunkpos1118= yythunkpos;  if (!yy_BlankLine()) goto l1118;  goto l1112;
-  l1118:;	  yypos= yypos1118; yythunkpos= yythunkpos1118;
-  }  if (!yy_OptionallyIndentedLine()) goto l1112;
+  {  int yypos1101= yypos, yythunkpos1101= yythunkpos;  if (!yy_HorizontalRule()) goto l1101;  goto l1096;
+  l1101:;	  yypos= yypos1101; yythunkpos= yythunkpos1101;
+  }  if (!yy_OptionallyIndentedLine()) goto l1096;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListBlockLine&quot;, yybuf+yypos));
   return 1;
-  l1112:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1096:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListBlockLine&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_ListContinuationBlock()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListContinuationBlock&quot;));  if (!yy_StartList()) goto l1119;  yyDo(yySet, -1, 0);  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1119;
-  l1120:;	
-  {  int yypos1121= yypos, yythunkpos1121= yythunkpos;  if (!yy_BlankLine()) goto l1121;  goto l1120;
-  l1121:;	  yypos= yypos1121; yythunkpos= yythunkpos1121;
-  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l1119;  yyDo(yy_1_ListContinuationBlock, yybegin, yyend);  if (!yy_Indent()) goto l1119;  if (!yy_ListBlock()) goto l1119;  yyDo(yy_2_ListContinuationBlock, yybegin, yyend);
-  l1122:;	
-  {  int yypos1123= yypos, yythunkpos1123= yythunkpos;  if (!yy_Indent()) goto l1123;  if (!yy_ListBlock()) goto l1123;  yyDo(yy_2_ListContinuationBlock, yybegin, yyend);  goto l1122;
-  l1123:;	  yypos= yypos1123; yythunkpos= yythunkpos1123;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListContinuationBlock&quot;));  if (!yy_StartList()) goto l1102;  yyDo(yySet, -1, 0);  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1102;
+  l1103:;	
+  {  int yypos1104= yypos, yythunkpos1104= yythunkpos;  if (!yy_BlankLine()) goto l1104;  goto l1103;
+  l1104:;	  yypos= yypos1104; yythunkpos= yythunkpos1104;
+  }  yyText(yybegin, yyend);  if (!(YY_END)) goto l1102;  yyDo(yy_1_ListContinuationBlock, yybegin, yyend);  if (!yy_Indent()) goto l1102;  if (!yy_ListBlock()) goto l1102;  yyDo(yy_2_ListContinuationBlock, yybegin, yyend);
+  l1105:;	
+  {  int yypos1106= yypos, yythunkpos1106= yythunkpos;  if (!yy_Indent()) goto l1106;  if (!yy_ListBlock()) goto l1106;  yyDo(yy_2_ListContinuationBlock, yybegin, yyend);  goto l1105;
+  l1106:;	  yypos= yypos1106; yythunkpos= yythunkpos1106;
   }  yyDo(yy_3_ListContinuationBlock, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListContinuationBlock&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1119:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1102:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListContinuationBlock&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_ListBlock()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListBlock&quot;));  if (!yy_StartList()) goto l1124;  yyDo(yySet, -1, 0);  if (!yy_Line()) goto l1124;  yyDo(yy_1_ListBlock, yybegin, yyend);
-  l1125:;	
-  {  int yypos1126= yypos, yythunkpos1126= yythunkpos;  if (!yy_ListBlockLine()) goto l1126;  yyDo(yy_2_ListBlock, yybegin, yyend);  goto l1125;
-  l1126:;	  yypos= yypos1126; yythunkpos= yythunkpos1126;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListBlock&quot;));  if (!yy_StartList()) goto l1107;  yyDo(yySet, -1, 0);  if (!yy_Line()) goto l1107;  yyDo(yy_1_ListBlock, yybegin, yyend);
+  l1108:;	
+  {  int yypos1109= yypos, yythunkpos1109= yythunkpos;  if (!yy_ListBlockLine()) goto l1109;  yyDo(yy_2_ListBlock, yybegin, yyend);  goto l1108;
+  l1109:;	  yypos= yypos1109; yythunkpos= yythunkpos1109;
   }  yyDo(yy_3_ListBlock, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListBlock&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1124:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1107:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListBlock&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Enumerator()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Enumerator&quot;));  if (!yy_NonindentSpace()) goto l1127;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l1127;
-  l1128:;	
-  {  int yypos1129= yypos, yythunkpos1129= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l1129;  goto l1128;
-  l1129:;	  yypos= yypos1129; yythunkpos= yythunkpos1129;
-  }  if (!yymatchChar('.')) goto l1127;  if (!yy_Spacechar()) goto l1127;
-  l1130:;	
-  {  int yypos1131= yypos, yythunkpos1131= yythunkpos;  if (!yy_Spacechar()) goto l1131;  goto l1130;
-  l1131:;	  yypos= yypos1131; yythunkpos= yythunkpos1131;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Enumerator&quot;));  if (!yy_NonindentSpace()) goto l1110;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l1110;
+  l1111:;	
+  {  int yypos1112= yypos, yythunkpos1112= yythunkpos;  if (!yymatchClass((unsigned char *)&quot;\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&quot;)) goto l1112;  goto l1111;
+  l1112:;	  yypos= yypos1112; yythunkpos= yythunkpos1112;
+  }  if (!yymatchChar('.')) goto l1110;  if (!yy_Spacechar()) goto l1110;
+  l1113:;	
+  {  int yypos1114= yypos, yythunkpos1114= yythunkpos;  if (!yy_Spacechar()) goto l1114;  goto l1113;
+  l1114:;	  yypos= yypos1114; yythunkpos= yythunkpos1114;
   }
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Enumerator&quot;, yybuf+yypos));
   return 1;
-  l1127:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1110:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Enumerator&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_ListItem()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
   yyprintf((stderr, &quot;%s\n&quot;, &quot;ListItem&quot;));
-  {  int yypos1133= yypos, yythunkpos1133= yythunkpos;  if (!yy_Bullet()) goto l1134;  goto l1133;
-  l1134:;	  yypos= yypos1133; yythunkpos= yythunkpos1133;  if (!yy_Enumerator()) goto l1132;
+  {  int yypos1116= yypos, yythunkpos1116= yythunkpos;  if (!yy_Bullet()) goto l1117;  goto l1116;
+  l1117:;	  yypos= yypos1116; yythunkpos= yythunkpos1116;  if (!yy_Enumerator()) goto l1115;
   }
-  l1133:;	  if (!yy_StartList()) goto l1132;  yyDo(yySet, -1, 0);  if (!yy_ListBlock()) goto l1132;  yyDo(yy_1_ListItem, yybegin, yyend);
-  l1135:;	
-  {  int yypos1136= yypos, yythunkpos1136= yythunkpos;  if (!yy_ListContinuationBlock()) goto l1136;  yyDo(yy_2_ListItem, yybegin, yyend);  goto l1135;
-  l1136:;	  yypos= yypos1136; yythunkpos= yythunkpos1136;
+  l1116:;	  if (!yy_StartList()) goto l1115;  yyDo(yySet, -1, 0);  if (!yy_ListBlock()) goto l1115;  yyDo(yy_1_ListItem, yybegin, yyend);
+  l1118:;	
+  {  int yypos1119= yypos, yythunkpos1119= yythunkpos;  if (!yy_ListContinuationBlock()) goto l1119;  yyDo(yy_2_ListItem, yybegin, yyend);  goto l1118;
+  l1119:;	  yypos= yypos1119; yythunkpos= yythunkpos1119;
   }  yyDo(yy_3_ListItem, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListItem&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1132:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1115:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListItem&quot;, yybuf+yypos));
   return 0;
 }
-YY_RULE(int) yy_BulletListItem()
-{  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BulletListItem&quot;));
-  {  int yypos1138= yypos, yythunkpos1138= yythunkpos;  if (!yy_HorizontalRule()) goto l1138;  goto l1137;
-  l1138:;	  yypos= yypos1138; yythunkpos= yythunkpos1138;
-  }
-  {  int yypos1139= yypos, yythunkpos1139= yythunkpos;  if (!yy_Bullet()) goto l1137;  yypos= yypos1139; yythunkpos= yythunkpos1139;
-  }  if (!yy_ListItem()) goto l1137;
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BulletListItem&quot;, yybuf+yypos));
-  return 1;
-  l1137:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BulletListItem&quot;, yybuf+yypos));
-  return 0;
-}
-YY_RULE(int) yy_BulletListLoose()
+YY_RULE(int) yy_ListLoose()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 2, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BulletListLoose&quot;));  if (!yy_StartList()) goto l1140;  yyDo(yySet, -2, 0);  if (!yy_BulletListItem()) goto l1140;  yyDo(yySet, -1, 0);
-  l1143:;	
-  {  int yypos1144= yypos, yythunkpos1144= yythunkpos;  if (!yy_BlankLine()) goto l1144;  goto l1143;
-  l1144:;	  yypos= yypos1144; yythunkpos= yythunkpos1144;
-  }  yyDo(yy_1_BulletListLoose, yybegin, yyend);
-  l1141:;	
-  {  int yypos1142= yypos, yythunkpos1142= yythunkpos;  if (!yy_BulletListItem()) goto l1142;  yyDo(yySet, -1, 0);
-  l1145:;	
-  {  int yypos1146= yypos, yythunkpos1146= yythunkpos;  if (!yy_BlankLine()) goto l1146;  goto l1145;
-  l1146:;	  yypos= yypos1146; yythunkpos= yythunkpos1146;
-  }  yyDo(yy_1_BulletListLoose, yybegin, yyend);  goto l1141;
-  l1142:;	  yypos= yypos1142; yythunkpos= yythunkpos1142;
-  }  yyDo(yy_2_BulletListLoose, yybegin, yyend);
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BulletListLoose&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListLoose&quot;));  if (!yy_StartList()) goto l1120;  yyDo(yySet, -2, 0);  if (!yy_ListItem()) goto l1120;  yyDo(yySet, -1, 0);
+  l1123:;	
+  {  int yypos1124= yypos, yythunkpos1124= yythunkpos;  if (!yy_BlankLine()) goto l1124;  goto l1123;
+  l1124:;	  yypos= yypos1124; yythunkpos= yythunkpos1124;
+  }  yyDo(yy_1_ListLoose, yybegin, yyend);
+  l1121:;	
+  {  int yypos1122= yypos, yythunkpos1122= yythunkpos;  if (!yy_ListItem()) goto l1122;  yyDo(yySet, -1, 0);
+  l1125:;	
+  {  int yypos1126= yypos, yythunkpos1126= yythunkpos;  if (!yy_BlankLine()) goto l1126;  goto l1125;
+  l1126:;	  yypos= yypos1126; yythunkpos= yythunkpos1126;
+  }  yyDo(yy_1_ListLoose, yybegin, yyend);  goto l1121;
+  l1122:;	  yypos= yypos1122; yythunkpos= yythunkpos1122;
+  }  yyDo(yy_2_ListLoose, yybegin, yyend);
+  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListLoose&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
   return 1;
-  l1140:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BulletListLoose&quot;, yybuf+yypos));
+  l1120:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListLoose&quot;, yybuf+yypos));
   return 0;
 }
-YY_RULE(int) yy_BulletListTight()
+YY_RULE(int) yy_ListTight()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BulletListTight&quot;));  if (!yy_StartList()) goto l1147;  yyDo(yySet, -1, 0);  if (!yy_BulletListItem()) goto l1147;  yyDo(yy_1_BulletListTight, yybegin, yyend);
-  l1148:;	
-  {  int yypos1149= yypos, yythunkpos1149= yythunkpos;  if (!yy_BulletListItem()) goto l1149;  yyDo(yy_1_BulletListTight, yybegin, yyend);  goto l1148;
-  l1149:;	  yypos= yypos1149; yythunkpos= yythunkpos1149;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;ListTight&quot;));  if (!yy_StartList()) goto l1127;  yyDo(yySet, -1, 0);  if (!yy_ListItem()) goto l1127;  yyDo(yy_1_ListTight, yybegin, yyend);
+  l1128:;	
+  {  int yypos1129= yypos, yythunkpos1129= yythunkpos;  if (!yy_ListItem()) goto l1129;  yyDo(yy_1_ListTight, yybegin, yyend);  goto l1128;
+  l1129:;	  yypos= yypos1129; yythunkpos= yythunkpos1129;
   }
-  l1150:;	
-  {  int yypos1151= yypos, yythunkpos1151= yythunkpos;  if (!yy_BlankLine()) goto l1151;  goto l1150;
-  l1151:;	  yypos= yypos1151; yythunkpos= yythunkpos1151;
+  l1130:;	
+  {  int yypos1131= yypos, yythunkpos1131= yythunkpos;  if (!yy_BlankLine()) goto l1131;  goto l1130;
+  l1131:;	  yypos= yypos1131; yythunkpos= yythunkpos1131;
   }
-  {  int yypos1152= yypos, yythunkpos1152= yythunkpos;  if (!yy_BulletListLoose()) goto l1152;  goto l1147;
-  l1152:;	  yypos= yypos1152; yythunkpos= yythunkpos1152;
-  }  yyDo(yy_2_BulletListTight, yybegin, yyend);
-  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BulletListTight&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
+  {  int yypos1132= yypos, yythunkpos1132= yythunkpos;  if (!yy_ListLoose()) goto l1132;  goto l1127;
+  l1132:;	  yypos= yypos1132; yythunkpos= yythunkpos1132;
+  }  yyDo(yy_2_ListTight, yybegin, yyend);
+  yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;ListTight&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1147:;	  yypos= yypos0; yythunkpos= yythunkpos0;
-  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BulletListTight&quot;, yybuf+yypos));
+  l1127:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;ListTight&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Spacechar()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Spacechar&quot;));
-  {  int yypos1154= yypos, yythunkpos1154= yythunkpos;  if (!yymatchChar(' ')) goto l1155;  goto l1154;
-  l1155:;	  yypos= yypos1154; yythunkpos= yythunkpos1154;  if (!yymatchChar('\t')) goto l1153;
+  {  int yypos1134= yypos, yythunkpos1134= yythunkpos;  if (!yymatchChar(' ')) goto l1135;  goto l1134;
+  l1135:;	  yypos= yypos1134; yythunkpos= yythunkpos1134;  if (!yymatchChar('\t')) goto l1133;
   }
-  l1154:;	
+  l1134:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Spacechar&quot;, yybuf+yypos));
   return 1;
-  l1153:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1133:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Spacechar&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Bullet()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Bullet&quot;));  if (!yy_NonindentSpace()) goto l1156;
-  {  int yypos1157= yypos, yythunkpos1157= yythunkpos;  if (!yymatchChar('+')) goto l1158;  goto l1157;
-  l1158:;	  yypos= yypos1157; yythunkpos= yythunkpos1157;  if (!yymatchChar('*')) goto l1159;  goto l1157;
-  l1159:;	  yypos= yypos1157; yythunkpos= yythunkpos1157;  if (!yymatchChar('-')) goto l1156;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Bullet&quot;));
+  {  int yypos1137= yypos, yythunkpos1137= yythunkpos;  if (!yy_HorizontalRule()) goto l1137;  goto l1136;
+  l1137:;	  yypos= yypos1137; yythunkpos= yythunkpos1137;
+  }  if (!yy_NonindentSpace()) goto l1136;
+  {  int yypos1138= yypos, yythunkpos1138= yythunkpos;  if (!yymatchChar('+')) goto l1139;  goto l1138;
+  l1139:;	  yypos= yypos1138; yythunkpos= yythunkpos1138;  if (!yymatchChar('*')) goto l1140;  goto l1138;
+  l1140:;	  yypos= yypos1138; yythunkpos= yythunkpos1138;  if (!yymatchChar('-')) goto l1136;
   }
-  l1157:;	  if (!yy_Spacechar()) goto l1156;
-  l1160:;	
-  {  int yypos1161= yypos, yythunkpos1161= yythunkpos;  if (!yy_Spacechar()) goto l1161;  goto l1160;
-  l1161:;	  yypos= yypos1161; yythunkpos= yythunkpos1161;
+  l1138:;	  if (!yy_Spacechar()) goto l1136;
+  l1141:;	
+  {  int yypos1142= yypos, yythunkpos1142= yythunkpos;  if (!yy_Spacechar()) goto l1142;  goto l1141;
+  l1142:;	  yypos= yypos1142; yythunkpos= yythunkpos1142;
   }
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Bullet&quot;, yybuf+yypos));
   return 1;
-  l1156:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1136:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Bullet&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_VerbatimChunk()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;VerbatimChunk&quot;));  if (!yy_StartList()) goto l1162;  yyDo(yySet, -1, 0);
-  l1163:;	
-  {  int yypos1164= yypos, yythunkpos1164= yythunkpos;  if (!yy_BlankLine()) goto l1164;  yyDo(yy_1_VerbatimChunk, yybegin, yyend);  goto l1163;
-  l1164:;	  yypos= yypos1164; yythunkpos= yythunkpos1164;
-  }  if (!yy_NonblankIndentedLine()) goto l1162;  yyDo(yy_2_VerbatimChunk, yybegin, yyend);
-  l1165:;	
-  {  int yypos1166= yypos, yythunkpos1166= yythunkpos;  if (!yy_NonblankIndentedLine()) goto l1166;  yyDo(yy_2_VerbatimChunk, yybegin, yyend);  goto l1165;
-  l1166:;	  yypos= yypos1166; yythunkpos= yythunkpos1166;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;VerbatimChunk&quot;));  if (!yy_StartList()) goto l1143;  yyDo(yySet, -1, 0);
+  l1144:;	
+  {  int yypos1145= yypos, yythunkpos1145= yythunkpos;  if (!yy_BlankLine()) goto l1145;  yyDo(yy_1_VerbatimChunk, yybegin, yyend);  goto l1144;
+  l1145:;	  yypos= yypos1145; yythunkpos= yythunkpos1145;
+  }  if (!yy_NonblankIndentedLine()) goto l1143;  yyDo(yy_2_VerbatimChunk, yybegin, yyend);
+  l1146:;	
+  {  int yypos1147= yypos, yythunkpos1147= yythunkpos;  if (!yy_NonblankIndentedLine()) goto l1147;  yyDo(yy_2_VerbatimChunk, yybegin, yyend);  goto l1146;
+  l1147:;	  yypos= yypos1147; yythunkpos= yythunkpos1147;
   }  yyDo(yy_3_VerbatimChunk, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;VerbatimChunk&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1162:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1143:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;VerbatimChunk&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_IndentedLine()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;IndentedLine&quot;));  if (!yy_Indent()) goto l1167;  if (!yy_Line()) goto l1167;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;IndentedLine&quot;));  if (!yy_Indent()) goto l1148;  if (!yy_Line()) goto l1148;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;IndentedLine&quot;, yybuf+yypos));
   return 1;
-  l1167:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1148:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;IndentedLine&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_NonblankIndentedLine()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;NonblankIndentedLine&quot;));
-  {  int yypos1169= yypos, yythunkpos1169= yythunkpos;  if (!yy_BlankLine()) goto l1169;  goto l1168;
-  l1169:;	  yypos= yypos1169; yythunkpos= yythunkpos1169;
-  }  if (!yy_IndentedLine()) goto l1168;
+  {  int yypos1150= yypos, yythunkpos1150= yythunkpos;  if (!yy_BlankLine()) goto l1150;  goto l1149;
+  l1150:;	  yypos= yypos1150; yythunkpos= yythunkpos1150;
+  }  if (!yy_IndentedLine()) goto l1149;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;NonblankIndentedLine&quot;, yybuf+yypos));
   return 1;
-  l1168:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1149:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;NonblankIndentedLine&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Line()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Line&quot;));  if (!yy_RawLine()) goto l1170;  yyDo(yy_1_Line, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Line&quot;));  if (!yy_RawLine()) goto l1151;  yyDo(yy_1_Line, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Line&quot;, yybuf+yypos));
   return 1;
-  l1170:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1151:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Line&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_BlockQuoteRaw()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlockQuoteRaw&quot;));  if (!yy_StartList()) goto l1171;  yyDo(yySet, -1, 0);  if (!yymatchChar('&gt;')) goto l1171;
-  {  int yypos1174= yypos, yythunkpos1174= yythunkpos;  if (!yymatchChar(' ')) goto l1174;  goto l1175;
-  l1174:;	  yypos= yypos1174; yythunkpos= yythunkpos1174;
-  }
-  l1175:;	  if (!yy_Line()) goto l1171;  yyDo(yy_1_BlockQuoteRaw, yybegin, yyend);
-  l1176:;	
-  {  int yypos1177= yypos, yythunkpos1177= yythunkpos;
-  {  int yypos1178= yypos, yythunkpos1178= yythunkpos;  if (!yymatchChar('&gt;')) goto l1178;  goto l1177;
-  l1178:;	  yypos= yypos1178; yythunkpos= yythunkpos1178;
-  }
-  {  int yypos1179= yypos, yythunkpos1179= yythunkpos;  if (!yy_BlankLine()) goto l1179;  goto l1177;
-  l1179:;	  yypos= yypos1179; yythunkpos= yythunkpos1179;
-  }  if (!yy_Line()) goto l1177;  yyDo(yy_2_BlockQuoteRaw, yybegin, yyend);  goto l1176;
-  l1177:;	  yypos= yypos1177; yythunkpos= yythunkpos1177;
-  }
-  l1180:;	
-  {  int yypos1181= yypos, yythunkpos1181= yythunkpos;  if (!yy_BlankLine()) goto l1181;  yyDo(yy_3_BlockQuoteRaw, yybegin, yyend);  goto l1180;
-  l1181:;	  yypos= yypos1181; yythunkpos= yythunkpos1181;
-  }
-  l1172:;	
-  {  int yypos1173= yypos, yythunkpos1173= yythunkpos;  if (!yymatchChar('&gt;')) goto l1173;
-  {  int yypos1182= yypos, yythunkpos1182= yythunkpos;  if (!yymatchChar(' ')) goto l1182;  goto l1183;
-  l1182:;	  yypos= yypos1182; yythunkpos= yythunkpos1182;
-  }
-  l1183:;	  if (!yy_Line()) goto l1173;  yyDo(yy_1_BlockQuoteRaw, yybegin, yyend);
-  l1184:;	
-  {  int yypos1185= yypos, yythunkpos1185= yythunkpos;
-  {  int yypos1186= yypos, yythunkpos1186= yythunkpos;  if (!yymatchChar('&gt;')) goto l1186;  goto l1185;
-  l1186:;	  yypos= yypos1186; yythunkpos= yythunkpos1186;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlockQuoteRaw&quot;));  if (!yy_StartList()) goto l1152;  yyDo(yySet, -1, 0);  if (!yymatchChar('&gt;')) goto l1152;
+  {  int yypos1155= yypos, yythunkpos1155= yythunkpos;  if (!yymatchChar(' ')) goto l1155;  goto l1156;
+  l1155:;	  yypos= yypos1155; yythunkpos= yythunkpos1155;
+  }
+  l1156:;	  if (!yy_Line()) goto l1152;  yyDo(yy_1_BlockQuoteRaw, yybegin, yyend);
+  l1157:;	
+  {  int yypos1158= yypos, yythunkpos1158= yythunkpos;
+  {  int yypos1159= yypos, yythunkpos1159= yythunkpos;  if (!yymatchChar('&gt;')) goto l1159;  goto l1158;
+  l1159:;	  yypos= yypos1159; yythunkpos= yythunkpos1159;
+  }
+  {  int yypos1160= yypos, yythunkpos1160= yythunkpos;  if (!yy_BlankLine()) goto l1160;  goto l1158;
+  l1160:;	  yypos= yypos1160; yythunkpos= yythunkpos1160;
+  }  if (!yy_Line()) goto l1158;  yyDo(yy_2_BlockQuoteRaw, yybegin, yyend);  goto l1157;
+  l1158:;	  yypos= yypos1158; yythunkpos= yythunkpos1158;
+  }
+  l1161:;	
+  {  int yypos1162= yypos, yythunkpos1162= yythunkpos;  if (!yy_BlankLine()) goto l1162;  yyDo(yy_3_BlockQuoteRaw, yybegin, yyend);  goto l1161;
+  l1162:;	  yypos= yypos1162; yythunkpos= yythunkpos1162;
+  }
+  l1153:;	
+  {  int yypos1154= yypos, yythunkpos1154= yythunkpos;  if (!yymatchChar('&gt;')) goto l1154;
+  {  int yypos1163= yypos, yythunkpos1163= yythunkpos;  if (!yymatchChar(' ')) goto l1163;  goto l1164;
+  l1163:;	  yypos= yypos1163; yythunkpos= yythunkpos1163;
+  }
+  l1164:;	  if (!yy_Line()) goto l1154;  yyDo(yy_1_BlockQuoteRaw, yybegin, yyend);
+  l1165:;	
+  {  int yypos1166= yypos, yythunkpos1166= yythunkpos;
+  {  int yypos1167= yypos, yythunkpos1167= yythunkpos;  if (!yymatchChar('&gt;')) goto l1167;  goto l1166;
+  l1167:;	  yypos= yypos1167; yythunkpos= yythunkpos1167;
   }
-  {  int yypos1187= yypos, yythunkpos1187= yythunkpos;  if (!yy_BlankLine()) goto l1187;  goto l1185;
-  l1187:;	  yypos= yypos1187; yythunkpos= yythunkpos1187;
-  }  if (!yy_Line()) goto l1185;  yyDo(yy_2_BlockQuoteRaw, yybegin, yyend);  goto l1184;
-  l1185:;	  yypos= yypos1185; yythunkpos= yythunkpos1185;
+  {  int yypos1168= yypos, yythunkpos1168= yythunkpos;  if (!yy_BlankLine()) goto l1168;  goto l1166;
+  l1168:;	  yypos= yypos1168; yythunkpos= yythunkpos1168;
+  }  if (!yy_Line()) goto l1166;  yyDo(yy_2_BlockQuoteRaw, yybegin, yyend);  goto l1165;
+  l1166:;	  yypos= yypos1166; yythunkpos= yythunkpos1166;
   }
-  l1188:;	
-  {  int yypos1189= yypos, yythunkpos1189= yythunkpos;  if (!yy_BlankLine()) goto l1189;  yyDo(yy_3_BlockQuoteRaw, yybegin, yyend);  goto l1188;
-  l1189:;	  yypos= yypos1189; yythunkpos= yythunkpos1189;
-  }  goto l1172;
-  l1173:;	  yypos= yypos1173; yythunkpos= yythunkpos1173;
+  l1169:;	
+  {  int yypos1170= yypos, yythunkpos1170= yythunkpos;  if (!yy_BlankLine()) goto l1170;  yyDo(yy_3_BlockQuoteRaw, yybegin, yyend);  goto l1169;
+  l1170:;	  yypos= yypos1170; yythunkpos= yythunkpos1170;
+  }  goto l1153;
+  l1154:;	  yypos= yypos1154; yythunkpos= yythunkpos1154;
   }  yyDo(yy_4_BlockQuoteRaw, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BlockQuoteRaw&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1171:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1152:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BlockQuoteRaw&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Endline()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Endline&quot;));
-  {  int yypos1191= yypos, yythunkpos1191= yythunkpos;  if (!yy_TerminalEndline()) goto l1192;  goto l1191;
-  l1192:;	  yypos= yypos1191; yythunkpos= yythunkpos1191;  if (!yy_NormalEndline()) goto l1190;
+  {  int yypos1172= yypos, yythunkpos1172= yythunkpos;  if (!yy_LineBreak()) goto l1173;  goto l1172;
+  l1173:;	  yypos= yypos1172; yythunkpos= yythunkpos1172;  if (!yy_TerminalEndline()) goto l1174;  goto l1172;
+  l1174:;	  yypos= yypos1172; yythunkpos= yythunkpos1172;  if (!yy_NormalEndline()) goto l1171;
   }
-  l1191:;	
+  l1172:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Endline&quot;, yybuf+yypos));
   return 1;
-  l1190:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1171:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Endline&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_SetextHeading2()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;SetextHeading2&quot;));  if (!yy_StartList()) goto l1193;  yyDo(yySet, -1, 0);
-  {  int yypos1196= yypos, yythunkpos1196= yythunkpos;  if (!yy_Endline()) goto l1196;  goto l1193;
-  l1196:;	  yypos= yypos1196; yythunkpos= yythunkpos1196;
-  }  if (!yy_Inline()) goto l1193;  yyDo(yy_1_SetextHeading2, yybegin, yyend);
-  l1194:;	
-  {  int yypos1195= yypos, yythunkpos1195= yythunkpos;
-  {  int yypos1197= yypos, yythunkpos1197= yythunkpos;  if (!yy_Endline()) goto l1197;  goto l1195;
-  l1197:;	  yypos= yypos1197; yythunkpos= yythunkpos1197;
-  }  if (!yy_Inline()) goto l1195;  yyDo(yy_1_SetextHeading2, yybegin, yyend);  goto l1194;
-  l1195:;	  yypos= yypos1195; yythunkpos= yythunkpos1195;
-  }  if (!yy_Newline()) goto l1193;  if (!yymatchString(&quot;---&quot;)) goto l1193;
-  l1198:;	
-  {  int yypos1199= yypos, yythunkpos1199= yythunkpos;  if (!yymatchChar('-')) goto l1199;  goto l1198;
-  l1199:;	  yypos= yypos1199; yythunkpos= yythunkpos1199;
-  }  if (!yy_Newline()) goto l1193;  yyDo(yy_2_SetextHeading2, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;SetextHeading2&quot;));  if (!yy_StartList()) goto l1175;  yyDo(yySet, -1, 0);
+  {  int yypos1178= yypos, yythunkpos1178= yythunkpos;  if (!yy_Endline()) goto l1178;  goto l1175;
+  l1178:;	  yypos= yypos1178; yythunkpos= yythunkpos1178;
+  }  if (!yy_Inline()) goto l1175;  yyDo(yy_1_SetextHeading2, yybegin, yyend);
+  l1176:;	
+  {  int yypos1177= yypos, yythunkpos1177= yythunkpos;
+  {  int yypos1179= yypos, yythunkpos1179= yythunkpos;  if (!yy_Endline()) goto l1179;  goto l1177;
+  l1179:;	  yypos= yypos1179; yythunkpos= yythunkpos1179;
+  }  if (!yy_Inline()) goto l1177;  yyDo(yy_1_SetextHeading2, yybegin, yyend);  goto l1176;
+  l1177:;	  yypos= yypos1177; yythunkpos= yythunkpos1177;
+  }  if (!yy_Newline()) goto l1175;  if (!yymatchString(&quot;---&quot;)) goto l1175;
+  l1180:;	
+  {  int yypos1181= yypos, yythunkpos1181= yythunkpos;  if (!yymatchChar('-')) goto l1181;  goto l1180;
+  l1181:;	  yypos= yypos1181; yythunkpos= yythunkpos1181;
+  }  if (!yy_Newline()) goto l1175;  yyDo(yy_2_SetextHeading2, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;SetextHeading2&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1193:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1175:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;SetextHeading2&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_SetextHeading1()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;SetextHeading1&quot;));  if (!yy_StartList()) goto l1200;  yyDo(yySet, -1, 0);
-  {  int yypos1203= yypos, yythunkpos1203= yythunkpos;  if (!yy_Endline()) goto l1203;  goto l1200;
-  l1203:;	  yypos= yypos1203; yythunkpos= yythunkpos1203;
-  }  if (!yy_Inline()) goto l1200;  yyDo(yy_1_SetextHeading1, yybegin, yyend);
-  l1201:;	
-  {  int yypos1202= yypos, yythunkpos1202= yythunkpos;
-  {  int yypos1204= yypos, yythunkpos1204= yythunkpos;  if (!yy_Endline()) goto l1204;  goto l1202;
-  l1204:;	  yypos= yypos1204; yythunkpos= yythunkpos1204;
-  }  if (!yy_Inline()) goto l1202;  yyDo(yy_1_SetextHeading1, yybegin, yyend);  goto l1201;
-  l1202:;	  yypos= yypos1202; yythunkpos= yythunkpos1202;
-  }  if (!yy_Newline()) goto l1200;  if (!yymatchString(&quot;===&quot;)) goto l1200;
-  l1205:;	
-  {  int yypos1206= yypos, yythunkpos1206= yythunkpos;  if (!yymatchChar('=')) goto l1206;  goto l1205;
-  l1206:;	  yypos= yypos1206; yythunkpos= yythunkpos1206;
-  }  if (!yy_Newline()) goto l1200;  yyDo(yy_2_SetextHeading1, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;SetextHeading1&quot;));  if (!yy_StartList()) goto l1182;  yyDo(yySet, -1, 0);
+  {  int yypos1185= yypos, yythunkpos1185= yythunkpos;  if (!yy_Endline()) goto l1185;  goto l1182;
+  l1185:;	  yypos= yypos1185; yythunkpos= yythunkpos1185;
+  }  if (!yy_Inline()) goto l1182;  yyDo(yy_1_SetextHeading1, yybegin, yyend);
+  l1183:;	
+  {  int yypos1184= yypos, yythunkpos1184= yythunkpos;
+  {  int yypos1186= yypos, yythunkpos1186= yythunkpos;  if (!yy_Endline()) goto l1186;  goto l1184;
+  l1186:;	  yypos= yypos1186; yythunkpos= yythunkpos1186;
+  }  if (!yy_Inline()) goto l1184;  yyDo(yy_1_SetextHeading1, yybegin, yyend);  goto l1183;
+  l1184:;	  yypos= yypos1184; yythunkpos= yythunkpos1184;
+  }  if (!yy_Newline()) goto l1182;  if (!yymatchString(&quot;===&quot;)) goto l1182;
+  l1187:;	
+  {  int yypos1188= yypos, yythunkpos1188= yythunkpos;  if (!yymatchChar('=')) goto l1188;  goto l1187;
+  l1188:;	  yypos= yypos1188; yythunkpos= yythunkpos1188;
+  }  if (!yy_Newline()) goto l1182;  yyDo(yy_2_SetextHeading1, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;SetextHeading1&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1200:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1182:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;SetextHeading1&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_SetextHeading()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;SetextHeading&quot;));
-  {  int yypos1208= yypos, yythunkpos1208= yythunkpos;  if (!yy_SetextHeading1()) goto l1209;  goto l1208;
-  l1209:;	  yypos= yypos1208; yythunkpos= yythunkpos1208;  if (!yy_SetextHeading2()) goto l1207;
+  {  int yypos1190= yypos, yythunkpos1190= yythunkpos;  if (!yy_SetextHeading1()) goto l1191;  goto l1190;
+  l1191:;	  yypos= yypos1190; yythunkpos= yythunkpos1190;  if (!yy_SetextHeading2()) goto l1189;
   }
-  l1208:;	
+  l1190:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;SetextHeading&quot;, yybuf+yypos));
   return 1;
-  l1207:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1189:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;SetextHeading&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_AtxHeading()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 2, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;AtxHeading&quot;));  if (!yy_AtxStart()) goto l1210;  yyDo(yySet, -2, 0);  if (!yy_Sp()) goto l1210;  if (!yy_StartList()) goto l1210;  yyDo(yySet, -1, 0);  if (!yy_AtxInline()) goto l1210;  yyDo(yy_1_AtxHeading, yybegin, yyend);
-  l1211:;	
-  {  int yypos1212= yypos, yythunkpos1212= yythunkpos;  if (!yy_AtxInline()) goto l1212;  yyDo(yy_1_AtxHeading, yybegin, yyend);  goto l1211;
-  l1212:;	  yypos= yypos1212; yythunkpos= yythunkpos1212;
-  }
-  {  int yypos1213= yypos, yythunkpos1213= yythunkpos;  if (!yy_Sp()) goto l1213;
-  l1215:;	
-  {  int yypos1216= yypos, yythunkpos1216= yythunkpos;  if (!yymatchChar('#')) goto l1216;  goto l1215;
-  l1216:;	  yypos= yypos1216; yythunkpos= yythunkpos1216;
-  }  if (!yy_Sp()) goto l1213;  goto l1214;
-  l1213:;	  yypos= yypos1213; yythunkpos= yythunkpos1213;
-  }
-  l1214:;	  if (!yy_Newline()) goto l1210;  yyDo(yy_2_AtxHeading, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;AtxHeading&quot;));  if (!yy_AtxStart()) goto l1192;  yyDo(yySet, -2, 0);  if (!yy_Sp()) goto l1192;  if (!yy_StartList()) goto l1192;  yyDo(yySet, -1, 0);  if (!yy_AtxInline()) goto l1192;  yyDo(yy_1_AtxHeading, yybegin, yyend);
+  l1193:;	
+  {  int yypos1194= yypos, yythunkpos1194= yythunkpos;  if (!yy_AtxInline()) goto l1194;  yyDo(yy_1_AtxHeading, yybegin, yyend);  goto l1193;
+  l1194:;	  yypos= yypos1194; yythunkpos= yythunkpos1194;
+  }
+  {  int yypos1195= yypos, yythunkpos1195= yythunkpos;  if (!yy_Sp()) goto l1195;
+  l1197:;	
+  {  int yypos1198= yypos, yythunkpos1198= yythunkpos;  if (!yymatchChar('#')) goto l1198;  goto l1197;
+  l1198:;	  yypos= yypos1198; yythunkpos= yythunkpos1198;
+  }  if (!yy_Sp()) goto l1195;  goto l1196;
+  l1195:;	  yypos= yypos1195; yythunkpos= yythunkpos1195;
+  }
+  l1196:;	  if (!yy_Newline()) goto l1192;  yyDo(yy_2_AtxHeading, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;AtxHeading&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
   return 1;
-  l1210:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1192:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;AtxHeading&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_AtxStart()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;AtxStart&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1217;
-  {  int yypos1218= yypos, yythunkpos1218= yythunkpos;  if (!yymatchString(&quot;######&quot;)) goto l1219;  goto l1218;
-  l1219:;	  yypos= yypos1218; yythunkpos= yythunkpos1218;  if (!yymatchString(&quot;#####&quot;)) goto l1220;  goto l1218;
-  l1220:;	  yypos= yypos1218; yythunkpos= yythunkpos1218;  if (!yymatchString(&quot;####&quot;)) goto l1221;  goto l1218;
-  l1221:;	  yypos= yypos1218; yythunkpos= yythunkpos1218;  if (!yymatchString(&quot;###&quot;)) goto l1222;  goto l1218;
-  l1222:;	  yypos= yypos1218; yythunkpos= yythunkpos1218;  if (!yymatchString(&quot;##&quot;)) goto l1223;  goto l1218;
-  l1223:;	  yypos= yypos1218; yythunkpos= yythunkpos1218;  if (!yymatchChar('#')) goto l1217;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;AtxStart&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1199;
+  {  int yypos1200= yypos, yythunkpos1200= yythunkpos;  if (!yymatchString(&quot;######&quot;)) goto l1201;  goto l1200;
+  l1201:;	  yypos= yypos1200; yythunkpos= yythunkpos1200;  if (!yymatchString(&quot;#####&quot;)) goto l1202;  goto l1200;
+  l1202:;	  yypos= yypos1200; yythunkpos= yythunkpos1200;  if (!yymatchString(&quot;####&quot;)) goto l1203;  goto l1200;
+  l1203:;	  yypos= yypos1200; yythunkpos= yythunkpos1200;  if (!yymatchString(&quot;###&quot;)) goto l1204;  goto l1200;
+  l1204:;	  yypos= yypos1200; yythunkpos= yythunkpos1200;  if (!yymatchString(&quot;##&quot;)) goto l1205;  goto l1200;
+  l1205:;	  yypos= yypos1200; yythunkpos= yythunkpos1200;  if (!yymatchChar('#')) goto l1199;
   }
-  l1218:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l1217;  yyDo(yy_1_AtxStart, yybegin, yyend);
+  l1200:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l1199;  yyDo(yy_1_AtxStart, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;AtxStart&quot;, yybuf+yypos));
   return 1;
-  l1217:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1199:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;AtxStart&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Inline()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Inline&quot;));
-  {  int yypos1225= yypos, yythunkpos1225= yythunkpos;  if (!yy_Str()) goto l1226;  goto l1225;
-  l1226:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_LineBreak()) goto l1227;  goto l1225;
-  l1227:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Endline()) goto l1228;  goto l1225;
-  l1228:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_UlOrStarLine()) goto l1229;  goto l1225;
-  l1229:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Space()) goto l1230;  goto l1225;
-  l1230:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Strong()) goto l1231;  goto l1225;
-  l1231:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Emph()) goto l1232;  goto l1225;
-  l1232:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Image()) goto l1233;  goto l1225;
-  l1233:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Link()) goto l1234;  goto l1225;
-  l1234:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_NoteReference()) goto l1235;  goto l1225;
-  l1235:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_InlineNote()) goto l1236;  goto l1225;
-  l1236:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Code()) goto l1237;  goto l1225;
-  l1237:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_RawHtml()) goto l1238;  goto l1225;
-  l1238:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Entity()) goto l1239;  goto l1225;
-  l1239:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_EscapedChar()) goto l1240;  goto l1225;
-  l1240:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Smart()) goto l1241;  goto l1225;
-  l1241:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;  if (!yy_Symbol()) goto l1224;
-  }
-  l1225:;	
+  {  int yypos1207= yypos, yythunkpos1207= yythunkpos;  if (!yy_Str()) goto l1208;  goto l1207;
+  l1208:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Endline()) goto l1209;  goto l1207;
+  l1209:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_UlOrStarLine()) goto l1210;  goto l1207;
+  l1210:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Space()) goto l1211;  goto l1207;
+  l1211:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Strong()) goto l1212;  goto l1207;
+  l1212:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Emph()) goto l1213;  goto l1207;
+  l1213:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Image()) goto l1214;  goto l1207;
+  l1214:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Link()) goto l1215;  goto l1207;
+  l1215:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_NoteReference()) goto l1216;  goto l1207;
+  l1216:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_InlineNote()) goto l1217;  goto l1207;
+  l1217:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Code()) goto l1218;  goto l1207;
+  l1218:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_RawHtml()) goto l1219;  goto l1207;
+  l1219:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Entity()) goto l1220;  goto l1207;
+  l1220:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_EscapedChar()) goto l1221;  goto l1207;
+  l1221:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Smart()) goto l1222;  goto l1207;
+  l1222:;	  yypos= yypos1207; yythunkpos= yythunkpos1207;  if (!yy_Symbol()) goto l1206;
+  }
+  l1207:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Inline&quot;, yybuf+yypos));
   return 1;
-  l1224:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1206:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Inline&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Sp()
 {
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Sp&quot;));
-  l1243:;	
-  {  int yypos1244= yypos, yythunkpos1244= yythunkpos;  if (!yy_Spacechar()) goto l1244;  goto l1243;
-  l1244:;	  yypos= yypos1244; yythunkpos= yythunkpos1244;
+  l1224:;	
+  {  int yypos1225= yypos, yythunkpos1225= yythunkpos;  if (!yy_Spacechar()) goto l1225;  goto l1224;
+  l1225:;	  yypos= yypos1225; yythunkpos= yythunkpos1225;
   }
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Sp&quot;, yybuf+yypos));
   return 1;
@@ -5130,321 +5032,325 @@ YY_RULE(int) yy_Sp()
 YY_RULE(int) yy_Newline()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Newline&quot;));
-  {  int yypos1246= yypos, yythunkpos1246= yythunkpos;  if (!yymatchChar('\n')) goto l1247;  goto l1246;
-  l1247:;	  yypos= yypos1246; yythunkpos= yythunkpos1246;  if (!yymatchChar('\r')) goto l1245;
-  {  int yypos1248= yypos, yythunkpos1248= yythunkpos;  if (!yymatchChar('\n')) goto l1248;  goto l1249;
-  l1248:;	  yypos= yypos1248; yythunkpos= yythunkpos1248;
+  {  int yypos1227= yypos, yythunkpos1227= yythunkpos;  if (!yymatchChar('\n')) goto l1228;  goto l1227;
+  l1228:;	  yypos= yypos1227; yythunkpos= yythunkpos1227;  if (!yymatchChar('\r')) goto l1226;
+  {  int yypos1229= yypos, yythunkpos1229= yythunkpos;  if (!yymatchChar('\n')) goto l1229;  goto l1230;
+  l1229:;	  yypos= yypos1229; yythunkpos= yythunkpos1229;
   }
-  l1249:;	
+  l1230:;	
   }
-  l1246:;	
+  l1227:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Newline&quot;, yybuf+yypos));
   return 1;
-  l1245:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1226:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Newline&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_AtxInline()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;AtxInline&quot;));
-  {  int yypos1251= yypos, yythunkpos1251= yythunkpos;  if (!yy_Newline()) goto l1251;  goto l1250;
-  l1251:;	  yypos= yypos1251; yythunkpos= yythunkpos1251;
-  }
-  {  int yypos1252= yypos, yythunkpos1252= yythunkpos;  if (!yy_Sp()) goto l1252;
-  l1253:;	
-  {  int yypos1254= yypos, yythunkpos1254= yythunkpos;  if (!yymatchChar('#')) goto l1254;  goto l1253;
-  l1254:;	  yypos= yypos1254; yythunkpos= yythunkpos1254;
-  }  if (!yy_Sp()) goto l1252;  if (!yy_Newline()) goto l1252;  goto l1250;
-  l1252:;	  yypos= yypos1252; yythunkpos= yythunkpos1252;
-  }  if (!yy_Inline()) goto l1250;
+  {  int yypos1232= yypos, yythunkpos1232= yythunkpos;  if (!yy_Newline()) goto l1232;  goto l1231;
+  l1232:;	  yypos= yypos1232; yythunkpos= yythunkpos1232;
+  }
+  {  int yypos1233= yypos, yythunkpos1233= yythunkpos;  if (!yy_Sp()) goto l1233;
+  l1234:;	
+  {  int yypos1235= yypos, yythunkpos1235= yythunkpos;  if (!yymatchChar('#')) goto l1235;  goto l1234;
+  l1235:;	  yypos= yypos1235; yythunkpos= yythunkpos1235;
+  }  if (!yy_Sp()) goto l1233;  if (!yy_Newline()) goto l1233;  goto l1231;
+  l1233:;	  yypos= yypos1233; yythunkpos= yythunkpos1233;
+  }  if (!yy_Inline()) goto l1231;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;AtxInline&quot;, yybuf+yypos));
   return 1;
-  l1250:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1231:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;AtxInline&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Inlines()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 2, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Inlines&quot;));  if (!yy_StartList()) goto l1255;  yyDo(yySet, -2, 0);
-  {  int yypos1258= yypos, yythunkpos1258= yythunkpos;
-  {  int yypos1260= yypos, yythunkpos1260= yythunkpos;  if (!yy_Endline()) goto l1260;  goto l1259;
-  l1260:;	  yypos= yypos1260; yythunkpos= yythunkpos1260;
-  }  if (!yy_Inline()) goto l1259;  yyDo(yy_1_Inlines, yybegin, yyend);  goto l1258;
-  l1259:;	  yypos= yypos1258; yythunkpos= yythunkpos1258;  if (!yy_Endline()) goto l1255;  yyDo(yySet, -1, 0);
-  {  int yypos1261= yypos, yythunkpos1261= yythunkpos;  if (!yy_Inline()) goto l1255;  yypos= yypos1261; yythunkpos= yythunkpos1261;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Inlines&quot;));  if (!yy_StartList()) goto l1236;  yyDo(yySet, -2, 0);
+  {  int yypos1239= yypos, yythunkpos1239= yythunkpos;
+  {  int yypos1241= yypos, yythunkpos1241= yythunkpos;  if (!yy_Endline()) goto l1241;  goto l1240;
+  l1241:;	  yypos= yypos1241; yythunkpos= yythunkpos1241;
+  }  if (!yy_Inline()) goto l1240;  yyDo(yy_1_Inlines, yybegin, yyend);  goto l1239;
+  l1240:;	  yypos= yypos1239; yythunkpos= yythunkpos1239;  if (!yy_Endline()) goto l1236;  yyDo(yySet, -1, 0);
+  {  int yypos1242= yypos, yythunkpos1242= yythunkpos;  if (!yy_Inline()) goto l1236;  yypos= yypos1242; yythunkpos= yythunkpos1242;
   }  yyDo(yy_2_Inlines, yybegin, yyend);
   }
-  l1258:;	
-  l1256:;	
-  {  int yypos1257= yypos, yythunkpos1257= yythunkpos;
-  {  int yypos1262= yypos, yythunkpos1262= yythunkpos;
-  {  int yypos1264= yypos, yythunkpos1264= yythunkpos;  if (!yy_Endline()) goto l1264;  goto l1263;
-  l1264:;	  yypos= yypos1264; yythunkpos= yythunkpos1264;
-  }  if (!yy_Inline()) goto l1263;  yyDo(yy_1_Inlines, yybegin, yyend);  goto l1262;
-  l1263:;	  yypos= yypos1262; yythunkpos= yythunkpos1262;  if (!yy_Endline()) goto l1257;  yyDo(yySet, -1, 0);
-  {  int yypos1265= yypos, yythunkpos1265= yythunkpos;  if (!yy_Inline()) goto l1257;  yypos= yypos1265; yythunkpos= yythunkpos1265;
+  l1239:;	
+  l1237:;	
+  {  int yypos1238= yypos, yythunkpos1238= yythunkpos;
+  {  int yypos1243= yypos, yythunkpos1243= yythunkpos;
+  {  int yypos1245= yypos, yythunkpos1245= yythunkpos;  if (!yy_Endline()) goto l1245;  goto l1244;
+  l1245:;	  yypos= yypos1245; yythunkpos= yythunkpos1245;
+  }  if (!yy_Inline()) goto l1244;  yyDo(yy_1_Inlines, yybegin, yyend);  goto l1243;
+  l1244:;	  yypos= yypos1243; yythunkpos= yythunkpos1243;  if (!yy_Endline()) goto l1238;  yyDo(yySet, -1, 0);
+  {  int yypos1246= yypos, yythunkpos1246= yythunkpos;  if (!yy_Inline()) goto l1238;  yypos= yypos1246; yythunkpos= yythunkpos1246;
   }  yyDo(yy_2_Inlines, yybegin, yyend);
   }
-  l1262:;	  goto l1256;
-  l1257:;	  yypos= yypos1257; yythunkpos= yythunkpos1257;
+  l1243:;	  goto l1237;
+  l1238:;	  yypos= yypos1238; yythunkpos= yythunkpos1238;
   }
-  {  int yypos1266= yypos, yythunkpos1266= yythunkpos;  if (!yy_Endline()) goto l1266;  goto l1267;
-  l1266:;	  yypos= yypos1266; yythunkpos= yythunkpos1266;
+  {  int yypos1247= yypos, yythunkpos1247= yythunkpos;  if (!yy_Endline()) goto l1247;  goto l1248;
+  l1247:;	  yypos= yypos1247; yythunkpos= yythunkpos1247;
   }
-  l1267:;	  yyDo(yy_3_Inlines, yybegin, yyend);
+  l1248:;	  yyDo(yy_3_Inlines, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Inlines&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
   return 1;
-  l1255:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1236:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Inlines&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_NonindentSpace()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;NonindentSpace&quot;));
-  {  int yypos1269= yypos, yythunkpos1269= yythunkpos;  if (!yymatchString(&quot;   &quot;)) goto l1270;  goto l1269;
-  l1270:;	  yypos= yypos1269; yythunkpos= yythunkpos1269;  if (!yymatchString(&quot;  &quot;)) goto l1271;  goto l1269;
-  l1271:;	  yypos= yypos1269; yythunkpos= yythunkpos1269;  if (!yymatchChar(' ')) goto l1272;  goto l1269;
-  l1272:;	  yypos= yypos1269; yythunkpos= yythunkpos1269;  if (!yymatchString(&quot;&quot;)) goto l1268;
+  {  int yypos1250= yypos, yythunkpos1250= yythunkpos;  if (!yymatchString(&quot;   &quot;)) goto l1251;  goto l1250;
+  l1251:;	  yypos= yypos1250; yythunkpos= yythunkpos1250;  if (!yymatchString(&quot;  &quot;)) goto l1252;  goto l1250;
+  l1252:;	  yypos= yypos1250; yythunkpos= yythunkpos1250;  if (!yymatchChar(' ')) goto l1253;  goto l1250;
+  l1253:;	  yypos= yypos1250; yythunkpos= yythunkpos1250;  if (!yymatchString(&quot;&quot;)) goto l1249;
   }
-  l1269:;	
+  l1250:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;NonindentSpace&quot;, yybuf+yypos));
   return 1;
-  l1268:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1249:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;NonindentSpace&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Plain()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Plain&quot;));  if (!yy_Inlines()) goto l1273;  yyDo(yySet, -1, 0);  yyDo(yy_1_Plain, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Plain&quot;));  if (!yy_Inlines()) goto l1254;  yyDo(yySet, -1, 0);  yyDo(yy_1_Plain, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Plain&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1273:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1254:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Plain&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Para()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Para&quot;));  if (!yy_NonindentSpace()) goto l1274;  if (!yy_Inlines()) goto l1274;  yyDo(yySet, -1, 0);  if (!yy_BlankLine()) goto l1274;
-  l1275:;	
-  {  int yypos1276= yypos, yythunkpos1276= yythunkpos;  if (!yy_BlankLine()) goto l1276;  goto l1275;
-  l1276:;	  yypos= yypos1276; yythunkpos= yythunkpos1276;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Para&quot;));  if (!yy_NonindentSpace()) goto l1255;  if (!yy_Inlines()) goto l1255;  yyDo(yySet, -1, 0);  if (!yy_BlankLine()) goto l1255;
+  l1256:;	
+  {  int yypos1257= yypos, yythunkpos1257= yythunkpos;  if (!yy_BlankLine()) goto l1257;  goto l1256;
+  l1257:;	  yypos= yypos1257; yythunkpos= yythunkpos1257;
   }  yyDo(yy_1_Para, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Para&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1274:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1255:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Para&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_StyleBlock()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;StyleBlock&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1277;  if (!yy_InStyleTags()) goto l1277;  yyText(yybegin, yyend);  if (!(YY_END)) goto l1277;
-  l1278:;	
-  {  int yypos1279= yypos, yythunkpos1279= yythunkpos;  if (!yy_BlankLine()) goto l1279;  goto l1278;
-  l1279:;	  yypos= yypos1279; yythunkpos= yythunkpos1279;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;StyleBlock&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1258;  if (!yy_InStyleTags()) goto l1258;  yyText(yybegin, yyend);  if (!(YY_END)) goto l1258;
+  l1259:;	
+  {  int yypos1260= yypos, yythunkpos1260= yythunkpos;  if (!yy_BlankLine()) goto l1260;  goto l1259;
+  l1260:;	  yypos= yypos1260; yythunkpos= yythunkpos1260;
   }  yyDo(yy_1_StyleBlock, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;StyleBlock&quot;, yybuf+yypos));
   return 1;
-  l1277:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1258:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;StyleBlock&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_HtmlBlock()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;HtmlBlock&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1280;
-  {  int yypos1281= yypos, yythunkpos1281= yythunkpos;  if (!yy_HtmlBlockInTags()) goto l1282;  goto l1281;
-  l1282:;	  yypos= yypos1281; yythunkpos= yythunkpos1281;  if (!yy_HtmlComment()) goto l1283;  goto l1281;
-  l1283:;	  yypos= yypos1281; yythunkpos= yythunkpos1281;  if (!yy_HtmlBlockSelfClosing()) goto l1280;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;HtmlBlock&quot;));  yyText(yybegin, yyend);  if (!(YY_BEGIN)) goto l1261;
+  {  int yypos1262= yypos, yythunkpos1262= yythunkpos;  if (!yy_HtmlBlockInTags()) goto l1263;  goto l1262;
+  l1263:;	  yypos= yypos1262; yythunkpos= yythunkpos1262;  if (!yy_HtmlComment()) goto l1264;  goto l1262;
+  l1264:;	  yypos= yypos1262; yythunkpos= yythunkpos1262;  if (!yy_HtmlBlockSelfClosing()) goto l1261;
   }
-  l1281:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l1280;  if (!yy_BlankLine()) goto l1280;
-  l1284:;	
-  {  int yypos1285= yypos, yythunkpos1285= yythunkpos;  if (!yy_BlankLine()) goto l1285;  goto l1284;
-  l1285:;	  yypos= yypos1285; yythunkpos= yythunkpos1285;
+  l1262:;	  yyText(yybegin, yyend);  if (!(YY_END)) goto l1261;  if (!yy_BlankLine()) goto l1261;
+  l1265:;	
+  {  int yypos1266= yypos, yythunkpos1266= yythunkpos;  if (!yy_BlankLine()) goto l1266;  goto l1265;
+  l1266:;	  yypos= yypos1266; yythunkpos= yythunkpos1266;
   }  yyDo(yy_1_HtmlBlock, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;HtmlBlock&quot;, yybuf+yypos));
   return 1;
-  l1280:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1261:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;HtmlBlock&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_BulletList()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;BulletList&quot;));
-  {  int yypos1287= yypos, yythunkpos1287= yythunkpos;  if (!yy_BulletListTight()) goto l1288;  goto l1287;
-  l1288:;	  yypos= yypos1287; yythunkpos= yythunkpos1287;  if (!yy_BulletListLoose()) goto l1286;
+  {  int yypos1268= yypos, yythunkpos1268= yythunkpos;  if (!yy_Bullet()) goto l1267;  yypos= yypos1268; yythunkpos= yythunkpos1268;
+  }
+  {  int yypos1269= yypos, yythunkpos1269= yythunkpos;  if (!yy_ListTight()) goto l1270;  goto l1269;
+  l1270:;	  yypos= yypos1269; yythunkpos= yythunkpos1269;  if (!yy_ListLoose()) goto l1267;
   }
-  l1287:;	
+  l1269:;	  yyDo(yy_1_BulletList, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BulletList&quot;, yybuf+yypos));
   return 1;
-  l1286:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1267:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BulletList&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_OrderedList()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;OrderedList&quot;));
-  {  int yypos1290= yypos, yythunkpos1290= yythunkpos;  if (!yy_OrderedListTight()) goto l1291;  goto l1290;
-  l1291:;	  yypos= yypos1290; yythunkpos= yythunkpos1290;  if (!yy_OrderedListLoose()) goto l1289;
+  {  int yypos1272= yypos, yythunkpos1272= yythunkpos;  if (!yy_Enumerator()) goto l1271;  yypos= yypos1272; yythunkpos= yythunkpos1272;
   }
-  l1290:;	
+  {  int yypos1273= yypos, yythunkpos1273= yythunkpos;  if (!yy_ListTight()) goto l1274;  goto l1273;
+  l1274:;	  yypos= yypos1273; yythunkpos= yythunkpos1273;  if (!yy_ListLoose()) goto l1271;
+  }
+  l1273:;	  yyDo(yy_1_OrderedList, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;OrderedList&quot;, yybuf+yypos));
   return 1;
-  l1289:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1271:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;OrderedList&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Heading()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Heading&quot;));
-  {  int yypos1293= yypos, yythunkpos1293= yythunkpos;  if (!yy_AtxHeading()) goto l1294;  goto l1293;
-  l1294:;	  yypos= yypos1293; yythunkpos= yythunkpos1293;  if (!yy_SetextHeading()) goto l1292;
+  {  int yypos1276= yypos, yythunkpos1276= yythunkpos;  if (!yy_AtxHeading()) goto l1277;  goto l1276;
+  l1277:;	  yypos= yypos1276; yythunkpos= yythunkpos1276;  if (!yy_SetextHeading()) goto l1275;
   }
-  l1293:;	
+  l1276:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Heading&quot;, yybuf+yypos));
   return 1;
-  l1292:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1275:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Heading&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_HorizontalRule()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;HorizontalRule&quot;));  if (!yy_NonindentSpace()) goto l1295;
-  {  int yypos1296= yypos, yythunkpos1296= yythunkpos;  if (!yymatchChar('*')) goto l1297;  if (!yy_Sp()) goto l1297;  if (!yymatchChar('*')) goto l1297;  if (!yy_Sp()) goto l1297;  if (!yymatchChar('*')) goto l1297;
-  l1298:;	
-  {  int yypos1299= yypos, yythunkpos1299= yythunkpos;  if (!yy_Sp()) goto l1299;  if (!yymatchChar('*')) goto l1299;  goto l1298;
-  l1299:;	  yypos= yypos1299; yythunkpos= yythunkpos1299;
-  }  goto l1296;
-  l1297:;	  yypos= yypos1296; yythunkpos= yythunkpos1296;  if (!yymatchChar('-')) goto l1300;  if (!yy_Sp()) goto l1300;  if (!yymatchChar('-')) goto l1300;  if (!yy_Sp()) goto l1300;  if (!yymatchChar('-')) goto l1300;
-  l1301:;	
-  {  int yypos1302= yypos, yythunkpos1302= yythunkpos;  if (!yy_Sp()) goto l1302;  if (!yymatchChar('-')) goto l1302;  goto l1301;
-  l1302:;	  yypos= yypos1302; yythunkpos= yythunkpos1302;
-  }  goto l1296;
-  l1300:;	  yypos= yypos1296; yythunkpos= yythunkpos1296;  if (!yymatchChar('_')) goto l1295;  if (!yy_Sp()) goto l1295;  if (!yymatchChar('_')) goto l1295;  if (!yy_Sp()) goto l1295;  if (!yymatchChar('_')) goto l1295;
-  l1303:;	
-  {  int yypos1304= yypos, yythunkpos1304= yythunkpos;  if (!yy_Sp()) goto l1304;  if (!yymatchChar('_')) goto l1304;  goto l1303;
-  l1304:;	  yypos= yypos1304; yythunkpos= yythunkpos1304;
-  }
-  }
-  l1296:;	  if (!yy_Sp()) goto l1295;  if (!yy_Newline()) goto l1295;  if (!yy_BlankLine()) goto l1295;
-  l1305:;	
-  {  int yypos1306= yypos, yythunkpos1306= yythunkpos;  if (!yy_BlankLine()) goto l1306;  goto l1305;
-  l1306:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;HorizontalRule&quot;));  if (!yy_NonindentSpace()) goto l1278;
+  {  int yypos1279= yypos, yythunkpos1279= yythunkpos;  if (!yymatchChar('*')) goto l1280;  if (!yy_Sp()) goto l1280;  if (!yymatchChar('*')) goto l1280;  if (!yy_Sp()) goto l1280;  if (!yymatchChar('*')) goto l1280;
+  l1281:;	
+  {  int yypos1282= yypos, yythunkpos1282= yythunkpos;  if (!yy_Sp()) goto l1282;  if (!yymatchChar('*')) goto l1282;  goto l1281;
+  l1282:;	  yypos= yypos1282; yythunkpos= yythunkpos1282;
+  }  goto l1279;
+  l1280:;	  yypos= yypos1279; yythunkpos= yythunkpos1279;  if (!yymatchChar('-')) goto l1283;  if (!yy_Sp()) goto l1283;  if (!yymatchChar('-')) goto l1283;  if (!yy_Sp()) goto l1283;  if (!yymatchChar('-')) goto l1283;
+  l1284:;	
+  {  int yypos1285= yypos, yythunkpos1285= yythunkpos;  if (!yy_Sp()) goto l1285;  if (!yymatchChar('-')) goto l1285;  goto l1284;
+  l1285:;	  yypos= yypos1285; yythunkpos= yythunkpos1285;
+  }  goto l1279;
+  l1283:;	  yypos= yypos1279; yythunkpos= yythunkpos1279;  if (!yymatchChar('_')) goto l1278;  if (!yy_Sp()) goto l1278;  if (!yymatchChar('_')) goto l1278;  if (!yy_Sp()) goto l1278;  if (!yymatchChar('_')) goto l1278;
+  l1286:;	
+  {  int yypos1287= yypos, yythunkpos1287= yythunkpos;  if (!yy_Sp()) goto l1287;  if (!yymatchChar('_')) goto l1287;  goto l1286;
+  l1287:;	  yypos= yypos1287; yythunkpos= yythunkpos1287;
+  }
+  }
+  l1279:;	  if (!yy_Sp()) goto l1278;  if (!yy_Newline()) goto l1278;  if (!yy_BlankLine()) goto l1278;
+  l1288:;	
+  {  int yypos1289= yypos, yythunkpos1289= yythunkpos;  if (!yy_BlankLine()) goto l1289;  goto l1288;
+  l1289:;	  yypos= yypos1289; yythunkpos= yythunkpos1289;
   }  yyDo(yy_1_HorizontalRule, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;HorizontalRule&quot;, yybuf+yypos));
   return 1;
-  l1295:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1278:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;HorizontalRule&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Reference()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 3, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Reference&quot;));  if (!yy_NonindentSpace()) goto l1307;
-  {  int yypos1308= yypos, yythunkpos1308= yythunkpos;  if (!yymatchString(&quot;[]&quot;)) goto l1308;  goto l1307;
-  l1308:;	  yypos= yypos1308; yythunkpos= yythunkpos1308;
-  }  if (!yy_Label()) goto l1307;  yyDo(yySet, -3, 0);  if (!yymatchChar(':')) goto l1307;  if (!yy_Spnl()) goto l1307;  if (!yy_RefSrc()) goto l1307;  yyDo(yySet, -2, 0);  if (!yy_Spnl()) goto l1307;  if (!yy_RefTitle()) goto l1307;  yyDo(yySet, -1, 0);
-  l1309:;	
-  {  int yypos1310= yypos, yythunkpos1310= yythunkpos;  if (!yy_BlankLine()) goto l1310;  goto l1309;
-  l1310:;	  yypos= yypos1310; yythunkpos= yythunkpos1310;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Reference&quot;));  if (!yy_NonindentSpace()) goto l1290;
+  {  int yypos1291= yypos, yythunkpos1291= yythunkpos;  if (!yymatchString(&quot;[]&quot;)) goto l1291;  goto l1290;
+  l1291:;	  yypos= yypos1291; yythunkpos= yythunkpos1291;
+  }  if (!yy_Label()) goto l1290;  yyDo(yySet, -3, 0);  if (!yymatchChar(':')) goto l1290;  if (!yy_Spnl()) goto l1290;  if (!yy_RefSrc()) goto l1290;  yyDo(yySet, -2, 0);  if (!yy_Spnl()) goto l1290;  if (!yy_RefTitle()) goto l1290;  yyDo(yySet, -1, 0);
+  l1292:;	
+  {  int yypos1293= yypos, yythunkpos1293= yythunkpos;  if (!yy_BlankLine()) goto l1293;  goto l1292;
+  l1293:;	  yypos= yypos1293; yythunkpos= yythunkpos1293;
   }  yyDo(yy_1_Reference, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Reference&quot;, yybuf+yypos));  yyDo(yyPop, 3, 0);
   return 1;
-  l1307:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1290:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Reference&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Note()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 2, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Note&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l1311;  if (!yy_NonindentSpace()) goto l1311;  if (!yy_RawNoteReference()) goto l1311;  yyDo(yySet, -2, 0);  if (!yymatchChar(':')) goto l1311;  if (!yy_Sp()) goto l1311;  if (!yy_StartList()) goto l1311;  yyDo(yySet, -1, 0);  if (!yy_RawNoteBlock()) goto l1311;  yyDo(yy_1_Note, yybegin, yyend);
-  l1312:;	
-  {  int yypos1313= yypos, yythunkpos1313= yythunkpos;
-  {  int yypos1314= yypos, yythunkpos1314= yythunkpos;  if (!yy_Indent()) goto l1313;  yypos= yypos1314; yythunkpos= yythunkpos1314;
-  }  if (!yy_RawNoteBlock()) goto l1313;  yyDo(yy_2_Note, yybegin, yyend);  goto l1312;
-  l1313:;	  yypos= yypos1313; yythunkpos= yythunkpos1313;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Note&quot;));  yyText(yybegin, yyend);  if (!( extension(EXT_NOTES) )) goto l1294;  if (!yy_NonindentSpace()) goto l1294;  if (!yy_RawNoteReference()) goto l1294;  yyDo(yySet, -2, 0);  if (!yymatchChar(':')) goto l1294;  if (!yy_Sp()) goto l1294;  if (!yy_StartList()) goto l1294;  yyDo(yySet, -1, 0);  if (!yy_RawNoteBlock()) goto l1294;  yyDo(yy_1_Note, yybegin, yyend);
+  l1295:;	
+  {  int yypos1296= yypos, yythunkpos1296= yythunkpos;
+  {  int yypos1297= yypos, yythunkpos1297= yythunkpos;  if (!yy_Indent()) goto l1296;  yypos= yypos1297; yythunkpos= yythunkpos1297;
+  }  if (!yy_RawNoteBlock()) goto l1296;  yyDo(yy_2_Note, yybegin, yyend);  goto l1295;
+  l1296:;	  yypos= yypos1296; yythunkpos= yythunkpos1296;
   }  yyDo(yy_3_Note, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Note&quot;, yybuf+yypos));  yyDo(yyPop, 2, 0);
   return 1;
-  l1311:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1294:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Note&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Verbatim()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Verbatim&quot;));  if (!yy_StartList()) goto l1315;  yyDo(yySet, -1, 0);  if (!yy_VerbatimChunk()) goto l1315;  yyDo(yy_1_Verbatim, yybegin, yyend);
-  l1316:;	
-  {  int yypos1317= yypos, yythunkpos1317= yythunkpos;  if (!yy_VerbatimChunk()) goto l1317;  yyDo(yy_1_Verbatim, yybegin, yyend);  goto l1316;
-  l1317:;	  yypos= yypos1317; yythunkpos= yythunkpos1317;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Verbatim&quot;));  if (!yy_StartList()) goto l1298;  yyDo(yySet, -1, 0);  if (!yy_VerbatimChunk()) goto l1298;  yyDo(yy_1_Verbatim, yybegin, yyend);
+  l1299:;	
+  {  int yypos1300= yypos, yythunkpos1300= yythunkpos;  if (!yy_VerbatimChunk()) goto l1300;  yyDo(yy_1_Verbatim, yybegin, yyend);  goto l1299;
+  l1300:;	  yypos= yypos1300; yythunkpos= yythunkpos1300;
   }  yyDo(yy_2_Verbatim, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Verbatim&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1315:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1298:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Verbatim&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_BlockQuote()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlockQuote&quot;));  if (!yy_BlockQuoteRaw()) goto l1318;  yyDo(yySet, -1, 0);  yyDo(yy_1_BlockQuote, yybegin, yyend);
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlockQuote&quot;));  if (!yy_BlockQuoteRaw()) goto l1301;  yyDo(yySet, -1, 0);  yyDo(yy_1_BlockQuote, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BlockQuote&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1318:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1301:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BlockQuote&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_BlankLine()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlankLine&quot;));  if (!yy_Sp()) goto l1319;  if (!yy_Newline()) goto l1319;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;BlankLine&quot;));  if (!yy_Sp()) goto l1302;  if (!yy_Newline()) goto l1302;
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;BlankLine&quot;, yybuf+yypos));
   return 1;
-  l1319:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1302:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;BlankLine&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Block()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;Block&quot;));
-  l1321:;	
-  {  int yypos1322= yypos, yythunkpos1322= yythunkpos;  if (!yy_BlankLine()) goto l1322;  goto l1321;
-  l1322:;	  yypos= yypos1322; yythunkpos= yythunkpos1322;
-  }
-  {  int yypos1323= yypos, yythunkpos1323= yythunkpos;  if (!yy_BlockQuote()) goto l1324;  goto l1323;
-  l1324:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Verbatim()) goto l1325;  goto l1323;
-  l1325:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Note()) goto l1326;  goto l1323;
-  l1326:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Reference()) goto l1327;  goto l1323;
-  l1327:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_HorizontalRule()) goto l1328;  goto l1323;
-  l1328:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Heading()) goto l1329;  goto l1323;
-  l1329:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_OrderedList()) goto l1330;  goto l1323;
-  l1330:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_BulletList()) goto l1331;  goto l1323;
-  l1331:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_HtmlBlock()) goto l1332;  goto l1323;
-  l1332:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_StyleBlock()) goto l1333;  goto l1323;
-  l1333:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Para()) goto l1334;  goto l1323;
-  l1334:;	  yypos= yypos1323; yythunkpos= yythunkpos1323;  if (!yy_Plain()) goto l1320;
-  }
-  l1323:;	
+  l1304:;	
+  {  int yypos1305= yypos, yythunkpos1305= yythunkpos;  if (!yy_BlankLine()) goto l1305;  goto l1304;
+  l1305:;	  yypos= yypos1305; yythunkpos= yythunkpos1305;
+  }
+  {  int yypos1306= yypos, yythunkpos1306= yythunkpos;  if (!yy_BlockQuote()) goto l1307;  goto l1306;
+  l1307:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Verbatim()) goto l1308;  goto l1306;
+  l1308:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Note()) goto l1309;  goto l1306;
+  l1309:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Reference()) goto l1310;  goto l1306;
+  l1310:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_HorizontalRule()) goto l1311;  goto l1306;
+  l1311:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Heading()) goto l1312;  goto l1306;
+  l1312:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_OrderedList()) goto l1313;  goto l1306;
+  l1313:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_BulletList()) goto l1314;  goto l1306;
+  l1314:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_HtmlBlock()) goto l1315;  goto l1306;
+  l1315:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_StyleBlock()) goto l1316;  goto l1306;
+  l1316:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Para()) goto l1317;  goto l1306;
+  l1317:;	  yypos= yypos1306; yythunkpos= yythunkpos1306;  if (!yy_Plain()) goto l1303;
+  }
+  l1306:;	
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Block&quot;, yybuf+yypos));
   return 1;
-  l1320:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1303:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Block&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_StartList()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;
   yyprintf((stderr, &quot;%s\n&quot;, &quot;StartList&quot;));
-  {  int yypos1336= yypos, yythunkpos1336= yythunkpos;  if (!yymatchDot()) goto l1335;  yypos= yypos1336; yythunkpos= yythunkpos1336;
+  {  int yypos1319= yypos, yythunkpos1319= yythunkpos;  if (!yymatchDot()) goto l1318;  yypos= yypos1319; yythunkpos= yythunkpos1319;
   }  yyDo(yy_1_StartList, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;StartList&quot;, yybuf+yypos));
   return 1;
-  l1335:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1318:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;StartList&quot;, yybuf+yypos));
   return 0;
 }
 YY_RULE(int) yy_Doc()
 {  int yypos0= yypos, yythunkpos0= yythunkpos;  yyDo(yyPush, 1, 0);
-  yyprintf((stderr, &quot;%s\n&quot;, &quot;Doc&quot;));  if (!yy_StartList()) goto l1337;  yyDo(yySet, -1, 0);
-  l1338:;	
-  {  int yypos1339= yypos, yythunkpos1339= yythunkpos;  if (!yy_Block()) goto l1339;  yyDo(yy_1_Doc, yybegin, yyend);  goto l1338;
-  l1339:;	  yypos= yypos1339; yythunkpos= yythunkpos1339;
+  yyprintf((stderr, &quot;%s\n&quot;, &quot;Doc&quot;));  if (!yy_StartList()) goto l1320;  yyDo(yySet, -1, 0);
+  l1321:;	
+  {  int yypos1322= yypos, yythunkpos1322= yythunkpos;  if (!yy_Block()) goto l1322;  yyDo(yy_1_Doc, yybegin, yyend);  goto l1321;
+  l1322:;	  yypos= yypos1322; yythunkpos= yythunkpos1322;
   }  yyDo(yy_2_Doc, yybegin, yyend);
   yyprintf((stderr, &quot;  ok   %s @ %s\n&quot;, &quot;Doc&quot;, yybuf+yypos));  yyDo(yyPop, 1, 0);
   return 1;
-  l1337:;	  yypos= yypos0; yythunkpos= yythunkpos0;
+  l1320:;	  yypos= yypos0; yythunkpos= yythunkpos0;
   yyprintf((stderr, &quot;  fail %s @ %s\n&quot;, &quot;Doc&quot;, yybuf+yypos));
   return 0;
 }</diff>
      <filename>ext/markdown_parser.c</filename>
    </modified>
    <modified>
      <diff>@@ -126,11 +126,15 @@ static bool extension(int ext) {
 /* match_inlines - returns true if inline lists match (case-insensitive...) */
 static bool match_inlines(element *l1, element *l2) {
     while (l1 != NULL &amp;&amp; l2 != NULL) {
-      if (l1-&gt;key != l2-&gt;key)
+        if (l1-&gt;key != l2-&gt;key)
             return false;
         switch (l1-&gt;key) {
         case SPACE:
         case LINEBREAK:
+        case ELLIPSIS:
+        case EMDASH:
+        case ENDASH:
+        case APOSTROPHE:
             break;
         case CODE:
         case STR:
@@ -142,6 +146,8 @@ static bool match_inlines(element *l1, element *l2) {
         case EMPH:
         case STRONG:
         case LIST:
+        case SINGLEQUOTED:
+        case DOUBLEQUOTED:
             if (match_inlines(l1-&gt;children, l2-&gt;children))
                 break;
             else</diff>
      <filename>ext/utility_functions.c</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-Subproject commit 331980bdc1629f4c1f2923b93ecfcbd9c4c28cea
+Subproject commit 048fe67d90cba4ce0d9db895b2bb256dc2c1bd59</diff>
      <filename>peg-markdown</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>80f7dee2c8bce0236ac11c0be2731a6bca165559</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </author>
  <url>http://github.com/rtomayko/rpeg-markdown/commit/7cc9df05e1b95e39f0dd4459c3344e2ce2159cbf</url>
  <id>7cc9df05e1b95e39f0dd4459c3344e2ce2159cbf</id>
  <committed-date>2008-11-24T22:28:50-08:00</committed-date>
  <authored-date>2008-11-24T22:28:50-08:00</authored-date>
  <message>update to peg-markdown 0.4.3</message>
  <tree>cd7dd0c031ca070df6f2378d15e34a0c683d98b0</tree>
  <committer>
    <name>Ryan Tomayko</name>
    <email>rtomayko@gmail.com</email>
  </committer>
</commit>
