1#include "parser.h"
   2
   3#if defined(__GNUC__) || defined(__clang__)
   4#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
   5#endif
   6
   7#define LANGUAGE_VERSION 14
   8#define STATE_COUNT 94
   9#define LARGE_STATE_COUNT 2
  10#define SYMBOL_COUNT 41
  11#define ALIAS_COUNT 0
  12#define TOKEN_COUNT 25
  13#define EXTERNAL_TOKEN_COUNT 9
  14#define FIELD_COUNT 0
  15#define MAX_ALIAS_SEQUENCE_LENGTH 4
  16#define PRODUCTION_ID_COUNT 1
  17
  18enum ts_symbol_identifiers {
  19  anon_sym_LT_BANG = 1,
  20  aux_sym_doctype_token1 = 2,
  21  anon_sym_GT = 3,
  22  sym__doctype = 4,
  23  anon_sym_LT = 5,
  24  anon_sym_SLASH_GT = 6,
  25  anon_sym_LT_SLASH = 7,
  26  anon_sym_EQ = 8,
  27  sym_attribute_name = 9,
  28  sym_attribute_value = 10,
  29  sym_entity = 11,
  30  anon_sym_SQUOTE = 12,
  31  aux_sym_quoted_attribute_value_token1 = 13,
  32  anon_sym_DQUOTE = 14,
  33  aux_sym_quoted_attribute_value_token2 = 15,
  34  sym_text = 16,
  35  sym__start_tag_name = 17,
  36  sym__script_start_tag_name = 18,
  37  sym__style_start_tag_name = 19,
  38  sym__end_tag_name = 20,
  39  sym_erroneous_end_tag_name = 21,
  40  sym__implicit_end_tag = 22,
  41  sym_raw_text = 23,
  42  sym_comment = 24,
  43  sym_document = 25,
  44  sym_doctype = 26,
  45  sym__node = 27,
  46  sym_element = 28,
  47  sym_script_element = 29,
  48  sym_style_element = 30,
  49  sym_start_tag = 31,
  50  sym_script_start_tag = 32,
  51  sym_style_start_tag = 33,
  52  sym_self_closing_tag = 34,
  53  sym_end_tag = 35,
  54  sym_erroneous_end_tag = 36,
  55  sym_attribute = 37,
  56  sym_quoted_attribute_value = 38,
  57  aux_sym_document_repeat1 = 39,
  58  aux_sym_start_tag_repeat1 = 40,
  59};
  60
  61static const char * const ts_symbol_names[] = {
  62  [ts_builtin_sym_end] = "end",
  63  [anon_sym_LT_BANG] = "<!",
  64  [aux_sym_doctype_token1] = "doctype_token1",
  65  [anon_sym_GT] = ">",
  66  [sym__doctype] = "doctype",
  67  [anon_sym_LT] = "<",
  68  [anon_sym_SLASH_GT] = "/>",
  69  [anon_sym_LT_SLASH] = "</",
  70  [anon_sym_EQ] = "=",
  71  [sym_attribute_name] = "attribute_name",
  72  [sym_attribute_value] = "attribute_value",
  73  [sym_entity] = "entity",
  74  [anon_sym_SQUOTE] = "'",
  75  [aux_sym_quoted_attribute_value_token1] = "attribute_value",
  76  [anon_sym_DQUOTE] = "\"",
  77  [aux_sym_quoted_attribute_value_token2] = "attribute_value",
  78  [sym_text] = "text",
  79  [sym__start_tag_name] = "tag_name",
  80  [sym__script_start_tag_name] = "tag_name",
  81  [sym__style_start_tag_name] = "tag_name",
  82  [sym__end_tag_name] = "tag_name",
  83  [sym_erroneous_end_tag_name] = "erroneous_end_tag_name",
  84  [sym__implicit_end_tag] = "_implicit_end_tag",
  85  [sym_raw_text] = "raw_text",
  86  [sym_comment] = "comment",
  87  [sym_document] = "document",
  88  [sym_doctype] = "doctype",
  89  [sym__node] = "_node",
  90  [sym_element] = "element",
  91  [sym_script_element] = "script_element",
  92  [sym_style_element] = "style_element",
  93  [sym_start_tag] = "start_tag",
  94  [sym_script_start_tag] = "start_tag",
  95  [sym_style_start_tag] = "start_tag",
  96  [sym_self_closing_tag] = "self_closing_tag",
  97  [sym_end_tag] = "end_tag",
  98  [sym_erroneous_end_tag] = "erroneous_end_tag",
  99  [sym_attribute] = "attribute",
 100  [sym_quoted_attribute_value] = "quoted_attribute_value",
 101  [aux_sym_document_repeat1] = "document_repeat1",
 102  [aux_sym_start_tag_repeat1] = "start_tag_repeat1",
 103};
 104
 105static const TSSymbol ts_symbol_map[] = {
 106  [ts_builtin_sym_end] = ts_builtin_sym_end,
 107  [anon_sym_LT_BANG] = anon_sym_LT_BANG,
 108  [aux_sym_doctype_token1] = aux_sym_doctype_token1,
 109  [anon_sym_GT] = anon_sym_GT,
 110  [sym__doctype] = sym__doctype,
 111  [anon_sym_LT] = anon_sym_LT,
 112  [anon_sym_SLASH_GT] = anon_sym_SLASH_GT,
 113  [anon_sym_LT_SLASH] = anon_sym_LT_SLASH,
 114  [anon_sym_EQ] = anon_sym_EQ,
 115  [sym_attribute_name] = sym_attribute_name,
 116  [sym_attribute_value] = sym_attribute_value,
 117  [sym_entity] = sym_entity,
 118  [anon_sym_SQUOTE] = anon_sym_SQUOTE,
 119  [aux_sym_quoted_attribute_value_token1] = sym_attribute_value,
 120  [anon_sym_DQUOTE] = anon_sym_DQUOTE,
 121  [aux_sym_quoted_attribute_value_token2] = sym_attribute_value,
 122  [sym_text] = sym_text,
 123  [sym__start_tag_name] = sym__start_tag_name,
 124  [sym__script_start_tag_name] = sym__start_tag_name,
 125  [sym__style_start_tag_name] = sym__start_tag_name,
 126  [sym__end_tag_name] = sym__start_tag_name,
 127  [sym_erroneous_end_tag_name] = sym_erroneous_end_tag_name,
 128  [sym__implicit_end_tag] = sym__implicit_end_tag,
 129  [sym_raw_text] = sym_raw_text,
 130  [sym_comment] = sym_comment,
 131  [sym_document] = sym_document,
 132  [sym_doctype] = sym_doctype,
 133  [sym__node] = sym__node,
 134  [sym_element] = sym_element,
 135  [sym_script_element] = sym_script_element,
 136  [sym_style_element] = sym_style_element,
 137  [sym_start_tag] = sym_start_tag,
 138  [sym_script_start_tag] = sym_start_tag,
 139  [sym_style_start_tag] = sym_start_tag,
 140  [sym_self_closing_tag] = sym_self_closing_tag,
 141  [sym_end_tag] = sym_end_tag,
 142  [sym_erroneous_end_tag] = sym_erroneous_end_tag,
 143  [sym_attribute] = sym_attribute,
 144  [sym_quoted_attribute_value] = sym_quoted_attribute_value,
 145  [aux_sym_document_repeat1] = aux_sym_document_repeat1,
 146  [aux_sym_start_tag_repeat1] = aux_sym_start_tag_repeat1,
 147};
 148
 149static const TSSymbolMetadata ts_symbol_metadata[] = {
 150  [ts_builtin_sym_end] = {
 151    .visible = false,
 152    .named = true,
 153  },
 154  [anon_sym_LT_BANG] = {
 155    .visible = true,
 156    .named = false,
 157  },
 158  [aux_sym_doctype_token1] = {
 159    .visible = false,
 160    .named = false,
 161  },
 162  [anon_sym_GT] = {
 163    .visible = true,
 164    .named = false,
 165  },
 166  [sym__doctype] = {
 167    .visible = true,
 168    .named = false,
 169  },
 170  [anon_sym_LT] = {
 171    .visible = true,
 172    .named = false,
 173  },
 174  [anon_sym_SLASH_GT] = {
 175    .visible = true,
 176    .named = false,
 177  },
 178  [anon_sym_LT_SLASH] = {
 179    .visible = true,
 180    .named = false,
 181  },
 182  [anon_sym_EQ] = {
 183    .visible = true,
 184    .named = false,
 185  },
 186  [sym_attribute_name] = {
 187    .visible = true,
 188    .named = true,
 189  },
 190  [sym_attribute_value] = {
 191    .visible = true,
 192    .named = true,
 193  },
 194  [sym_entity] = {
 195    .visible = true,
 196    .named = true,
 197  },
 198  [anon_sym_SQUOTE] = {
 199    .visible = true,
 200    .named = false,
 201  },
 202  [aux_sym_quoted_attribute_value_token1] = {
 203    .visible = true,
 204    .named = true,
 205  },
 206  [anon_sym_DQUOTE] = {
 207    .visible = true,
 208    .named = false,
 209  },
 210  [aux_sym_quoted_attribute_value_token2] = {
 211    .visible = true,
 212    .named = true,
 213  },
 214  [sym_text] = {
 215    .visible = true,
 216    .named = true,
 217  },
 218  [sym__start_tag_name] = {
 219    .visible = true,
 220    .named = true,
 221  },
 222  [sym__script_start_tag_name] = {
 223    .visible = true,
 224    .named = true,
 225  },
 226  [sym__style_start_tag_name] = {
 227    .visible = true,
 228    .named = true,
 229  },
 230  [sym__end_tag_name] = {
 231    .visible = true,
 232    .named = true,
 233  },
 234  [sym_erroneous_end_tag_name] = {
 235    .visible = true,
 236    .named = true,
 237  },
 238  [sym__implicit_end_tag] = {
 239    .visible = false,
 240    .named = true,
 241  },
 242  [sym_raw_text] = {
 243    .visible = true,
 244    .named = true,
 245  },
 246  [sym_comment] = {
 247    .visible = true,
 248    .named = true,
 249  },
 250  [sym_document] = {
 251    .visible = true,
 252    .named = true,
 253  },
 254  [sym_doctype] = {
 255    .visible = true,
 256    .named = true,
 257  },
 258  [sym__node] = {
 259    .visible = false,
 260    .named = true,
 261  },
 262  [sym_element] = {
 263    .visible = true,
 264    .named = true,
 265  },
 266  [sym_script_element] = {
 267    .visible = true,
 268    .named = true,
 269  },
 270  [sym_style_element] = {
 271    .visible = true,
 272    .named = true,
 273  },
 274  [sym_start_tag] = {
 275    .visible = true,
 276    .named = true,
 277  },
 278  [sym_script_start_tag] = {
 279    .visible = true,
 280    .named = true,
 281  },
 282  [sym_style_start_tag] = {
 283    .visible = true,
 284    .named = true,
 285  },
 286  [sym_self_closing_tag] = {
 287    .visible = true,
 288    .named = true,
 289  },
 290  [sym_end_tag] = {
 291    .visible = true,
 292    .named = true,
 293  },
 294  [sym_erroneous_end_tag] = {
 295    .visible = true,
 296    .named = true,
 297  },
 298  [sym_attribute] = {
 299    .visible = true,
 300    .named = true,
 301  },
 302  [sym_quoted_attribute_value] = {
 303    .visible = true,
 304    .named = true,
 305  },
 306  [aux_sym_document_repeat1] = {
 307    .visible = false,
 308    .named = false,
 309  },
 310  [aux_sym_start_tag_repeat1] = {
 311    .visible = false,
 312    .named = false,
 313  },
 314};
 315
 316static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
 317  [0] = {0},
 318};
 319
 320static const uint16_t ts_non_terminal_alias_map[] = {
 321  0,
 322};
 323
 324static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
 325  [0] = 0,
 326  [1] = 1,
 327  [2] = 2,
 328  [3] = 2,
 329  [4] = 4,
 330  [5] = 4,
 331  [6] = 6,
 332  [7] = 6,
 333  [8] = 8,
 334  [9] = 9,
 335  [10] = 10,
 336  [11] = 11,
 337  [12] = 12,
 338  [13] = 11,
 339  [14] = 14,
 340  [15] = 15,
 341  [16] = 15,
 342  [17] = 12,
 343  [18] = 18,
 344  [19] = 19,
 345  [20] = 10,
 346  [21] = 21,
 347  [22] = 9,
 348  [23] = 23,
 349  [24] = 24,
 350  [25] = 25,
 351  [26] = 26,
 352  [27] = 27,
 353  [28] = 18,
 354  [29] = 19,
 355  [30] = 27,
 356  [31] = 14,
 357  [32] = 21,
 358  [33] = 23,
 359  [34] = 25,
 360  [35] = 35,
 361  [36] = 36,
 362  [37] = 37,
 363  [38] = 36,
 364  [39] = 35,
 365  [40] = 40,
 366  [41] = 41,
 367  [42] = 42,
 368  [43] = 43,
 369  [44] = 43,
 370  [45] = 45,
 371  [46] = 46,
 372  [47] = 37,
 373  [48] = 48,
 374  [49] = 42,
 375  [50] = 50,
 376  [51] = 51,
 377  [52] = 51,
 378  [53] = 53,
 379  [54] = 54,
 380  [55] = 55,
 381  [56] = 54,
 382  [57] = 55,
 383  [58] = 53,
 384  [59] = 59,
 385  [60] = 60,
 386  [61] = 61,
 387  [62] = 62,
 388  [63] = 63,
 389  [64] = 64,
 390  [65] = 65,
 391  [66] = 62,
 392  [67] = 67,
 393  [68] = 63,
 394  [69] = 48,
 395  [70] = 50,
 396  [71] = 64,
 397  [72] = 65,
 398  [73] = 73,
 399  [74] = 67,
 400  [75] = 75,
 401  [76] = 76,
 402  [77] = 77,
 403  [78] = 78,
 404  [79] = 79,
 405  [80] = 80,
 406  [81] = 81,
 407  [82] = 82,
 408  [83] = 82,
 409  [84] = 76,
 410  [85] = 85,
 411  [86] = 78,
 412  [87] = 87,
 413  [88] = 87,
 414  [89] = 81,
 415  [90] = 79,
 416  [91] = 80,
 417  [92] = 85,
 418  [93] = 75,
 419};
 420
 421static bool ts_lex(TSLexer *lexer, TSStateId state) {
 422  START_LEXER();
 423  eof = lexer->eof(lexer);
 424  switch (state) {
 425    case 0:
 426      if (eof) ADVANCE(18);
 427      ADVANCE_MAP(
 428        '"', 73,
 429        '&', 3,
 430        '\'', 70,
 431        '/', 6,
 432        '<', 24,
 433        '=', 27,
 434        '>', 22,
 435        'D', 9,
 436        'd', 9,
 437      );
 438      if (('\t' <= lookahead && lookahead <= '\r') ||
 439          lookahead == ' ') SKIP(0);
 440      END_STATE();
 441    case 1:
 442      if (lookahead == '"') ADVANCE(73);
 443      if (lookahead == '\'') ADVANCE(70);
 444      if (('\t' <= lookahead && lookahead <= '\r') ||
 445          lookahead == ' ') SKIP(1);
 446      if (lookahead != 0 &&
 447          (lookahead < '<' || '>' < lookahead)) ADVANCE(29);
 448      END_STATE();
 449    case 2:
 450      if (lookahead == '"') ADVANCE(73);
 451      if (('\t' <= lookahead && lookahead <= '\r') ||
 452          lookahead == ' ') ADVANCE(74);
 453      if (lookahead != 0) ADVANCE(75);
 454      END_STATE();
 455    case 3:
 456      if (lookahead == '#') ADVANCE(12);
 457      if (('A' <= lookahead && lookahead <= 'Z') ||
 458          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(69);
 459      END_STATE();
 460    case 4:
 461      if (lookahead == '\'') ADVANCE(70);
 462      if (('\t' <= lookahead && lookahead <= '\r') ||
 463          lookahead == ' ') ADVANCE(71);
 464      if (lookahead != 0) ADVANCE(72);
 465      END_STATE();
 466    case 5:
 467      if (lookahead == '/') ADVANCE(6);
 468      if (lookahead == '=') ADVANCE(27);
 469      if (lookahead == '>') ADVANCE(22);
 470      if (('\t' <= lookahead && lookahead <= '\r') ||
 471          lookahead == ' ') SKIP(5);
 472      if (lookahead != 0 &&
 473          lookahead != '"' &&
 474          lookahead != '\'' &&
 475          (lookahead < '<' || '>' < lookahead)) ADVANCE(28);
 476      END_STATE();
 477    case 6:
 478      if (lookahead == '>') ADVANCE(25);
 479      END_STATE();
 480    case 7:
 481      if (lookahead == 'C' ||
 482          lookahead == 'c') ADVANCE(11);
 483      END_STATE();
 484    case 8:
 485      if (lookahead == 'E' ||
 486          lookahead == 'e') ADVANCE(23);
 487      END_STATE();
 488    case 9:
 489      if (lookahead == 'O' ||
 490          lookahead == 'o') ADVANCE(7);
 491      END_STATE();
 492    case 10:
 493      if (lookahead == 'P' ||
 494          lookahead == 'p') ADVANCE(8);
 495      END_STATE();
 496    case 11:
 497      if (lookahead == 'T' ||
 498          lookahead == 't') ADVANCE(13);
 499      END_STATE();
 500    case 12:
 501      if (lookahead == 'X' ||
 502          lookahead == 'x') ADVANCE(16);
 503      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(35);
 504      END_STATE();
 505    case 13:
 506      if (lookahead == 'Y' ||
 507          lookahead == 'y') ADVANCE(10);
 508      END_STATE();
 509    case 14:
 510      if (('\t' <= lookahead && lookahead <= '\r') ||
 511          lookahead == ' ') ADVANCE(14);
 512      if (lookahead != 0 &&
 513          lookahead != '&' &&
 514          lookahead != '<' &&
 515          lookahead != '>') ADVANCE(76);
 516      END_STATE();
 517    case 15:
 518      if (('\t' <= lookahead && lookahead <= '\r') ||
 519          lookahead == ' ') ADVANCE(20);
 520      if (lookahead != 0 &&
 521          lookahead != '>') ADVANCE(21);
 522      END_STATE();
 523    case 16:
 524      if (('0' <= lookahead && lookahead <= '9') ||
 525          ('A' <= lookahead && lookahead <= 'F') ||
 526          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40);
 527      END_STATE();
 528    case 17:
 529      if (eof) ADVANCE(18);
 530      if (lookahead == '&') ADVANCE(3);
 531      if (lookahead == '<') ADVANCE(24);
 532      if (('\t' <= lookahead && lookahead <= '\r') ||
 533          lookahead == ' ') SKIP(17);
 534      if (lookahead != 0 &&
 535          lookahead != '>') ADVANCE(76);
 536      END_STATE();
 537    case 18:
 538      ACCEPT_TOKEN(ts_builtin_sym_end);
 539      END_STATE();
 540    case 19:
 541      ACCEPT_TOKEN(anon_sym_LT_BANG);
 542      END_STATE();
 543    case 20:
 544      ACCEPT_TOKEN(aux_sym_doctype_token1);
 545      if (('\t' <= lookahead && lookahead <= '\r') ||
 546          lookahead == ' ') ADVANCE(20);
 547      if (lookahead != 0 &&
 548          lookahead != '>') ADVANCE(21);
 549      END_STATE();
 550    case 21:
 551      ACCEPT_TOKEN(aux_sym_doctype_token1);
 552      if (lookahead != 0 &&
 553          lookahead != '>') ADVANCE(21);
 554      END_STATE();
 555    case 22:
 556      ACCEPT_TOKEN(anon_sym_GT);
 557      END_STATE();
 558    case 23:
 559      ACCEPT_TOKEN(sym__doctype);
 560      END_STATE();
 561    case 24:
 562      ACCEPT_TOKEN(anon_sym_LT);
 563      if (lookahead == '!') ADVANCE(19);
 564      if (lookahead == '/') ADVANCE(26);
 565      END_STATE();
 566    case 25:
 567      ACCEPT_TOKEN(anon_sym_SLASH_GT);
 568      END_STATE();
 569    case 26:
 570      ACCEPT_TOKEN(anon_sym_LT_SLASH);
 571      END_STATE();
 572    case 27:
 573      ACCEPT_TOKEN(anon_sym_EQ);
 574      END_STATE();
 575    case 28:
 576      ACCEPT_TOKEN(sym_attribute_name);
 577      if (lookahead != 0 &&
 578          (lookahead < '\t' || '\r' < lookahead) &&
 579          lookahead != ' ' &&
 580          lookahead != '"' &&
 581          lookahead != '\'' &&
 582          lookahead != '/' &&
 583          (lookahead < '<' || '>' < lookahead)) ADVANCE(28);
 584      END_STATE();
 585    case 29:
 586      ACCEPT_TOKEN(sym_attribute_value);
 587      if (lookahead != 0 &&
 588          (lookahead < '\t' || '\r' < lookahead) &&
 589          lookahead != ' ' &&
 590          lookahead != '"' &&
 591          lookahead != '\'' &&
 592          (lookahead < '<' || '>' < lookahead)) ADVANCE(29);
 593      END_STATE();
 594    case 30:
 595      ACCEPT_TOKEN(sym_entity);
 596      END_STATE();
 597    case 31:
 598      ACCEPT_TOKEN(sym_entity);
 599      if (lookahead == ';') ADVANCE(30);
 600      END_STATE();
 601    case 32:
 602      ACCEPT_TOKEN(sym_entity);
 603      if (lookahead == ';') ADVANCE(30);
 604      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(31);
 605      END_STATE();
 606    case 33:
 607      ACCEPT_TOKEN(sym_entity);
 608      if (lookahead == ';') ADVANCE(30);
 609      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(32);
 610      END_STATE();
 611    case 34:
 612      ACCEPT_TOKEN(sym_entity);
 613      if (lookahead == ';') ADVANCE(30);
 614      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(33);
 615      END_STATE();
 616    case 35:
 617      ACCEPT_TOKEN(sym_entity);
 618      if (lookahead == ';') ADVANCE(30);
 619      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(34);
 620      END_STATE();
 621    case 36:
 622      ACCEPT_TOKEN(sym_entity);
 623      if (lookahead == ';') ADVANCE(30);
 624      if (('0' <= lookahead && lookahead <= '9') ||
 625          ('A' <= lookahead && lookahead <= 'F') ||
 626          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31);
 627      END_STATE();
 628    case 37:
 629      ACCEPT_TOKEN(sym_entity);
 630      if (lookahead == ';') ADVANCE(30);
 631      if (('0' <= lookahead && lookahead <= '9') ||
 632          ('A' <= lookahead && lookahead <= 'F') ||
 633          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(36);
 634      END_STATE();
 635    case 38:
 636      ACCEPT_TOKEN(sym_entity);
 637      if (lookahead == ';') ADVANCE(30);
 638      if (('0' <= lookahead && lookahead <= '9') ||
 639          ('A' <= lookahead && lookahead <= 'F') ||
 640          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37);
 641      END_STATE();
 642    case 39:
 643      ACCEPT_TOKEN(sym_entity);
 644      if (lookahead == ';') ADVANCE(30);
 645      if (('0' <= lookahead && lookahead <= '9') ||
 646          ('A' <= lookahead && lookahead <= 'F') ||
 647          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38);
 648      END_STATE();
 649    case 40:
 650      ACCEPT_TOKEN(sym_entity);
 651      if (lookahead == ';') ADVANCE(30);
 652      if (('0' <= lookahead && lookahead <= '9') ||
 653          ('A' <= lookahead && lookahead <= 'F') ||
 654          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39);
 655      END_STATE();
 656    case 41:
 657      ACCEPT_TOKEN(sym_entity);
 658      if (lookahead == ';') ADVANCE(30);
 659      if (('A' <= lookahead && lookahead <= 'Z') ||
 660          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(31);
 661      END_STATE();
 662    case 42:
 663      ACCEPT_TOKEN(sym_entity);
 664      if (lookahead == ';') ADVANCE(30);
 665      if (('A' <= lookahead && lookahead <= 'Z') ||
 666          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(41);
 667      END_STATE();
 668    case 43:
 669      ACCEPT_TOKEN(sym_entity);
 670      if (lookahead == ';') ADVANCE(30);
 671      if (('A' <= lookahead && lookahead <= 'Z') ||
 672          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(42);
 673      END_STATE();
 674    case 44:
 675      ACCEPT_TOKEN(sym_entity);
 676      if (lookahead == ';') ADVANCE(30);
 677      if (('A' <= lookahead && lookahead <= 'Z') ||
 678          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(43);
 679      END_STATE();
 680    case 45:
 681      ACCEPT_TOKEN(sym_entity);
 682      if (lookahead == ';') ADVANCE(30);
 683      if (('A' <= lookahead && lookahead <= 'Z') ||
 684          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44);
 685      END_STATE();
 686    case 46:
 687      ACCEPT_TOKEN(sym_entity);
 688      if (lookahead == ';') ADVANCE(30);
 689      if (('A' <= lookahead && lookahead <= 'Z') ||
 690          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(45);
 691      END_STATE();
 692    case 47:
 693      ACCEPT_TOKEN(sym_entity);
 694      if (lookahead == ';') ADVANCE(30);
 695      if (('A' <= lookahead && lookahead <= 'Z') ||
 696          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(46);
 697      END_STATE();
 698    case 48:
 699      ACCEPT_TOKEN(sym_entity);
 700      if (lookahead == ';') ADVANCE(30);
 701      if (('A' <= lookahead && lookahead <= 'Z') ||
 702          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(47);
 703      END_STATE();
 704    case 49:
 705      ACCEPT_TOKEN(sym_entity);
 706      if (lookahead == ';') ADVANCE(30);
 707      if (('A' <= lookahead && lookahead <= 'Z') ||
 708          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(48);
 709      END_STATE();
 710    case 50:
 711      ACCEPT_TOKEN(sym_entity);
 712      if (lookahead == ';') ADVANCE(30);
 713      if (('A' <= lookahead && lookahead <= 'Z') ||
 714          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(49);
 715      END_STATE();
 716    case 51:
 717      ACCEPT_TOKEN(sym_entity);
 718      if (lookahead == ';') ADVANCE(30);
 719      if (('A' <= lookahead && lookahead <= 'Z') ||
 720          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(50);
 721      END_STATE();
 722    case 52:
 723      ACCEPT_TOKEN(sym_entity);
 724      if (lookahead == ';') ADVANCE(30);
 725      if (('A' <= lookahead && lookahead <= 'Z') ||
 726          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(51);
 727      END_STATE();
 728    case 53:
 729      ACCEPT_TOKEN(sym_entity);
 730      if (lookahead == ';') ADVANCE(30);
 731      if (('A' <= lookahead && lookahead <= 'Z') ||
 732          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(52);
 733      END_STATE();
 734    case 54:
 735      ACCEPT_TOKEN(sym_entity);
 736      if (lookahead == ';') ADVANCE(30);
 737      if (('A' <= lookahead && lookahead <= 'Z') ||
 738          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(53);
 739      END_STATE();
 740    case 55:
 741      ACCEPT_TOKEN(sym_entity);
 742      if (lookahead == ';') ADVANCE(30);
 743      if (('A' <= lookahead && lookahead <= 'Z') ||
 744          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(54);
 745      END_STATE();
 746    case 56:
 747      ACCEPT_TOKEN(sym_entity);
 748      if (lookahead == ';') ADVANCE(30);
 749      if (('A' <= lookahead && lookahead <= 'Z') ||
 750          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(55);
 751      END_STATE();
 752    case 57:
 753      ACCEPT_TOKEN(sym_entity);
 754      if (lookahead == ';') ADVANCE(30);
 755      if (('A' <= lookahead && lookahead <= 'Z') ||
 756          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(56);
 757      END_STATE();
 758    case 58:
 759      ACCEPT_TOKEN(sym_entity);
 760      if (lookahead == ';') ADVANCE(30);
 761      if (('A' <= lookahead && lookahead <= 'Z') ||
 762          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(57);
 763      END_STATE();
 764    case 59:
 765      ACCEPT_TOKEN(sym_entity);
 766      if (lookahead == ';') ADVANCE(30);
 767      if (('A' <= lookahead && lookahead <= 'Z') ||
 768          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(58);
 769      END_STATE();
 770    case 60:
 771      ACCEPT_TOKEN(sym_entity);
 772      if (lookahead == ';') ADVANCE(30);
 773      if (('A' <= lookahead && lookahead <= 'Z') ||
 774          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(59);
 775      END_STATE();
 776    case 61:
 777      ACCEPT_TOKEN(sym_entity);
 778      if (lookahead == ';') ADVANCE(30);
 779      if (('A' <= lookahead && lookahead <= 'Z') ||
 780          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(60);
 781      END_STATE();
 782    case 62:
 783      ACCEPT_TOKEN(sym_entity);
 784      if (lookahead == ';') ADVANCE(30);
 785      if (('A' <= lookahead && lookahead <= 'Z') ||
 786          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(61);
 787      END_STATE();
 788    case 63:
 789      ACCEPT_TOKEN(sym_entity);
 790      if (lookahead == ';') ADVANCE(30);
 791      if (('A' <= lookahead && lookahead <= 'Z') ||
 792          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(62);
 793      END_STATE();
 794    case 64:
 795      ACCEPT_TOKEN(sym_entity);
 796      if (lookahead == ';') ADVANCE(30);
 797      if (('A' <= lookahead && lookahead <= 'Z') ||
 798          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(63);
 799      END_STATE();
 800    case 65:
 801      ACCEPT_TOKEN(sym_entity);
 802      if (lookahead == ';') ADVANCE(30);
 803      if (('A' <= lookahead && lookahead <= 'Z') ||
 804          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(64);
 805      END_STATE();
 806    case 66:
 807      ACCEPT_TOKEN(sym_entity);
 808      if (lookahead == ';') ADVANCE(30);
 809      if (('A' <= lookahead && lookahead <= 'Z') ||
 810          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(65);
 811      END_STATE();
 812    case 67:
 813      ACCEPT_TOKEN(sym_entity);
 814      if (lookahead == ';') ADVANCE(30);
 815      if (('A' <= lookahead && lookahead <= 'Z') ||
 816          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(66);
 817      END_STATE();
 818    case 68:
 819      ACCEPT_TOKEN(sym_entity);
 820      if (lookahead == ';') ADVANCE(30);
 821      if (('A' <= lookahead && lookahead <= 'Z') ||
 822          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(67);
 823      END_STATE();
 824    case 69:
 825      ACCEPT_TOKEN(sym_entity);
 826      if (lookahead == ';') ADVANCE(30);
 827      if (('A' <= lookahead && lookahead <= 'Z') ||
 828          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(68);
 829      END_STATE();
 830    case 70:
 831      ACCEPT_TOKEN(anon_sym_SQUOTE);
 832      END_STATE();
 833    case 71:
 834      ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token1);
 835      if (('\t' <= lookahead && lookahead <= '\r') ||
 836          lookahead == ' ') ADVANCE(71);
 837      if (lookahead != 0 &&
 838          lookahead != '\'') ADVANCE(72);
 839      END_STATE();
 840    case 72:
 841      ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token1);
 842      if (lookahead != 0 &&
 843          lookahead != '\'') ADVANCE(72);
 844      END_STATE();
 845    case 73:
 846      ACCEPT_TOKEN(anon_sym_DQUOTE);
 847      END_STATE();
 848    case 74:
 849      ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token2);
 850      if (('\t' <= lookahead && lookahead <= '\r') ||
 851          lookahead == ' ') ADVANCE(74);
 852      if (lookahead != 0 &&
 853          lookahead != '"') ADVANCE(75);
 854      END_STATE();
 855    case 75:
 856      ACCEPT_TOKEN(aux_sym_quoted_attribute_value_token2);
 857      if (lookahead != 0 &&
 858          lookahead != '"') ADVANCE(75);
 859      END_STATE();
 860    case 76:
 861      ACCEPT_TOKEN(sym_text);
 862      if (('\t' <= lookahead && lookahead <= '\r') ||
 863          lookahead == ' ') ADVANCE(14);
 864      if (lookahead != 0 &&
 865          lookahead != '&' &&
 866          lookahead != '<' &&
 867          lookahead != '>') ADVANCE(76);
 868      END_STATE();
 869    default:
 870      return false;
 871  }
 872}
 873
 874static const TSLexMode ts_lex_modes[STATE_COUNT] = {
 875  [0] = {.lex_state = 0, .external_lex_state = 1},
 876  [1] = {.lex_state = 17, .external_lex_state = 2},
 877  [2] = {.lex_state = 17, .external_lex_state = 3},
 878  [3] = {.lex_state = 17, .external_lex_state = 3},
 879  [4] = {.lex_state = 17, .external_lex_state = 3},
 880  [5] = {.lex_state = 17, .external_lex_state = 3},
 881  [6] = {.lex_state = 17, .external_lex_state = 3},
 882  [7] = {.lex_state = 17, .external_lex_state = 2},
 883  [8] = {.lex_state = 17, .external_lex_state = 2},
 884  [9] = {.lex_state = 17, .external_lex_state = 2},
 885  [10] = {.lex_state = 17, .external_lex_state = 2},
 886  [11] = {.lex_state = 17, .external_lex_state = 2},
 887  [12] = {.lex_state = 17, .external_lex_state = 3},
 888  [13] = {.lex_state = 17, .external_lex_state = 3},
 889  [14] = {.lex_state = 17, .external_lex_state = 2},
 890  [15] = {.lex_state = 17, .external_lex_state = 2},
 891  [16] = {.lex_state = 17, .external_lex_state = 3},
 892  [17] = {.lex_state = 17, .external_lex_state = 2},
 893  [18] = {.lex_state = 17, .external_lex_state = 3},
 894  [19] = {.lex_state = 17, .external_lex_state = 3},
 895  [20] = {.lex_state = 17, .external_lex_state = 3},
 896  [21] = {.lex_state = 17, .external_lex_state = 2},
 897  [22] = {.lex_state = 17, .external_lex_state = 3},
 898  [23] = {.lex_state = 17, .external_lex_state = 2},
 899  [24] = {.lex_state = 17, .external_lex_state = 3},
 900  [25] = {.lex_state = 17, .external_lex_state = 3},
 901  [26] = {.lex_state = 17, .external_lex_state = 3},
 902  [27] = {.lex_state = 17, .external_lex_state = 2},
 903  [28] = {.lex_state = 17, .external_lex_state = 2},
 904  [29] = {.lex_state = 17, .external_lex_state = 2},
 905  [30] = {.lex_state = 17, .external_lex_state = 3},
 906  [31] = {.lex_state = 17, .external_lex_state = 3},
 907  [32] = {.lex_state = 17, .external_lex_state = 3},
 908  [33] = {.lex_state = 17, .external_lex_state = 3},
 909  [34] = {.lex_state = 17, .external_lex_state = 2},
 910  [35] = {.lex_state = 5, .external_lex_state = 4},
 911  [36] = {.lex_state = 5, .external_lex_state = 4},
 912  [37] = {.lex_state = 5, .external_lex_state = 4},
 913  [38] = {.lex_state = 5, .external_lex_state = 4},
 914  [39] = {.lex_state = 5, .external_lex_state = 4},
 915  [40] = {.lex_state = 5, .external_lex_state = 2},
 916  [41] = {.lex_state = 5, .external_lex_state = 2},
 917  [42] = {.lex_state = 5, .external_lex_state = 4},
 918  [43] = {.lex_state = 1, .external_lex_state = 2},
 919  [44] = {.lex_state = 1, .external_lex_state = 2},
 920  [45] = {.lex_state = 5, .external_lex_state = 2},
 921  [46] = {.lex_state = 5, .external_lex_state = 2},
 922  [47] = {.lex_state = 5, .external_lex_state = 2},
 923  [48] = {.lex_state = 5, .external_lex_state = 4},
 924  [49] = {.lex_state = 5, .external_lex_state = 2},
 925  [50] = {.lex_state = 5, .external_lex_state = 4},
 926  [51] = {.lex_state = 0, .external_lex_state = 5},
 927  [52] = {.lex_state = 0, .external_lex_state = 5},
 928  [53] = {.lex_state = 5, .external_lex_state = 4},
 929  [54] = {.lex_state = 0, .external_lex_state = 6},
 930  [55] = {.lex_state = 0, .external_lex_state = 6},
 931  [56] = {.lex_state = 0, .external_lex_state = 6},
 932  [57] = {.lex_state = 0, .external_lex_state = 6},
 933  [58] = {.lex_state = 5, .external_lex_state = 2},
 934  [59] = {.lex_state = 0, .external_lex_state = 6},
 935  [60] = {.lex_state = 0, .external_lex_state = 6},
 936  [61] = {.lex_state = 0, .external_lex_state = 6},
 937  [62] = {.lex_state = 0, .external_lex_state = 7},
 938  [63] = {.lex_state = 0, .external_lex_state = 2},
 939  [64] = {.lex_state = 2, .external_lex_state = 2},
 940  [65] = {.lex_state = 0, .external_lex_state = 2},
 941  [66] = {.lex_state = 0, .external_lex_state = 7},
 942  [67] = {.lex_state = 4, .external_lex_state = 2},
 943  [68] = {.lex_state = 0, .external_lex_state = 2},
 944  [69] = {.lex_state = 5, .external_lex_state = 2},
 945  [70] = {.lex_state = 5, .external_lex_state = 2},
 946  [71] = {.lex_state = 2, .external_lex_state = 2},
 947  [72] = {.lex_state = 0, .external_lex_state = 2},
 948  [73] = {.lex_state = 0, .external_lex_state = 6},
 949  [74] = {.lex_state = 4, .external_lex_state = 2},
 950  [75] = {.lex_state = 0, .external_lex_state = 2},
 951  [76] = {.lex_state = 0, .external_lex_state = 2},
 952  [77] = {.lex_state = 0, .external_lex_state = 2},
 953  [78] = {.lex_state = 0, .external_lex_state = 2},
 954  [79] = {.lex_state = 15, .external_lex_state = 2},
 955  [80] = {.lex_state = 0, .external_lex_state = 2},
 956  [81] = {.lex_state = 0, .external_lex_state = 8},
 957  [82] = {.lex_state = 0, .external_lex_state = 2},
 958  [83] = {.lex_state = 0, .external_lex_state = 2},
 959  [84] = {.lex_state = 0, .external_lex_state = 2},
 960  [85] = {.lex_state = 0, .external_lex_state = 9},
 961  [86] = {.lex_state = 0, .external_lex_state = 2},
 962  [87] = {.lex_state = 0, .external_lex_state = 2},
 963  [88] = {.lex_state = 0, .external_lex_state = 2},
 964  [89] = {.lex_state = 0, .external_lex_state = 8},
 965  [90] = {.lex_state = 15, .external_lex_state = 2},
 966  [91] = {.lex_state = 0, .external_lex_state = 2},
 967  [92] = {.lex_state = 0, .external_lex_state = 9},
 968  [93] = {.lex_state = 0, .external_lex_state = 2},
 969};
 970
 971static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
 972  [0] = {
 973    [ts_builtin_sym_end] = ACTIONS(1),
 974    [anon_sym_LT_BANG] = ACTIONS(1),
 975    [anon_sym_GT] = ACTIONS(1),
 976    [sym__doctype] = ACTIONS(1),
 977    [anon_sym_LT] = ACTIONS(1),
 978    [anon_sym_SLASH_GT] = ACTIONS(1),
 979    [anon_sym_LT_SLASH] = ACTIONS(1),
 980    [anon_sym_EQ] = ACTIONS(1),
 981    [sym_entity] = ACTIONS(1),
 982    [anon_sym_SQUOTE] = ACTIONS(1),
 983    [anon_sym_DQUOTE] = ACTIONS(1),
 984    [sym__start_tag_name] = ACTIONS(1),
 985    [sym__script_start_tag_name] = ACTIONS(1),
 986    [sym__style_start_tag_name] = ACTIONS(1),
 987    [sym__end_tag_name] = ACTIONS(1),
 988    [sym_erroneous_end_tag_name] = ACTIONS(1),
 989    [sym__implicit_end_tag] = ACTIONS(1),
 990    [sym_raw_text] = ACTIONS(1),
 991    [sym_comment] = ACTIONS(3),
 992  },
 993  [1] = {
 994    [sym_document] = STATE(77),
 995    [sym_doctype] = STATE(8),
 996    [sym__node] = STATE(8),
 997    [sym_element] = STATE(8),
 998    [sym_script_element] = STATE(8),
 999    [sym_style_element] = STATE(8),
1000    [sym_start_tag] = STATE(4),
1001    [sym_script_start_tag] = STATE(54),
1002    [sym_style_start_tag] = STATE(57),
1003    [sym_self_closing_tag] = STATE(11),
1004    [sym_erroneous_end_tag] = STATE(8),
1005    [aux_sym_document_repeat1] = STATE(8),
1006    [ts_builtin_sym_end] = ACTIONS(5),
1007    [anon_sym_LT_BANG] = ACTIONS(7),
1008    [anon_sym_LT] = ACTIONS(9),
1009    [anon_sym_LT_SLASH] = ACTIONS(11),
1010    [sym_entity] = ACTIONS(13),
1011    [sym_text] = ACTIONS(13),
1012    [sym_comment] = ACTIONS(3),
1013  },
1014};
1015
1016static const uint16_t ts_small_parse_table[] = {
1017  [0] = 12,
1018    ACTIONS(3), 1,
1019      sym_comment,
1020    ACTIONS(15), 1,
1021      anon_sym_LT_BANG,
1022    ACTIONS(17), 1,
1023      anon_sym_LT,
1024    ACTIONS(19), 1,
1025      anon_sym_LT_SLASH,
1026    ACTIONS(23), 1,
1027      sym__implicit_end_tag,
1028    STATE(5), 1,
1029      sym_start_tag,
1030    STATE(9), 1,
1031      sym_end_tag,
1032    STATE(13), 1,
1033      sym_self_closing_tag,
1034    STATE(55), 1,
1035      sym_style_start_tag,
1036    STATE(56), 1,
1037      sym_script_start_tag,
1038    ACTIONS(21), 2,
1039      sym_entity,
1040      sym_text,
1041    STATE(6), 7,
1042      sym_doctype,
1043      sym__node,
1044      sym_element,
1045      sym_script_element,
1046      sym_style_element,
1047      sym_erroneous_end_tag,
1048      aux_sym_document_repeat1,
1049  [44] = 12,
1050    ACTIONS(3), 1,
1051      sym_comment,
1052    ACTIONS(15), 1,
1053      anon_sym_LT_BANG,
1054    ACTIONS(17), 1,
1055      anon_sym_LT,
1056    ACTIONS(25), 1,
1057      anon_sym_LT_SLASH,
1058    ACTIONS(27), 1,
1059      sym__implicit_end_tag,
1060    STATE(5), 1,
1061      sym_start_tag,
1062    STATE(13), 1,
1063      sym_self_closing_tag,
1064    STATE(22), 1,
1065      sym_end_tag,
1066    STATE(55), 1,
1067      sym_style_start_tag,
1068    STATE(56), 1,
1069      sym_script_start_tag,
1070    ACTIONS(21), 2,
1071      sym_entity,
1072      sym_text,
1073    STATE(6), 7,
1074      sym_doctype,
1075      sym__node,
1076      sym_element,
1077      sym_script_element,
1078      sym_style_element,
1079      sym_erroneous_end_tag,
1080      aux_sym_document_repeat1,
1081  [88] = 12,
1082    ACTIONS(3), 1,
1083      sym_comment,
1084    ACTIONS(15), 1,
1085      anon_sym_LT_BANG,
1086    ACTIONS(17), 1,
1087      anon_sym_LT,
1088    ACTIONS(19), 1,
1089      anon_sym_LT_SLASH,
1090    ACTIONS(31), 1,
1091      sym__implicit_end_tag,
1092    STATE(5), 1,
1093      sym_start_tag,
1094    STATE(13), 1,
1095      sym_self_closing_tag,
1096    STATE(17), 1,
1097      sym_end_tag,
1098    STATE(55), 1,
1099      sym_style_start_tag,
1100    STATE(56), 1,
1101      sym_script_start_tag,
1102    ACTIONS(29), 2,
1103      sym_entity,
1104      sym_text,
1105    STATE(2), 7,
1106      sym_doctype,
1107      sym__node,
1108      sym_element,
1109      sym_script_element,
1110      sym_style_element,
1111      sym_erroneous_end_tag,
1112      aux_sym_document_repeat1,
1113  [132] = 12,
1114    ACTIONS(3), 1,
1115      sym_comment,
1116    ACTIONS(15), 1,
1117      anon_sym_LT_BANG,
1118    ACTIONS(17), 1,
1119      anon_sym_LT,
1120    ACTIONS(25), 1,
1121      anon_sym_LT_SLASH,
1122    ACTIONS(35), 1,
1123      sym__implicit_end_tag,
1124    STATE(5), 1,
1125      sym_start_tag,
1126    STATE(12), 1,
1127      sym_end_tag,
1128    STATE(13), 1,
1129      sym_self_closing_tag,
1130    STATE(55), 1,
1131      sym_style_start_tag,
1132    STATE(56), 1,
1133      sym_script_start_tag,
1134    ACTIONS(33), 2,
1135      sym_entity,
1136      sym_text,
1137    STATE(3), 7,
1138      sym_doctype,
1139      sym__node,
1140      sym_element,
1141      sym_script_element,
1142      sym_style_element,
1143      sym_erroneous_end_tag,
1144      aux_sym_document_repeat1,
1145  [176] = 11,
1146    ACTIONS(3), 1,
1147      sym_comment,
1148    ACTIONS(37), 1,
1149      anon_sym_LT_BANG,
1150    ACTIONS(40), 1,
1151      anon_sym_LT,
1152    ACTIONS(43), 1,
1153      anon_sym_LT_SLASH,
1154    ACTIONS(49), 1,
1155      sym__implicit_end_tag,
1156    STATE(5), 1,
1157      sym_start_tag,
1158    STATE(13), 1,
1159      sym_self_closing_tag,
1160    STATE(55), 1,
1161      sym_style_start_tag,
1162    STATE(56), 1,
1163      sym_script_start_tag,
1164    ACTIONS(46), 2,
1165      sym_entity,
1166      sym_text,
1167    STATE(6), 7,
1168      sym_doctype,
1169      sym__node,
1170      sym_element,
1171      sym_script_element,
1172      sym_style_element,
1173      sym_erroneous_end_tag,
1174      aux_sym_document_repeat1,
1175  [217] = 11,
1176    ACTIONS(3), 1,
1177      sym_comment,
1178    ACTIONS(49), 1,
1179      ts_builtin_sym_end,
1180    ACTIONS(51), 1,
1181      anon_sym_LT_BANG,
1182    ACTIONS(54), 1,
1183      anon_sym_LT,
1184    ACTIONS(57), 1,
1185      anon_sym_LT_SLASH,
1186    STATE(4), 1,
1187      sym_start_tag,
1188    STATE(11), 1,
1189      sym_self_closing_tag,
1190    STATE(54), 1,
1191      sym_script_start_tag,
1192    STATE(57), 1,
1193      sym_style_start_tag,
1194    ACTIONS(60), 2,
1195      sym_entity,
1196      sym_text,
1197    STATE(7), 7,
1198      sym_doctype,
1199      sym__node,
1200      sym_element,
1201      sym_script_element,
1202      sym_style_element,
1203      sym_erroneous_end_tag,
1204      aux_sym_document_repeat1,
1205  [258] = 11,
1206    ACTIONS(3), 1,
1207      sym_comment,
1208    ACTIONS(7), 1,
1209      anon_sym_LT_BANG,
1210    ACTIONS(9), 1,
1211      anon_sym_LT,
1212    ACTIONS(11), 1,
1213      anon_sym_LT_SLASH,
1214    ACTIONS(63), 1,
1215      ts_builtin_sym_end,
1216    STATE(4), 1,
1217      sym_start_tag,
1218    STATE(11), 1,
1219      sym_self_closing_tag,
1220    STATE(54), 1,
1221      sym_script_start_tag,
1222    STATE(57), 1,
1223      sym_style_start_tag,
1224    ACTIONS(65), 2,
1225      sym_entity,
1226      sym_text,
1227    STATE(7), 7,
1228      sym_doctype,
1229      sym__node,
1230      sym_element,
1231      sym_script_element,
1232      sym_style_element,
1233      sym_erroneous_end_tag,
1234      aux_sym_document_repeat1,
1235  [299] = 3,
1236    ACTIONS(3), 1,
1237      sym_comment,
1238    ACTIONS(69), 1,
1239      anon_sym_LT,
1240    ACTIONS(67), 5,
1241      ts_builtin_sym_end,
1242      anon_sym_LT_BANG,
1243      anon_sym_LT_SLASH,
1244      sym_entity,
1245      sym_text,
1246  [313] = 3,
1247    ACTIONS(3), 1,
1248      sym_comment,
1249    ACTIONS(73), 1,
1250      anon_sym_LT,
1251    ACTIONS(71), 5,
1252      ts_builtin_sym_end,
1253      anon_sym_LT_BANG,
1254      anon_sym_LT_SLASH,
1255      sym_entity,
1256      sym_text,
1257  [327] = 3,
1258    ACTIONS(3), 1,
1259      sym_comment,
1260    ACTIONS(77), 1,
1261      anon_sym_LT,
1262    ACTIONS(75), 5,
1263      ts_builtin_sym_end,
1264      anon_sym_LT_BANG,
1265      anon_sym_LT_SLASH,
1266      sym_entity,
1267      sym_text,
1268  [341] = 3,
1269    ACTIONS(3), 1,
1270      sym_comment,
1271    ACTIONS(81), 1,
1272      anon_sym_LT,
1273    ACTIONS(79), 5,
1274      sym__implicit_end_tag,
1275      anon_sym_LT_BANG,
1276      anon_sym_LT_SLASH,
1277      sym_entity,
1278      sym_text,
1279  [355] = 3,
1280    ACTIONS(3), 1,
1281      sym_comment,
1282    ACTIONS(77), 1,
1283      anon_sym_LT,
1284    ACTIONS(75), 5,
1285      sym__implicit_end_tag,
1286      anon_sym_LT_BANG,
1287      anon_sym_LT_SLASH,
1288      sym_entity,
1289      sym_text,
1290  [369] = 3,
1291    ACTIONS(3), 1,
1292      sym_comment,
1293    ACTIONS(85), 1,
1294      anon_sym_LT,
1295    ACTIONS(83), 5,
1296      ts_builtin_sym_end,
1297      anon_sym_LT_BANG,
1298      anon_sym_LT_SLASH,
1299      sym_entity,
1300      sym_text,
1301  [383] = 3,
1302    ACTIONS(3), 1,
1303      sym_comment,
1304    ACTIONS(89), 1,
1305      anon_sym_LT,
1306    ACTIONS(87), 5,
1307      ts_builtin_sym_end,
1308      anon_sym_LT_BANG,
1309      anon_sym_LT_SLASH,
1310      sym_entity,
1311      sym_text,
1312  [397] = 3,
1313    ACTIONS(3), 1,
1314      sym_comment,
1315    ACTIONS(89), 1,
1316      anon_sym_LT,
1317    ACTIONS(87), 5,
1318      sym__implicit_end_tag,
1319      anon_sym_LT_BANG,
1320      anon_sym_LT_SLASH,
1321      sym_entity,
1322      sym_text,
1323  [411] = 3,
1324    ACTIONS(3), 1,
1325      sym_comment,
1326    ACTIONS(81), 1,
1327      anon_sym_LT,
1328    ACTIONS(79), 5,
1329      ts_builtin_sym_end,
1330      anon_sym_LT_BANG,
1331      anon_sym_LT_SLASH,
1332      sym_entity,
1333      sym_text,
1334  [425] = 3,
1335    ACTIONS(3), 1,
1336      sym_comment,
1337    ACTIONS(93), 1,
1338      anon_sym_LT,
1339    ACTIONS(91), 5,
1340      sym__implicit_end_tag,
1341      anon_sym_LT_BANG,
1342      anon_sym_LT_SLASH,
1343      sym_entity,
1344      sym_text,
1345  [439] = 3,
1346    ACTIONS(3), 1,
1347      sym_comment,
1348    ACTIONS(97), 1,
1349      anon_sym_LT,
1350    ACTIONS(95), 5,
1351      sym__implicit_end_tag,
1352      anon_sym_LT_BANG,
1353      anon_sym_LT_SLASH,
1354      sym_entity,
1355      sym_text,
1356  [453] = 3,
1357    ACTIONS(3), 1,
1358      sym_comment,
1359    ACTIONS(73), 1,
1360      anon_sym_LT,
1361    ACTIONS(71), 5,
1362      sym__implicit_end_tag,
1363      anon_sym_LT_BANG,
1364      anon_sym_LT_SLASH,
1365      sym_entity,
1366      sym_text,
1367  [467] = 3,
1368    ACTIONS(3), 1,
1369      sym_comment,
1370    ACTIONS(101), 1,
1371      anon_sym_LT,
1372    ACTIONS(99), 5,
1373      ts_builtin_sym_end,
1374      anon_sym_LT_BANG,
1375      anon_sym_LT_SLASH,
1376      sym_entity,
1377      sym_text,
1378  [481] = 3,
1379    ACTIONS(3), 1,
1380      sym_comment,
1381    ACTIONS(69), 1,
1382      anon_sym_LT,
1383    ACTIONS(67), 5,
1384      sym__implicit_end_tag,
1385      anon_sym_LT_BANG,
1386      anon_sym_LT_SLASH,
1387      sym_entity,
1388      sym_text,
1389  [495] = 3,
1390    ACTIONS(3), 1,
1391      sym_comment,
1392    ACTIONS(105), 1,
1393      anon_sym_LT,
1394    ACTIONS(103), 5,
1395      ts_builtin_sym_end,
1396      anon_sym_LT_BANG,
1397      anon_sym_LT_SLASH,
1398      sym_entity,
1399      sym_text,
1400  [509] = 3,
1401    ACTIONS(3), 1,
1402      sym_comment,
1403    ACTIONS(109), 1,
1404      anon_sym_LT,
1405    ACTIONS(107), 5,
1406      sym__implicit_end_tag,
1407      anon_sym_LT_BANG,
1408      anon_sym_LT_SLASH,
1409      sym_entity,
1410      sym_text,
1411  [523] = 3,
1412    ACTIONS(3), 1,
1413      sym_comment,
1414    ACTIONS(113), 1,
1415      anon_sym_LT,
1416    ACTIONS(111), 5,
1417      sym__implicit_end_tag,
1418      anon_sym_LT_BANG,
1419      anon_sym_LT_SLASH,
1420      sym_entity,
1421      sym_text,
1422  [537] = 3,
1423    ACTIONS(3), 1,
1424      sym_comment,
1425    ACTIONS(117), 1,
1426      anon_sym_LT,
1427    ACTIONS(115), 5,
1428      sym__implicit_end_tag,
1429      anon_sym_LT_BANG,
1430      anon_sym_LT_SLASH,
1431      sym_entity,
1432      sym_text,
1433  [551] = 3,
1434    ACTIONS(3), 1,
1435      sym_comment,
1436    ACTIONS(121), 1,
1437      anon_sym_LT,
1438    ACTIONS(119), 5,
1439      ts_builtin_sym_end,
1440      anon_sym_LT_BANG,
1441      anon_sym_LT_SLASH,
1442      sym_entity,
1443      sym_text,
1444  [565] = 3,
1445    ACTIONS(3), 1,
1446      sym_comment,
1447    ACTIONS(93), 1,
1448      anon_sym_LT,
1449    ACTIONS(91), 5,
1450      ts_builtin_sym_end,
1451      anon_sym_LT_BANG,
1452      anon_sym_LT_SLASH,
1453      sym_entity,
1454      sym_text,
1455  [579] = 3,
1456    ACTIONS(3), 1,
1457      sym_comment,
1458    ACTIONS(97), 1,
1459      anon_sym_LT,
1460    ACTIONS(95), 5,
1461      ts_builtin_sym_end,
1462      anon_sym_LT_BANG,
1463      anon_sym_LT_SLASH,
1464      sym_entity,
1465      sym_text,
1466  [593] = 3,
1467    ACTIONS(3), 1,
1468      sym_comment,
1469    ACTIONS(121), 1,
1470      anon_sym_LT,
1471    ACTIONS(119), 5,
1472      sym__implicit_end_tag,
1473      anon_sym_LT_BANG,
1474      anon_sym_LT_SLASH,
1475      sym_entity,
1476      sym_text,
1477  [607] = 3,
1478    ACTIONS(3), 1,
1479      sym_comment,
1480    ACTIONS(85), 1,
1481      anon_sym_LT,
1482    ACTIONS(83), 5,
1483      sym__implicit_end_tag,
1484      anon_sym_LT_BANG,
1485      anon_sym_LT_SLASH,
1486      sym_entity,
1487      sym_text,
1488  [621] = 3,
1489    ACTIONS(3), 1,
1490      sym_comment,
1491    ACTIONS(101), 1,
1492      anon_sym_LT,
1493    ACTIONS(99), 5,
1494      sym__implicit_end_tag,
1495      anon_sym_LT_BANG,
1496      anon_sym_LT_SLASH,
1497      sym_entity,
1498      sym_text,
1499  [635] = 3,
1500    ACTIONS(3), 1,
1501      sym_comment,
1502    ACTIONS(105), 1,
1503      anon_sym_LT,
1504    ACTIONS(103), 5,
1505      sym__implicit_end_tag,
1506      anon_sym_LT_BANG,
1507      anon_sym_LT_SLASH,
1508      sym_entity,
1509      sym_text,
1510  [649] = 3,
1511    ACTIONS(3), 1,
1512      sym_comment,
1513    ACTIONS(113), 1,
1514      anon_sym_LT,
1515    ACTIONS(111), 5,
1516      ts_builtin_sym_end,
1517      anon_sym_LT_BANG,
1518      anon_sym_LT_SLASH,
1519      sym_entity,
1520      sym_text,
1521  [663] = 5,
1522    ACTIONS(3), 1,
1523      sym_comment,
1524    ACTIONS(123), 1,
1525      anon_sym_GT,
1526    ACTIONS(125), 1,
1527      anon_sym_SLASH_GT,
1528    ACTIONS(127), 1,
1529      sym_attribute_name,
1530    STATE(38), 2,
1531      sym_attribute,
1532      aux_sym_start_tag_repeat1,
1533  [680] = 5,
1534    ACTIONS(3), 1,
1535      sym_comment,
1536    ACTIONS(127), 1,
1537      sym_attribute_name,
1538    ACTIONS(129), 1,
1539      anon_sym_GT,
1540    ACTIONS(131), 1,
1541      anon_sym_SLASH_GT,
1542    STATE(37), 2,
1543      sym_attribute,
1544      aux_sym_start_tag_repeat1,
1545  [697] = 4,
1546    ACTIONS(3), 1,
1547      sym_comment,
1548    ACTIONS(135), 1,
1549      sym_attribute_name,
1550    ACTIONS(133), 2,
1551      anon_sym_GT,
1552      anon_sym_SLASH_GT,
1553    STATE(37), 2,
1554      sym_attribute,
1555      aux_sym_start_tag_repeat1,
1556  [712] = 5,
1557    ACTIONS(3), 1,
1558      sym_comment,
1559    ACTIONS(127), 1,
1560      sym_attribute_name,
1561    ACTIONS(129), 1,
1562      anon_sym_GT,
1563    ACTIONS(138), 1,
1564      anon_sym_SLASH_GT,
1565    STATE(37), 2,
1566      sym_attribute,
1567      aux_sym_start_tag_repeat1,
1568  [729] = 5,
1569    ACTIONS(3), 1,
1570      sym_comment,
1571    ACTIONS(123), 1,
1572      anon_sym_GT,
1573    ACTIONS(127), 1,
1574      sym_attribute_name,
1575    ACTIONS(140), 1,
1576      anon_sym_SLASH_GT,
1577    STATE(36), 2,
1578      sym_attribute,
1579      aux_sym_start_tag_repeat1,
1580  [746] = 4,
1581    ACTIONS(3), 1,
1582      sym_comment,
1583    ACTIONS(142), 1,
1584      anon_sym_GT,
1585    ACTIONS(144), 1,
1586      sym_attribute_name,
1587    STATE(47), 2,
1588      sym_attribute,
1589      aux_sym_start_tag_repeat1,
1590  [760] = 4,
1591    ACTIONS(3), 1,
1592      sym_comment,
1593    ACTIONS(144), 1,
1594      sym_attribute_name,
1595    ACTIONS(146), 1,
1596      anon_sym_GT,
1597    STATE(47), 2,
1598      sym_attribute,
1599      aux_sym_start_tag_repeat1,
1600  [774] = 3,
1601    ACTIONS(3), 1,
1602      sym_comment,
1603    ACTIONS(150), 1,
1604      anon_sym_EQ,
1605    ACTIONS(148), 3,
1606      anon_sym_GT,
1607      anon_sym_SLASH_GT,
1608      sym_attribute_name,
1609  [786] = 5,
1610    ACTIONS(3), 1,
1611      sym_comment,
1612    ACTIONS(152), 1,
1613      sym_attribute_value,
1614    ACTIONS(154), 1,
1615      anon_sym_SQUOTE,
1616    ACTIONS(156), 1,
1617      anon_sym_DQUOTE,
1618    STATE(48), 1,
1619      sym_quoted_attribute_value,
1620  [802] = 5,
1621    ACTIONS(3), 1,
1622      sym_comment,
1623    ACTIONS(158), 1,
1624      sym_attribute_value,
1625    ACTIONS(160), 1,
1626      anon_sym_SQUOTE,
1627    ACTIONS(162), 1,
1628      anon_sym_DQUOTE,
1629    STATE(69), 1,
1630      sym_quoted_attribute_value,
1631  [818] = 4,
1632    ACTIONS(3), 1,
1633      sym_comment,
1634    ACTIONS(144), 1,
1635      sym_attribute_name,
1636    ACTIONS(164), 1,
1637      anon_sym_GT,
1638    STATE(40), 2,
1639      sym_attribute,
1640      aux_sym_start_tag_repeat1,
1641  [832] = 4,
1642    ACTIONS(3), 1,
1643      sym_comment,
1644    ACTIONS(144), 1,
1645      sym_attribute_name,
1646    ACTIONS(166), 1,
1647      anon_sym_GT,
1648    STATE(41), 2,
1649      sym_attribute,
1650      aux_sym_start_tag_repeat1,
1651  [846] = 4,
1652    ACTIONS(3), 1,
1653      sym_comment,
1654    ACTIONS(133), 1,
1655      anon_sym_GT,
1656    ACTIONS(168), 1,
1657      sym_attribute_name,
1658    STATE(47), 2,
1659      sym_attribute,
1660      aux_sym_start_tag_repeat1,
1661  [860] = 2,
1662    ACTIONS(3), 1,
1663      sym_comment,
1664    ACTIONS(171), 3,
1665      anon_sym_GT,
1666      anon_sym_SLASH_GT,
1667      sym_attribute_name,
1668  [869] = 3,
1669    ACTIONS(3), 1,
1670      sym_comment,
1671    ACTIONS(173), 1,
1672      anon_sym_EQ,
1673    ACTIONS(148), 2,
1674      anon_sym_GT,
1675      sym_attribute_name,
1676  [880] = 2,
1677    ACTIONS(3), 1,
1678      sym_comment,
1679    ACTIONS(175), 3,
1680      anon_sym_GT,
1681      anon_sym_SLASH_GT,
1682      sym_attribute_name,
1683  [889] = 4,
1684    ACTIONS(3), 1,
1685      sym_comment,
1686    ACTIONS(177), 1,
1687      sym__start_tag_name,
1688    ACTIONS(179), 1,
1689      sym__script_start_tag_name,
1690    ACTIONS(181), 1,
1691      sym__style_start_tag_name,
1692  [902] = 4,
1693    ACTIONS(3), 1,
1694      sym_comment,
1695    ACTIONS(179), 1,
1696      sym__script_start_tag_name,
1697    ACTIONS(181), 1,
1698      sym__style_start_tag_name,
1699    ACTIONS(183), 1,
1700      sym__start_tag_name,
1701  [915] = 2,
1702    ACTIONS(3), 1,
1703      sym_comment,
1704    ACTIONS(185), 3,
1705      anon_sym_GT,
1706      anon_sym_SLASH_GT,
1707      sym_attribute_name,
1708  [924] = 4,
1709    ACTIONS(3), 1,
1710      sym_comment,
1711    ACTIONS(187), 1,
1712      anon_sym_LT_SLASH,
1713    ACTIONS(189), 1,
1714      sym_raw_text,
1715    STATE(21), 1,
1716      sym_end_tag,
1717  [937] = 4,
1718    ACTIONS(3), 1,
1719      sym_comment,
1720    ACTIONS(191), 1,
1721      anon_sym_LT_SLASH,
1722    ACTIONS(193), 1,
1723      sym_raw_text,
1724    STATE(33), 1,
1725      sym_end_tag,
1726  [950] = 4,
1727    ACTIONS(3), 1,
1728      sym_comment,
1729    ACTIONS(191), 1,
1730      anon_sym_LT_SLASH,
1731    ACTIONS(195), 1,
1732      sym_raw_text,
1733    STATE(32), 1,
1734      sym_end_tag,
1735  [963] = 4,
1736    ACTIONS(3), 1,
1737      sym_comment,
1738    ACTIONS(187), 1,
1739      anon_sym_LT_SLASH,
1740    ACTIONS(197), 1,
1741      sym_raw_text,
1742    STATE(23), 1,
1743      sym_end_tag,
1744  [976] = 2,
1745    ACTIONS(3), 1,
1746      sym_comment,
1747    ACTIONS(185), 2,
1748      anon_sym_GT,
1749      sym_attribute_name,
1750  [984] = 2,
1751    ACTIONS(3), 1,
1752      sym_comment,
1753    ACTIONS(199), 2,
1754      sym_raw_text,
1755      anon_sym_LT_SLASH,
1756  [992] = 2,
1757    ACTIONS(3), 1,
1758      sym_comment,
1759    ACTIONS(201), 2,
1760      sym_raw_text,
1761      anon_sym_LT_SLASH,
1762  [1000] = 2,
1763    ACTIONS(3), 1,
1764      sym_comment,
1765    ACTIONS(203), 2,
1766      sym_raw_text,
1767      anon_sym_LT_SLASH,
1768  [1008] = 3,
1769    ACTIONS(3), 1,
1770      sym_comment,
1771    ACTIONS(205), 1,
1772      sym__end_tag_name,
1773    ACTIONS(207), 1,
1774      sym_erroneous_end_tag_name,
1775  [1018] = 3,
1776    ACTIONS(3), 1,
1777      sym_comment,
1778    ACTIONS(187), 1,
1779      anon_sym_LT_SLASH,
1780    STATE(29), 1,
1781      sym_end_tag,
1782  [1028] = 3,
1783    ACTIONS(3), 1,
1784      sym_comment,
1785    ACTIONS(209), 1,
1786      anon_sym_DQUOTE,
1787    ACTIONS(211), 1,
1788      aux_sym_quoted_attribute_value_token2,
1789  [1038] = 3,
1790    ACTIONS(3), 1,
1791      sym_comment,
1792    ACTIONS(187), 1,
1793      anon_sym_LT_SLASH,
1794    STATE(10), 1,
1795      sym_end_tag,
1796  [1048] = 3,
1797    ACTIONS(3), 1,
1798      sym_comment,
1799    ACTIONS(207), 1,
1800      sym_erroneous_end_tag_name,
1801    ACTIONS(213), 1,
1802      sym__end_tag_name,
1803  [1058] = 3,
1804    ACTIONS(3), 1,
1805      sym_comment,
1806    ACTIONS(209), 1,
1807      anon_sym_SQUOTE,
1808    ACTIONS(215), 1,
1809      aux_sym_quoted_attribute_value_token1,
1810  [1068] = 3,
1811    ACTIONS(3), 1,
1812      sym_comment,
1813    ACTIONS(191), 1,
1814      anon_sym_LT_SLASH,
1815    STATE(19), 1,
1816      sym_end_tag,
1817  [1078] = 2,
1818    ACTIONS(3), 1,
1819      sym_comment,
1820    ACTIONS(171), 2,
1821      anon_sym_GT,
1822      sym_attribute_name,
1823  [1086] = 2,
1824    ACTIONS(3), 1,
1825      sym_comment,
1826    ACTIONS(175), 2,
1827      anon_sym_GT,
1828      sym_attribute_name,
1829  [1094] = 3,
1830    ACTIONS(3), 1,
1831      sym_comment,
1832    ACTIONS(217), 1,
1833      anon_sym_DQUOTE,
1834    ACTIONS(219), 1,
1835      aux_sym_quoted_attribute_value_token2,
1836  [1104] = 3,
1837    ACTIONS(3), 1,
1838      sym_comment,
1839    ACTIONS(191), 1,
1840      anon_sym_LT_SLASH,
1841    STATE(20), 1,
1842      sym_end_tag,
1843  [1114] = 2,
1844    ACTIONS(3), 1,
1845      sym_comment,
1846    ACTIONS(221), 2,
1847      sym_raw_text,
1848      anon_sym_LT_SLASH,
1849  [1122] = 3,
1850    ACTIONS(3), 1,
1851      sym_comment,
1852    ACTIONS(217), 1,
1853      anon_sym_SQUOTE,
1854    ACTIONS(223), 1,
1855      aux_sym_quoted_attribute_value_token1,
1856  [1132] = 2,
1857    ACTIONS(3), 1,
1858      sym_comment,
1859    ACTIONS(225), 1,
1860      sym__doctype,
1861  [1139] = 2,
1862    ACTIONS(3), 1,
1863      sym_comment,
1864    ACTIONS(227), 1,
1865      anon_sym_GT,
1866  [1146] = 2,
1867    ACTIONS(3), 1,
1868      sym_comment,
1869    ACTIONS(229), 1,
1870      ts_builtin_sym_end,
1871  [1153] = 2,
1872    ACTIONS(3), 1,
1873      sym_comment,
1874    ACTIONS(231), 1,
1875      anon_sym_SQUOTE,
1876  [1160] = 2,
1877    ACTIONS(3), 1,
1878      sym_comment,
1879    ACTIONS(233), 1,
1880      aux_sym_doctype_token1,
1881  [1167] = 2,
1882    ACTIONS(3), 1,
1883      sym_comment,
1884    ACTIONS(235), 1,
1885      anon_sym_GT,
1886  [1174] = 2,
1887    ACTIONS(3), 1,
1888      sym_comment,
1889    ACTIONS(237), 1,
1890      sym_erroneous_end_tag_name,
1891  [1181] = 2,
1892    ACTIONS(3), 1,
1893      sym_comment,
1894    ACTIONS(239), 1,
1895      anon_sym_GT,
1896  [1188] = 2,
1897    ACTIONS(3), 1,
1898      sym_comment,
1899    ACTIONS(241), 1,
1900      anon_sym_GT,
1901  [1195] = 2,
1902    ACTIONS(3), 1,
1903      sym_comment,
1904    ACTIONS(243), 1,
1905      anon_sym_GT,
1906  [1202] = 2,
1907    ACTIONS(3), 1,
1908      sym_comment,
1909    ACTIONS(213), 1,
1910      sym__end_tag_name,
1911  [1209] = 2,
1912    ACTIONS(3), 1,
1913      sym_comment,
1914    ACTIONS(245), 1,
1915      anon_sym_SQUOTE,
1916  [1216] = 2,
1917    ACTIONS(3), 1,
1918      sym_comment,
1919    ACTIONS(245), 1,
1920      anon_sym_DQUOTE,
1921  [1223] = 2,
1922    ACTIONS(3), 1,
1923      sym_comment,
1924    ACTIONS(231), 1,
1925      anon_sym_DQUOTE,
1926  [1230] = 2,
1927    ACTIONS(3), 1,
1928      sym_comment,
1929    ACTIONS(207), 1,
1930      sym_erroneous_end_tag_name,
1931  [1237] = 2,
1932    ACTIONS(3), 1,
1933      sym_comment,
1934    ACTIONS(247), 1,
1935      aux_sym_doctype_token1,
1936  [1244] = 2,
1937    ACTIONS(3), 1,
1938      sym_comment,
1939    ACTIONS(249), 1,
1940      anon_sym_GT,
1941  [1251] = 2,
1942    ACTIONS(3), 1,
1943      sym_comment,
1944    ACTIONS(205), 1,
1945      sym__end_tag_name,
1946  [1258] = 2,
1947    ACTIONS(3), 1,
1948      sym_comment,
1949    ACTIONS(251), 1,
1950      sym__doctype,
1951};
1952
1953static const uint32_t ts_small_parse_table_map[] = {
1954  [SMALL_STATE(2)] = 0,
1955  [SMALL_STATE(3)] = 44,
1956  [SMALL_STATE(4)] = 88,
1957  [SMALL_STATE(5)] = 132,
1958  [SMALL_STATE(6)] = 176,
1959  [SMALL_STATE(7)] = 217,
1960  [SMALL_STATE(8)] = 258,
1961  [SMALL_STATE(9)] = 299,
1962  [SMALL_STATE(10)] = 313,
1963  [SMALL_STATE(11)] = 327,
1964  [SMALL_STATE(12)] = 341,
1965  [SMALL_STATE(13)] = 355,
1966  [SMALL_STATE(14)] = 369,
1967  [SMALL_STATE(15)] = 383,
1968  [SMALL_STATE(16)] = 397,
1969  [SMALL_STATE(17)] = 411,
1970  [SMALL_STATE(18)] = 425,
1971  [SMALL_STATE(19)] = 439,
1972  [SMALL_STATE(20)] = 453,
1973  [SMALL_STATE(21)] = 467,
1974  [SMALL_STATE(22)] = 481,
1975  [SMALL_STATE(23)] = 495,
1976  [SMALL_STATE(24)] = 509,
1977  [SMALL_STATE(25)] = 523,
1978  [SMALL_STATE(26)] = 537,
1979  [SMALL_STATE(27)] = 551,
1980  [SMALL_STATE(28)] = 565,
1981  [SMALL_STATE(29)] = 579,
1982  [SMALL_STATE(30)] = 593,
1983  [SMALL_STATE(31)] = 607,
1984  [SMALL_STATE(32)] = 621,
1985  [SMALL_STATE(33)] = 635,
1986  [SMALL_STATE(34)] = 649,
1987  [SMALL_STATE(35)] = 663,
1988  [SMALL_STATE(36)] = 680,
1989  [SMALL_STATE(37)] = 697,
1990  [SMALL_STATE(38)] = 712,
1991  [SMALL_STATE(39)] = 729,
1992  [SMALL_STATE(40)] = 746,
1993  [SMALL_STATE(41)] = 760,
1994  [SMALL_STATE(42)] = 774,
1995  [SMALL_STATE(43)] = 786,
1996  [SMALL_STATE(44)] = 802,
1997  [SMALL_STATE(45)] = 818,
1998  [SMALL_STATE(46)] = 832,
1999  [SMALL_STATE(47)] = 846,
2000  [SMALL_STATE(48)] = 860,
2001  [SMALL_STATE(49)] = 869,
2002  [SMALL_STATE(50)] = 880,
2003  [SMALL_STATE(51)] = 889,
2004  [SMALL_STATE(52)] = 902,
2005  [SMALL_STATE(53)] = 915,
2006  [SMALL_STATE(54)] = 924,
2007  [SMALL_STATE(55)] = 937,
2008  [SMALL_STATE(56)] = 950,
2009  [SMALL_STATE(57)] = 963,
2010  [SMALL_STATE(58)] = 976,
2011  [SMALL_STATE(59)] = 984,
2012  [SMALL_STATE(60)] = 992,
2013  [SMALL_STATE(61)] = 1000,
2014  [SMALL_STATE(62)] = 1008,
2015  [SMALL_STATE(63)] = 1018,
2016  [SMALL_STATE(64)] = 1028,
2017  [SMALL_STATE(65)] = 1038,
2018  [SMALL_STATE(66)] = 1048,
2019  [SMALL_STATE(67)] = 1058,
2020  [SMALL_STATE(68)] = 1068,
2021  [SMALL_STATE(69)] = 1078,
2022  [SMALL_STATE(70)] = 1086,
2023  [SMALL_STATE(71)] = 1094,
2024  [SMALL_STATE(72)] = 1104,
2025  [SMALL_STATE(73)] = 1114,
2026  [SMALL_STATE(74)] = 1122,
2027  [SMALL_STATE(75)] = 1132,
2028  [SMALL_STATE(76)] = 1139,
2029  [SMALL_STATE(77)] = 1146,
2030  [SMALL_STATE(78)] = 1153,
2031  [SMALL_STATE(79)] = 1160,
2032  [SMALL_STATE(80)] = 1167,
2033  [SMALL_STATE(81)] = 1174,
2034  [SMALL_STATE(82)] = 1181,
2035  [SMALL_STATE(83)] = 1188,
2036  [SMALL_STATE(84)] = 1195,
2037  [SMALL_STATE(85)] = 1202,
2038  [SMALL_STATE(86)] = 1209,
2039  [SMALL_STATE(87)] = 1216,
2040  [SMALL_STATE(88)] = 1223,
2041  [SMALL_STATE(89)] = 1230,
2042  [SMALL_STATE(90)] = 1237,
2043  [SMALL_STATE(91)] = 1244,
2044  [SMALL_STATE(92)] = 1251,
2045  [SMALL_STATE(93)] = 1258,
2046};
2047
2048static const TSParseActionEntry ts_parse_actions[] = {
2049  [0] = {.entry = {.count = 0, .reusable = false}},
2050  [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
2051  [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(),
2052  [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 0, 0, 0),
2053  [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
2054  [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52),
2055  [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
2056  [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
2057  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
2058  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51),
2059  [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66),
2060  [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
2061  [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
2062  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62),
2063  [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
2064  [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2),
2065  [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
2066  [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
2067  [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
2068  [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(93),
2069  [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(51),
2070  [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(89),
2071  [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(6),
2072  [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0),
2073  [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(75),
2074  [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(52),
2075  [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(81),
2076  [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_document_repeat1, 2, 0, 0), SHIFT_REPEAT(7),
2077  [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_document, 1, 0, 0),
2078  [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
2079  [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 3, 0, 0),
2080  [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 3, 0, 0),
2081  [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 3, 0, 0),
2082  [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 3, 0, 0),
2083  [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 1, 0, 0),
2084  [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 1, 0, 0),
2085  [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 2, 0, 0),
2086  [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_element, 2, 0, 0),
2087  [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_end_tag, 3, 0, 0),
2088  [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_end_tag, 3, 0, 0),
2089  [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 4, 0, 0),
2090  [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 4, 0, 0),
2091  [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 4, 0, 0),
2092  [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doctype, 4, 0, 0),
2093  [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 3, 0, 0),
2094  [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 3, 0, 0),
2095  [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_element, 2, 0, 0),
2096  [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_script_element, 2, 0, 0),
2097  [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_element, 2, 0, 0),
2098  [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_style_element, 2, 0, 0),
2099  [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 4, 0, 0),
2100  [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 4, 0, 0),
2101  [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_erroneous_end_tag, 3, 0, 0),
2102  [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_erroneous_end_tag, 3, 0, 0),
2103  [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_start_tag, 3, 0, 0),
2104  [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_start_tag, 3, 0, 0),
2105  [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_self_closing_tag, 3, 0, 0),
2106  [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_self_closing_tag, 3, 0, 0),
2107  [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
2108  [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
2109  [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
2110  [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
2111  [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
2112  [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0),
2113  [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(42),
2114  [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
2115  [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
2116  [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73),
2117  [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
2118  [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59),
2119  [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0),
2120  [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
2121  [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
2122  [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
2123  [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
2124  [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
2125  [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67),
2126  [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64),
2127  [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
2128  [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
2129  [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_start_tag_repeat1, 2, 0, 0), SHIFT_REPEAT(49),
2130  [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 0),
2131  [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
2132  [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 2, 0, 0),
2133  [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
2134  [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
2135  [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
2136  [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
2137  [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_attribute_value, 3, 0, 0),
2138  [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85),
2139  [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65),
2140  [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92),
2141  [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68),
2142  [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72),
2143  [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
2144  [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 4, 0, 0),
2145  [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 3, 0, 0),
2146  [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_script_start_tag, 3, 0, 0),
2147  [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82),
2148  [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76),
2149  [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70),
2150  [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87),
2151  [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83),
2152  [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
2153  [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50),
2154  [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88),
2155  [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_style_start_tag, 4, 0, 0),
2156  [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
2157  [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
2158  [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
2159  [229] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
2160  [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53),
2161  [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
2162  [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
2163  [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
2164  [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
2165  [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
2166  [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
2167  [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
2168  [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
2169  [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
2170  [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
2171};
2172
2173enum ts_external_scanner_symbol_identifiers {
2174  ts_external_token__start_tag_name = 0,
2175  ts_external_token__script_start_tag_name = 1,
2176  ts_external_token__style_start_tag_name = 2,
2177  ts_external_token__end_tag_name = 3,
2178  ts_external_token_erroneous_end_tag_name = 4,
2179  ts_external_token_SLASH_GT = 5,
2180  ts_external_token__implicit_end_tag = 6,
2181  ts_external_token_raw_text = 7,
2182  ts_external_token_comment = 8,
2183};
2184
2185static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
2186  [ts_external_token__start_tag_name] = sym__start_tag_name,
2187  [ts_external_token__script_start_tag_name] = sym__script_start_tag_name,
2188  [ts_external_token__style_start_tag_name] = sym__style_start_tag_name,
2189  [ts_external_token__end_tag_name] = sym__end_tag_name,
2190  [ts_external_token_erroneous_end_tag_name] = sym_erroneous_end_tag_name,
2191  [ts_external_token_SLASH_GT] = anon_sym_SLASH_GT,
2192  [ts_external_token__implicit_end_tag] = sym__implicit_end_tag,
2193  [ts_external_token_raw_text] = sym_raw_text,
2194  [ts_external_token_comment] = sym_comment,
2195};
2196
2197static const bool ts_external_scanner_states[10][EXTERNAL_TOKEN_COUNT] = {
2198  [1] = {
2199    [ts_external_token__start_tag_name] = true,
2200    [ts_external_token__script_start_tag_name] = true,
2201    [ts_external_token__style_start_tag_name] = true,
2202    [ts_external_token__end_tag_name] = true,
2203    [ts_external_token_erroneous_end_tag_name] = true,
2204    [ts_external_token_SLASH_GT] = true,
2205    [ts_external_token__implicit_end_tag] = true,
2206    [ts_external_token_raw_text] = true,
2207    [ts_external_token_comment] = true,
2208  },
2209  [2] = {
2210    [ts_external_token_comment] = true,
2211  },
2212  [3] = {
2213    [ts_external_token__implicit_end_tag] = true,
2214    [ts_external_token_comment] = true,
2215  },
2216  [4] = {
2217    [ts_external_token_SLASH_GT] = true,
2218    [ts_external_token_comment] = true,
2219  },
2220  [5] = {
2221    [ts_external_token__start_tag_name] = true,
2222    [ts_external_token__script_start_tag_name] = true,
2223    [ts_external_token__style_start_tag_name] = true,
2224    [ts_external_token_comment] = true,
2225  },
2226  [6] = {
2227    [ts_external_token_raw_text] = true,
2228    [ts_external_token_comment] = true,
2229  },
2230  [7] = {
2231    [ts_external_token__end_tag_name] = true,
2232    [ts_external_token_erroneous_end_tag_name] = true,
2233    [ts_external_token_comment] = true,
2234  },
2235  [8] = {
2236    [ts_external_token_erroneous_end_tag_name] = true,
2237    [ts_external_token_comment] = true,
2238  },
2239  [9] = {
2240    [ts_external_token__end_tag_name] = true,
2241    [ts_external_token_comment] = true,
2242  },
2243};
2244
2245#ifdef __cplusplus
2246extern "C" {
2247#endif
2248void *tree_sitter_html_external_scanner_create(void);
2249void tree_sitter_html_external_scanner_destroy(void *);
2250bool tree_sitter_html_external_scanner_scan(void *, TSLexer *, const bool *);
2251unsigned tree_sitter_html_external_scanner_serialize(void *, char *);
2252void tree_sitter_html_external_scanner_deserialize(void *, const char *, unsigned);
2253
2254#ifdef TREE_SITTER_HIDE_SYMBOLS
2255#define TS_PUBLIC
2256#elif defined(_WIN32)
2257#define TS_PUBLIC __declspec(dllexport)
2258#else
2259#define TS_PUBLIC __attribute__((visibility("default")))
2260#endif
2261
2262TS_PUBLIC const TSLanguage *tree_sitter_html(void) {
2263  static const TSLanguage language = {
2264    .version = LANGUAGE_VERSION,
2265    .symbol_count = SYMBOL_COUNT,
2266    .alias_count = ALIAS_COUNT,
2267    .token_count = TOKEN_COUNT,
2268    .external_token_count = EXTERNAL_TOKEN_COUNT,
2269    .state_count = STATE_COUNT,
2270    .large_state_count = LARGE_STATE_COUNT,
2271    .production_id_count = PRODUCTION_ID_COUNT,
2272    .field_count = FIELD_COUNT,
2273    .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
2274    .parse_table = &ts_parse_table[0][0],
2275    .small_parse_table = ts_small_parse_table,
2276    .small_parse_table_map = ts_small_parse_table_map,
2277    .parse_actions = ts_parse_actions,
2278    .symbol_names = ts_symbol_names,
2279    .symbol_metadata = ts_symbol_metadata,
2280    .public_symbol_map = ts_symbol_map,
2281    .alias_map = ts_non_terminal_alias_map,
2282    .alias_sequences = &ts_alias_sequences[0][0],
2283    .lex_modes = ts_lex_modes,
2284    .lex_fn = ts_lex,
2285    .external_scanner = {
2286      &ts_external_scanner_states[0][0],
2287      ts_external_scanner_symbol_map,
2288      tree_sitter_html_external_scanner_create,
2289      tree_sitter_html_external_scanner_destroy,
2290      tree_sitter_html_external_scanner_scan,
2291      tree_sitter_html_external_scanner_serialize,
2292      tree_sitter_html_external_scanner_deserialize,
2293    },
2294    .primary_state_ids = ts_primary_state_ids,
2295  };
2296  return &language;
2297}
2298#ifdef __cplusplus
2299}
2300#endif