From e67462999304772a172e8cf8f3a7e04beca351b6 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Fri, 9 Dec 2022 12:34:42 +0300 Subject: [PATCH] add attributes for container --- grammar.js | 40 +- src/grammar.json | 233 +- src/node-types.json | 4 - src/parser.c | 2739 ++++++++++--------- test/corpus/attributes.txt | 112 + test/corpus/shape.txt | 26 - test/highlight/{keyword.d2 => attribute.d2} | 2 +- tree-sitter-d2.wasm | Bin 25891 -> 25898 bytes 8 files changed, 1605 insertions(+), 1551 deletions(-) rename test/highlight/{keyword.d2 => attribute.d2} (95%) diff --git a/grammar.js b/grammar.js index e9bad38..bd702d7 100644 --- a/grammar.js +++ b/grammar.js @@ -5,8 +5,6 @@ const PREC = { CONTAINER: 2, CONNECTION: 2, SHAPE: 3, - CONTAINER_BLOCK: 4, - SHAPE_BLOCK: 4, IDENTIFIER: 0, ARROW: 0, ATTRIBUTE: 0, @@ -23,10 +21,7 @@ module.exports = grammar({ word: ($) => $._identifier, - conflicts: ($) => [ - [$._connection_path, $.container], - [$._container_block_definition, $._shape_block_definition], - ], + conflicts: ($) => [[$._connection_path, $.container]], rules: { source_file: ($) => repeat($._root_definition), @@ -82,15 +77,15 @@ module.exports = grammar({ ), _container_block: ($) => - prec( - PREC.CONTAINER, - seq("{", repeat($._container_block_definition), "}") - ), + seq("{", repeat($._container_block_definition), "}"), _container_block_definition: ($) => - prec( - PREC.CONTAINER_BLOCK, - choice($._eol, seq(choice($.shape, $.container, $.connection), $._end)) + choice( + $._eol, + seq( + choice($.shape, $.container, $.connection, $._shape_attribute), + $._end + ) ), // shapes @@ -103,10 +98,7 @@ module.exports = grammar({ optional( choice( seq($.dot, alias($._style_attribute, $.attribute)), - seq( - optional(seq($._colon, optional($.label))), - optional(seq(alias($._shape_block, $.block))) - ) + seq(optional(seq($._colon, optional($.label)))) ) ) ) @@ -117,11 +109,6 @@ module.exports = grammar({ _identifier: ($) => token(prec(PREC.IDENTIFIER, /\-?([\w\d]+|([\w\d]+( +|\-)[\w\d]+)+)/)), - _shape_block: ($) => - prec(PREC.SHAPE, seq("{", repeat($._shape_block_definition), "}")), - - _shape_block_definition: ($) => prec(PREC.SHAPE_BLOCK, choice($._eol)), - // attributes _root_attribute: ($) => @@ -145,6 +132,15 @@ module.exports = grammar({ ) ), + _shape_attribute: ($) => + choice( + alias($._base_shape_attribute, $.attribute), + alias($._style_attribute, $.attribute) + ), + + _base_shape_attribute: ($) => + seq(alias($._shape_attr_key, $.attr_key), $._colon, $.attr_value), + _shape_attr_key: ($) => prec( PREC.ATTRIBUTE_KEY, diff --git a/src/grammar.json b/src/grammar.json index 6e0a6fd..45a4ba0 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -240,67 +240,63 @@ } }, "_container_block": { - "type": "PREC", - "value": 2, - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "_container_block_definition" - } - }, - { - "type": "STRING", - "value": "}" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_container_block_definition" } - ] - } + }, + { + "type": "STRING", + "value": "}" + } + ] }, "_container_block_definition": { - "type": "PREC", - "value": 4, - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "_eol" - }, - { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "shape" - }, - { - "type": "SYMBOL", - "name": "container" - }, - { - "type": "SYMBOL", - "name": "connection" - } - ] - }, - { - "type": "SYMBOL", - "name": "_end" - } - ] - } - ] - } + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_eol" + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "shape" + }, + { + "type": "SYMBOL", + "name": "container" + }, + { + "type": "SYMBOL", + "name": "connection" + }, + { + "type": "SYMBOL", + "name": "_shape_attribute" + } + ] + }, + { + "type": "SYMBOL", + "name": "_end" + } + ] + } + ] }, "shape": { "type": "PREC", @@ -367,28 +363,6 @@ "type": "BLANK" } ] - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "_shape_block" - }, - "named": true, - "value": "block" - } - ] - }, - { - "type": "BLANK" - } - ] } ] } @@ -443,43 +417,6 @@ } } }, - "_shape_block": { - "type": "PREC", - "value": 3, - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "_shape_block_definition" - } - }, - { - "type": "STRING", - "value": "}" - } - ] - } - }, - "_shape_block_definition": { - "type": "PREC", - "value": 4, - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "_eol" - } - ] - } - }, "_root_attribute": { "type": "SEQ", "members": [ @@ -549,6 +486,51 @@ } ] }, + "_shape_attribute": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_base_shape_attribute" + }, + "named": true, + "value": "attribute" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_style_attribute" + }, + "named": true, + "value": "attribute" + } + ] + }, + "_base_shape_attribute": { + "type": "SEQ", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_shape_attr_key" + }, + "named": true, + "value": "attr_key" + }, + { + "type": "SYMBOL", + "name": "_colon" + }, + { + "type": "SYMBOL", + "name": "attr_value" + } + ] + }, "_shape_attr_key": { "type": "PREC", "value": 0, @@ -982,17 +964,8 @@ "type": "PREC", "value": -1, "content": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "\n" - }, - { - "type": "STRING", - "value": "\u0000" - } - ] + "type": "STRING", + "value": "\n" } } }, @@ -1029,10 +1002,6 @@ [ "_connection_path", "container" - ], - [ - "_container_block_definition", - "_shape_block_definition" ] ], "precedences": [], diff --git a/src/node-types.json b/src/node-types.json index 3a738c0..810cf29 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -200,10 +200,6 @@ "type": "attribute", "named": true }, - { - "type": "block", - "named": true - }, { "type": "dot", "named": true diff --git a/src/parser.c b/src/parser.c index c72ab26..ab92f90 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,7 +6,7 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 81 +#define STATE_COUNT 79 #define LARGE_STATE_COUNT 4 #define SYMBOL_COUNT 73 #define ALIAS_COUNT 1 @@ -66,25 +66,25 @@ enum { sym__container_block_definition = 47, sym_shape = 48, sym_shape_key = 49, - sym__shape_block = 50, - sym__shape_block_definition = 51, - sym__root_attribute = 52, - sym__root_attr_key = 53, - sym__style_attribute = 54, - sym__style_attribute_block = 55, - sym__inner_style_attribute = 56, - sym__style_attr_key = 57, - sym__common_style_attr_key = 58, - sym_label = 59, - sym_attr_value = 60, - sym__colon = 61, - sym_string = 62, - sym__end = 63, - aux_sym_source_file_repeat1 = 64, - aux_sym_connection_repeat1 = 65, - aux_sym__connection_path_repeat1 = 66, - aux_sym__container_block_repeat1 = 67, - aux_sym__shape_block_repeat1 = 68, + sym__root_attribute = 50, + sym__root_attr_key = 51, + sym__shape_attribute = 52, + sym__base_shape_attribute = 53, + sym__shape_attr_key = 54, + sym__style_attribute = 55, + sym__style_attribute_block = 56, + sym__inner_style_attribute = 57, + sym__style_attr_key = 58, + sym__common_style_attr_key = 59, + sym_label = 60, + sym_attr_value = 61, + sym__colon = 62, + sym_string = 63, + sym__end = 64, + aux_sym_source_file_repeat1 = 65, + aux_sym_connection_repeat1 = 66, + aux_sym__connection_path_repeat1 = 67, + aux_sym__container_block_repeat1 = 68, aux_sym__style_attribute_block_repeat1 = 69, aux_sym_string_repeat1 = 70, aux_sym_string_repeat2 = 71, @@ -143,10 +143,11 @@ static const char * const ts_symbol_names[] = { [sym__container_block_definition] = "_container_block_definition", [sym_shape] = "shape", [sym_shape_key] = "shape_key", - [sym__shape_block] = "block", - [sym__shape_block_definition] = "_shape_block_definition", [sym__root_attribute] = "attribute", [sym__root_attr_key] = "attr_key", + [sym__shape_attribute] = "_shape_attribute", + [sym__base_shape_attribute] = "attribute", + [sym__shape_attr_key] = "attr_key", [sym__style_attribute] = "attribute", [sym__style_attribute_block] = "block", [sym__inner_style_attribute] = "attribute", @@ -161,7 +162,6 @@ static const char * const ts_symbol_names[] = { [aux_sym_connection_repeat1] = "connection_repeat1", [aux_sym__connection_path_repeat1] = "_connection_path_repeat1", [aux_sym__container_block_repeat1] = "_container_block_repeat1", - [aux_sym__shape_block_repeat1] = "_shape_block_repeat1", [aux_sym__style_attribute_block_repeat1] = "_style_attribute_block_repeat1", [aux_sym_string_repeat1] = "string_repeat1", [aux_sym_string_repeat2] = "string_repeat2", @@ -220,10 +220,11 @@ static const TSSymbol ts_symbol_map[] = { [sym__container_block_definition] = sym__container_block_definition, [sym_shape] = sym_shape, [sym_shape_key] = sym_shape_key, - [sym__shape_block] = sym__container_block, - [sym__shape_block_definition] = sym__shape_block_definition, [sym__root_attribute] = sym__root_attribute, [sym__root_attr_key] = anon_sym_style, + [sym__shape_attribute] = sym__shape_attribute, + [sym__base_shape_attribute] = sym__root_attribute, + [sym__shape_attr_key] = anon_sym_style, [sym__style_attribute] = sym__root_attribute, [sym__style_attribute_block] = sym__container_block, [sym__inner_style_attribute] = sym__root_attribute, @@ -238,7 +239,6 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_connection_repeat1] = aux_sym_connection_repeat1, [aux_sym__connection_path_repeat1] = aux_sym__connection_path_repeat1, [aux_sym__container_block_repeat1] = aux_sym__container_block_repeat1, - [aux_sym__shape_block_repeat1] = aux_sym__shape_block_repeat1, [aux_sym__style_attribute_block_repeat1] = aux_sym__style_attribute_block_repeat1, [aux_sym_string_repeat1] = aux_sym_string_repeat1, [aux_sym_string_repeat2] = aux_sym_string_repeat2, @@ -447,14 +447,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__shape_block] = { - .visible = true, - .named = true, - }, - [sym__shape_block_definition] = { - .visible = false, - .named = true, - }, [sym__root_attribute] = { .visible = true, .named = true, @@ -463,6 +455,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__shape_attribute] = { + .visible = false, + .named = true, + }, + [sym__base_shape_attribute] = { + .visible = true, + .named = true, + }, + [sym__shape_attr_key] = { + .visible = true, + .named = true, + }, [sym__style_attribute] = { .visible = true, .named = true, @@ -519,10 +523,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym__shape_block_repeat1] = { - .visible = false, - .named = false, - }, [aux_sym__style_attribute_block_repeat1] = { .visible = false, .named = false, @@ -591,10 +591,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [22] = 22, [23] = 23, [24] = 24, - [25] = 25, + [25] = 21, [26] = 26, [27] = 27, - [28] = 21, + [28] = 28, [29] = 29, [30] = 30, [31] = 31, @@ -645,8 +645,6 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [76] = 76, [77] = 77, [78] = 78, - [79] = 79, - [80] = 80, }; static inline bool aux_sym_string_token2_character_set_1(int32_t c) { @@ -689,8 +687,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { switch (state) { case 0: if (eof) ADVANCE(86); - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + if (lookahead == '\n') ADVANCE(194); if (lookahead == '"') ADVANCE(187); if (lookahead == '#') ADVANCE(193); if (lookahead == '\'') ADVANCE(184); @@ -699,7 +696,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '3') ADVANCE(93); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); - if (lookahead == '<') ADVANCE(5); + if (lookahead == '<') ADVANCE(11); if (lookahead == '`') ADVANCE(190); if (lookahead == 'a') ADVANCE(122); if (lookahead == 'b') ADVANCE(123); @@ -716,289 +713,27 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('_' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); case 1: - if (lookahead == ' ') ADVANCE(1); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); - END_STATE(); - case 2: - if (lookahead == '"') ADVANCE(187); - if (lookahead == '#') ADVANCE(189); - if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(188); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(189); - END_STATE(); - case 3: - if (lookahead == '#') ADVANCE(186); - if (lookahead == '\'') ADVANCE(184); - if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(185); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(186); - END_STATE(); - case 4: - if (lookahead == '#') ADVANCE(192); - if (lookahead == '`') ADVANCE(190); - if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(191); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(192); - END_STATE(); - case 5: - if (lookahead == '-') ADVANCE(181); - END_STATE(); - case 6: - if (lookahead == '-') ADVANCE(181); - if (lookahead == '>') ADVANCE(180); - END_STATE(); - case 7: - if (lookahead == '-') ADVANCE(181); - if (lookahead == '>') ADVANCE(180); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); - END_STATE(); - case 8: - if (lookahead == '-') ADVANCE(16); - END_STATE(); - case 9: - if (lookahead == '-') ADVANCE(63); - END_STATE(); - case 10: - if (lookahead == 'a') ADVANCE(17); - END_STATE(); - case 11: - if (lookahead == 'a') ADVANCE(64); - END_STATE(); - case 12: - if (lookahead == 'a') ADVANCE(22); - END_STATE(); - case 13: - if (lookahead == 'a') ADVANCE(70); - END_STATE(); - case 14: - if (lookahead == 'a') ADVANCE(25); - END_STATE(); - case 15: - if (lookahead == 'c') ADVANCE(150); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); - END_STATE(); - case 16: - if (lookahead == 'c') ADVANCE(55); - END_STATE(); - case 17: - if (lookahead == 'c') ADVANCE(38); - END_STATE(); - case 18: - if (lookahead == 'd') ADVANCE(152); - END_STATE(); - case 19: - if (lookahead == 'd') ADVANCE(28); - END_STATE(); - case 20: - if (lookahead == 'd') ADVANCE(172); - END_STATE(); - case 21: - if (lookahead == 'd') ADVANCE(147); - if (lookahead == 'w') ADVANCE(149); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); - END_STATE(); - case 22: - if (lookahead == 'd') ADVANCE(52); - END_STATE(); - case 23: - if (lookahead == 'd') ADVANCE(11); - if (lookahead == 'w') ADVANCE(39); - END_STATE(); - case 24: - if (lookahead == 'd') ADVANCE(68); - END_STATE(); - case 25: - if (lookahead == 'd') ADVANCE(35); - END_STATE(); - case 26: - if (lookahead == 'e') ADVANCE(159); - END_STATE(); - case 27: - if (lookahead == 'e') ADVANCE(170); - END_STATE(); - case 28: - if (lookahead == 'e') ADVANCE(62); - END_STATE(); - case 29: - if (lookahead == 'e') ADVANCE(20); - END_STATE(); - case 30: - if (lookahead == 'h') ADVANCE(162); - END_STATE(); - case 31: - if (lookahead == 'h') ADVANCE(160); - END_STATE(); - case 32: - if (lookahead == 'h') ADVANCE(12); - if (lookahead == 't') ADVANCE(61); - END_STATE(); - case 33: - if (lookahead == 'i') ADVANCE(44); - if (lookahead == 'o') ADVANCE(48); - END_STATE(); - case 34: - if (lookahead == 'i') ADVANCE(47); - END_STATE(); - case 35: - if (lookahead == 'i') ADVANCE(72); - END_STATE(); - case 36: - if (lookahead == 'i') ADVANCE(57); - END_STATE(); - case 37: - if (lookahead == 'i') ADVANCE(49); - END_STATE(); - case 38: - if (lookahead == 'i') ADVANCE(66); - END_STATE(); - case 39: - if (lookahead == 'i') ADVANCE(24); - END_STATE(); - case 40: - if (lookahead == 'k') ADVANCE(174); - END_STATE(); - case 41: - if (lookahead == 'k') ADVANCE(26); - END_STATE(); - case 42: - if (lookahead == 'l') ADVANCE(156); - END_STATE(); - case 43: - if (lookahead == 'l') ADVANCE(69); - END_STATE(); - case 44: - if (lookahead == 'l') ADVANCE(42); - END_STATE(); - case 45: - if (lookahead == 'l') ADVANCE(27); - END_STATE(); - case 46: - if (lookahead == 'l') ADVANCE(54); - END_STATE(); - case 47: - if (lookahead == 'm') ADVANCE(13); - END_STATE(); - case 48: - if (lookahead == 'n') ADVANCE(67); - END_STATE(); - case 49: - if (lookahead == 'n') ADVANCE(40); - END_STATE(); - case 50: - if (lookahead == 'n') ADVANCE(34); - END_STATE(); - case 51: - if (lookahead == 'o') ADVANCE(60); - END_STATE(); - case 52: - if (lookahead == 'o') ADVANCE(73); - END_STATE(); - case 53: - if (lookahead == 'o') ADVANCE(41); - END_STATE(); - case 54: - if (lookahead == 'o') ADVANCE(59); - END_STATE(); - case 55: - if (lookahead == 'o') ADVANCE(46); - END_STATE(); - case 56: - if (lookahead == 'p') ADVANCE(10); - END_STATE(); - case 57: - if (lookahead == 'p') ADVANCE(45); - END_STATE(); - case 58: - if (lookahead == 'r') ADVANCE(148); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); - END_STATE(); - case 59: - if (lookahead == 'r') ADVANCE(166); - END_STATE(); - case 60: - if (lookahead == 'r') ADVANCE(19); - END_STATE(); - case 61: - if (lookahead == 'r') ADVANCE(53); - END_STATE(); - case 62: - if (lookahead == 'r') ADVANCE(9); - END_STATE(); - case 63: - if (lookahead == 'r') ADVANCE(14); - END_STATE(); - case 64: - if (lookahead == 's') ADVANCE(30); - END_STATE(); - case 65: - if (lookahead == 's') ADVANCE(164); - END_STATE(); - case 66: - if (lookahead == 't') ADVANCE(74); - END_STATE(); - case 67: - if (lookahead == 't') ADVANCE(8); - END_STATE(); - case 68: - if (lookahead == 't') ADVANCE(31); - END_STATE(); - case 69: - if (lookahead == 't') ADVANCE(36); - END_STATE(); - case 70: - if (lookahead == 't') ADVANCE(29); - END_STATE(); - case 71: - if (lookahead == 'u') ADVANCE(43); - END_STATE(); - case 72: - if (lookahead == 'u') ADVANCE(65); - END_STATE(); - case 73: - if (lookahead == 'w') ADVANCE(168); - END_STATE(); - case 74: - if (lookahead == 'y') ADVANCE(154); - END_STATE(); - case 75: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + if (lookahead == '\n') ADVANCE(194); if (lookahead == '"') ADVANCE(187); if (lookahead == '#') ADVANCE(193); if (lookahead == '\'') ADVANCE(184); if (lookahead == '-') ADVANCE(81); if (lookahead == '`') ADVANCE(190); if (lookahead == '}') ADVANCE(88); - if (sym__eol_character_set_1(lookahead)) SKIP(75) + if (sym__eol_character_set_1(lookahead)) SKIP(1) if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(144); END_STATE(); - case 76: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + case 2: + if (lookahead == '\n') ADVANCE(194); if (lookahead == '"') ADVANCE(187); if (lookahead == '#') ADVANCE(193); if (lookahead == '\'') ADVANCE(184); if (lookahead == ';') ADVANCE(195); if (lookahead == '`') ADVANCE(190); if (lookahead == '{') ADVANCE(87); - if (sym__eol_character_set_1(lookahead)) SKIP(76) + if (sym__eol_character_set_1(lookahead)) SKIP(2) if (lookahead == '!' || lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || @@ -1006,68 +741,324 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(183); END_STATE(); - case 77: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + case 3: + if (lookahead == '\n') ADVANCE(194); if (lookahead == '#') ADVANCE(193); if (lookahead == '-') ADVANCE(177); if (lookahead == '.') ADVANCE(182); - if (lookahead == '3') ADVANCE(18); + if (lookahead == '3') ADVANCE(24); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); - if (lookahead == '<') ADVANCE(5); - if (lookahead == 'a') ADVANCE(50); - if (lookahead == 'b') ADVANCE(51); - if (lookahead == 'f') ADVANCE(33); - if (lookahead == 'l') ADVANCE(37); - if (lookahead == 'm') ADVANCE(71); - if (lookahead == 'o') ADVANCE(56); - if (lookahead == 's') ADVANCE(32); + if (lookahead == '<') ADVANCE(11); + if (lookahead == 'a') ADVANCE(56); + if (lookahead == 'b') ADVANCE(57); + if (lookahead == 'f') ADVANCE(39); + if (lookahead == 'l') ADVANCE(43); + if (lookahead == 'm') ADVANCE(77); + if (lookahead == 'o') ADVANCE(62); + if (lookahead == 's') ADVANCE(38); if (lookahead == '{') ADVANCE(87); if (lookahead == '}') ADVANCE(88); - if (sym__eol_character_set_1(lookahead)) SKIP(78) + if (sym__eol_character_set_1(lookahead)) SKIP(4) END_STATE(); - case 78: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + case 4: + if (lookahead == '\n') ADVANCE(194); if (lookahead == '#') ADVANCE(193); - if (lookahead == '-') ADVANCE(6); + if (lookahead == '-') ADVANCE(12); if (lookahead == '.') ADVANCE(182); - if (lookahead == '3') ADVANCE(18); + if (lookahead == '3') ADVANCE(24); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); - if (lookahead == '<') ADVANCE(5); - if (lookahead == 'a') ADVANCE(50); - if (lookahead == 'b') ADVANCE(51); - if (lookahead == 'f') ADVANCE(33); - if (lookahead == 'l') ADVANCE(37); - if (lookahead == 'm') ADVANCE(71); - if (lookahead == 'o') ADVANCE(56); - if (lookahead == 's') ADVANCE(32); + if (lookahead == '<') ADVANCE(11); + if (lookahead == 'a') ADVANCE(56); + if (lookahead == 'b') ADVANCE(57); + if (lookahead == 'f') ADVANCE(39); + if (lookahead == 'l') ADVANCE(43); + if (lookahead == 'm') ADVANCE(77); + if (lookahead == 'o') ADVANCE(62); + if (lookahead == 's') ADVANCE(38); if (lookahead == '{') ADVANCE(87); if (lookahead == '}') ADVANCE(88); - if (sym__eol_character_set_1(lookahead)) SKIP(78) + if (sym__eol_character_set_1(lookahead)) SKIP(4) END_STATE(); - case 79: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + case 5: + if (lookahead == '\n') ADVANCE(194); if (lookahead == '#') ADVANCE(193); if (lookahead == '-') ADVANCE(176); if (lookahead == '.') ADVANCE(182); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); if (lookahead == '{') ADVANCE(87); - if (sym__eol_character_set_1(lookahead)) SKIP(80) + if (sym__eol_character_set_1(lookahead)) SKIP(6) END_STATE(); - case 80: - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + case 6: + if (lookahead == '\n') ADVANCE(194); if (lookahead == '#') ADVANCE(193); if (lookahead == '.') ADVANCE(182); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); if (lookahead == '{') ADVANCE(87); - if (sym__eol_character_set_1(lookahead)) SKIP(80) + if (sym__eol_character_set_1(lookahead)) SKIP(6) + END_STATE(); + case 7: + if (lookahead == ' ') ADVANCE(7); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 8: + if (lookahead == '"') ADVANCE(187); + if (lookahead == '#') ADVANCE(189); + if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(188); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(189); + END_STATE(); + case 9: + if (lookahead == '#') ADVANCE(186); + if (lookahead == '\'') ADVANCE(184); + if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(185); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(186); + END_STATE(); + case 10: + if (lookahead == '#') ADVANCE(192); + if (lookahead == '`') ADVANCE(190); + if (aux_sym_string_token2_character_set_1(lookahead)) ADVANCE(191); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(192); + END_STATE(); + case 11: + if (lookahead == '-') ADVANCE(181); + END_STATE(); + case 12: + if (lookahead == '-') ADVANCE(181); + if (lookahead == '>') ADVANCE(180); + END_STATE(); + case 13: + if (lookahead == '-') ADVANCE(181); + if (lookahead == '>') ADVANCE(180); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(144); + END_STATE(); + case 14: + if (lookahead == '-') ADVANCE(22); + END_STATE(); + case 15: + if (lookahead == '-') ADVANCE(69); + END_STATE(); + case 16: + if (lookahead == 'a') ADVANCE(23); + END_STATE(); + case 17: + if (lookahead == 'a') ADVANCE(70); + END_STATE(); + case 18: + if (lookahead == 'a') ADVANCE(28); + END_STATE(); + case 19: + if (lookahead == 'a') ADVANCE(76); + END_STATE(); + case 20: + if (lookahead == 'a') ADVANCE(31); + END_STATE(); + case 21: + if (lookahead == 'c') ADVANCE(150); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 22: + if (lookahead == 'c') ADVANCE(61); + END_STATE(); + case 23: + if (lookahead == 'c') ADVANCE(44); + END_STATE(); + case 24: + if (lookahead == 'd') ADVANCE(152); + END_STATE(); + case 25: + if (lookahead == 'd') ADVANCE(34); + END_STATE(); + case 26: + if (lookahead == 'd') ADVANCE(172); + END_STATE(); + case 27: + if (lookahead == 'd') ADVANCE(147); + if (lookahead == 'w') ADVANCE(149); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 28: + if (lookahead == 'd') ADVANCE(58); + END_STATE(); + case 29: + if (lookahead == 'd') ADVANCE(17); + if (lookahead == 'w') ADVANCE(45); + END_STATE(); + case 30: + if (lookahead == 'd') ADVANCE(74); + END_STATE(); + case 31: + if (lookahead == 'd') ADVANCE(41); + END_STATE(); + case 32: + if (lookahead == 'e') ADVANCE(159); + END_STATE(); + case 33: + if (lookahead == 'e') ADVANCE(170); + END_STATE(); + case 34: + if (lookahead == 'e') ADVANCE(68); + END_STATE(); + case 35: + if (lookahead == 'e') ADVANCE(26); + END_STATE(); + case 36: + if (lookahead == 'h') ADVANCE(162); + END_STATE(); + case 37: + if (lookahead == 'h') ADVANCE(160); + END_STATE(); + case 38: + if (lookahead == 'h') ADVANCE(18); + if (lookahead == 't') ADVANCE(67); + END_STATE(); + case 39: + if (lookahead == 'i') ADVANCE(50); + if (lookahead == 'o') ADVANCE(54); + END_STATE(); + case 40: + if (lookahead == 'i') ADVANCE(53); + END_STATE(); + case 41: + if (lookahead == 'i') ADVANCE(78); + END_STATE(); + case 42: + if (lookahead == 'i') ADVANCE(63); + END_STATE(); + case 43: + if (lookahead == 'i') ADVANCE(55); + END_STATE(); + case 44: + if (lookahead == 'i') ADVANCE(72); + END_STATE(); + case 45: + if (lookahead == 'i') ADVANCE(30); + END_STATE(); + case 46: + if (lookahead == 'k') ADVANCE(174); + END_STATE(); + case 47: + if (lookahead == 'k') ADVANCE(32); + END_STATE(); + case 48: + if (lookahead == 'l') ADVANCE(156); + END_STATE(); + case 49: + if (lookahead == 'l') ADVANCE(75); + END_STATE(); + case 50: + if (lookahead == 'l') ADVANCE(48); + END_STATE(); + case 51: + if (lookahead == 'l') ADVANCE(33); + END_STATE(); + case 52: + if (lookahead == 'l') ADVANCE(60); + END_STATE(); + case 53: + if (lookahead == 'm') ADVANCE(19); + END_STATE(); + case 54: + if (lookahead == 'n') ADVANCE(73); + END_STATE(); + case 55: + if (lookahead == 'n') ADVANCE(46); + END_STATE(); + case 56: + if (lookahead == 'n') ADVANCE(40); + END_STATE(); + case 57: + if (lookahead == 'o') ADVANCE(66); + END_STATE(); + case 58: + if (lookahead == 'o') ADVANCE(79); + END_STATE(); + case 59: + if (lookahead == 'o') ADVANCE(47); + END_STATE(); + case 60: + if (lookahead == 'o') ADVANCE(65); + END_STATE(); + case 61: + if (lookahead == 'o') ADVANCE(52); + END_STATE(); + case 62: + if (lookahead == 'p') ADVANCE(16); + END_STATE(); + case 63: + if (lookahead == 'p') ADVANCE(51); + END_STATE(); + case 64: + if (lookahead == 'r') ADVANCE(148); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(151); + END_STATE(); + case 65: + if (lookahead == 'r') ADVANCE(166); + END_STATE(); + case 66: + if (lookahead == 'r') ADVANCE(25); + END_STATE(); + case 67: + if (lookahead == 'r') ADVANCE(59); + END_STATE(); + case 68: + if (lookahead == 'r') ADVANCE(15); + END_STATE(); + case 69: + if (lookahead == 'r') ADVANCE(20); + END_STATE(); + case 70: + if (lookahead == 's') ADVANCE(36); + END_STATE(); + case 71: + if (lookahead == 's') ADVANCE(164); + END_STATE(); + case 72: + if (lookahead == 't') ADVANCE(80); + END_STATE(); + case 73: + if (lookahead == 't') ADVANCE(14); + END_STATE(); + case 74: + if (lookahead == 't') ADVANCE(37); + END_STATE(); + case 75: + if (lookahead == 't') ADVANCE(42); + END_STATE(); + case 76: + if (lookahead == 't') ADVANCE(35); + END_STATE(); + case 77: + if (lookahead == 'u') ADVANCE(49); + END_STATE(); + case 78: + if (lookahead == 'u') ADVANCE(71); + END_STATE(); + case 79: + if (lookahead == 'w') ADVANCE(168); + END_STATE(); + case 80: + if (lookahead == 'y') ADVANCE(154); END_STATE(); case 81: if (('0' <= lookahead && lookahead <= '9') || @@ -1099,17 +1090,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 84: if (eof) ADVANCE(86); - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + if (lookahead == '\n') ADVANCE(194); if (lookahead == '"') ADVANCE(187); if (lookahead == '#') ADVANCE(193); if (lookahead == '\'') ADVANCE(184); - if (lookahead == '-') ADVANCE(7); + if (lookahead == '-') ADVANCE(13); if (lookahead == '.') ADVANCE(182); if (lookahead == '3') ADVANCE(93); if (lookahead == ':') ADVANCE(179); if (lookahead == ';') ADVANCE(195); - if (lookahead == '<') ADVANCE(5); + if (lookahead == '<') ADVANCE(11); if (lookahead == '`') ADVANCE(190); if (lookahead == 'a') ADVANCE(122); if (lookahead == 'b') ADVANCE(123); @@ -1127,8 +1117,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 85: if (eof) ADVANCE(86); - if (lookahead == 0 || - lookahead == '\n') ADVANCE(194); + if (lookahead == '\n') ADVANCE(194); if (lookahead == '"') ADVANCE(187); if (lookahead == '#') ADVANCE(193); if (lookahead == '\'') ADVANCE(184); @@ -1157,7 +1146,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 89: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'a') ADVANCE(92); if (('0' <= lookahead && lookahead <= '9') || @@ -1167,7 +1156,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 90: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'a') ADVANCE(96); if (('0' <= lookahead && lookahead <= '9') || @@ -1177,7 +1166,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 91: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'a') ADVANCE(139); if (('0' <= lookahead && lookahead <= '9') || @@ -1187,7 +1176,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 92: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'c') ADVANCE(111); if (('0' <= lookahead && lookahead <= '9') || @@ -1197,7 +1186,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 93: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(153); if (('0' <= lookahead && lookahead <= '9') || @@ -1207,7 +1196,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 94: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(101); if (('0' <= lookahead && lookahead <= '9') || @@ -1217,7 +1206,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 95: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(173); if (('0' <= lookahead && lookahead <= '9') || @@ -1227,7 +1216,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 96: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || @@ -1237,7 +1226,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 97: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(108); if (('0' <= lookahead && lookahead <= '9') || @@ -1247,7 +1236,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 98: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'd') ADVANCE(137); if (('0' <= lookahead && lookahead <= '9') || @@ -1257,7 +1246,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 99: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'e') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || @@ -1267,7 +1256,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 100: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'e') ADVANCE(171); if (('0' <= lookahead && lookahead <= '9') || @@ -1277,7 +1266,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 101: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'e') ADVANCE(132); if (('0' <= lookahead && lookahead <= '9') || @@ -1287,7 +1276,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 102: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'e') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || @@ -1297,7 +1286,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 103: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'h') ADVANCE(163); if (('0' <= lookahead && lookahead <= '9') || @@ -1307,7 +1296,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 104: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'h') ADVANCE(161); if (('0' <= lookahead && lookahead <= '9') || @@ -1317,7 +1306,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 105: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'h') ADVANCE(90); if (lookahead == 't') ADVANCE(131); @@ -1328,7 +1317,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 106: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(116); if (lookahead == 'o') ADVANCE(120); @@ -1339,7 +1328,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 107: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || @@ -1349,7 +1338,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 108: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(141); if (('0' <= lookahead && lookahead <= '9') || @@ -1359,7 +1348,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 109: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(128); if (('0' <= lookahead && lookahead <= '9') || @@ -1369,7 +1358,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 110: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(121); if (('0' <= lookahead && lookahead <= '9') || @@ -1379,7 +1368,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 111: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'i') ADVANCE(135); if (('0' <= lookahead && lookahead <= '9') || @@ -1389,7 +1378,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 112: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'k') ADVANCE(175); if (('0' <= lookahead && lookahead <= '9') || @@ -1399,7 +1388,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 113: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'k') ADVANCE(99); if (('0' <= lookahead && lookahead <= '9') || @@ -1409,7 +1398,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 114: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'l') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || @@ -1419,7 +1408,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 115: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'l') ADVANCE(138); if (('0' <= lookahead && lookahead <= '9') || @@ -1429,7 +1418,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 116: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'l') ADVANCE(114); if (('0' <= lookahead && lookahead <= '9') || @@ -1439,7 +1428,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 117: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'l') ADVANCE(100); if (('0' <= lookahead && lookahead <= '9') || @@ -1449,7 +1438,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 118: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'l') ADVANCE(126); if (('0' <= lookahead && lookahead <= '9') || @@ -1459,7 +1448,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 119: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'm') ADVANCE(91); if (('0' <= lookahead && lookahead <= '9') || @@ -1469,7 +1458,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 120: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'n') ADVANCE(136); if (('0' <= lookahead && lookahead <= '9') || @@ -1479,7 +1468,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 121: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'n') ADVANCE(112); if (('0' <= lookahead && lookahead <= '9') || @@ -1489,7 +1478,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 122: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'n') ADVANCE(107); if (('0' <= lookahead && lookahead <= '9') || @@ -1499,7 +1488,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 123: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'o') ADVANCE(130); if (('0' <= lookahead && lookahead <= '9') || @@ -1509,7 +1498,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 124: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'o') ADVANCE(142); if (('0' <= lookahead && lookahead <= '9') || @@ -1519,7 +1508,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 125: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'o') ADVANCE(113); if (('0' <= lookahead && lookahead <= '9') || @@ -1529,7 +1518,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 126: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'o') ADVANCE(129); if (('0' <= lookahead && lookahead <= '9') || @@ -1539,7 +1528,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 127: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'p') ADVANCE(89); if (('0' <= lookahead && lookahead <= '9') || @@ -1549,7 +1538,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 128: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'p') ADVANCE(117); if (('0' <= lookahead && lookahead <= '9') || @@ -1559,7 +1548,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 129: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'r') ADVANCE(167); if (('0' <= lookahead && lookahead <= '9') || @@ -1569,7 +1558,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 130: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'r') ADVANCE(94); if (('0' <= lookahead && lookahead <= '9') || @@ -1579,7 +1568,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 131: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'r') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || @@ -1589,7 +1578,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 132: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'r') ADVANCE(146); if (('0' <= lookahead && lookahead <= '9') || @@ -1599,7 +1588,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 133: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 's') ADVANCE(103); if (('0' <= lookahead && lookahead <= '9') || @@ -1609,7 +1598,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 134: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 's') ADVANCE(165); if (('0' <= lookahead && lookahead <= '9') || @@ -1619,7 +1608,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 135: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 't') ADVANCE(143); if (('0' <= lookahead && lookahead <= '9') || @@ -1629,7 +1618,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 136: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 't') ADVANCE(145); if (('0' <= lookahead && lookahead <= '9') || @@ -1639,7 +1628,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 137: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 't') ADVANCE(104); if (('0' <= lookahead && lookahead <= '9') || @@ -1649,7 +1638,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 138: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 't') ADVANCE(109); if (('0' <= lookahead && lookahead <= '9') || @@ -1659,7 +1648,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 139: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 't') ADVANCE(102); if (('0' <= lookahead && lookahead <= '9') || @@ -1669,7 +1658,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 140: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'u') ADVANCE(115); if (('0' <= lookahead && lookahead <= '9') || @@ -1679,7 +1668,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 141: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'u') ADVANCE(134); if (('0' <= lookahead && lookahead <= '9') || @@ -1689,7 +1678,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 142: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'w') ADVANCE(169); if (('0' <= lookahead && lookahead <= '9') || @@ -1699,7 +1688,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 143: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (lookahead == 'y') ADVANCE(155); if (('0' <= lookahead && lookahead <= '9') || @@ -1709,7 +1698,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 144: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1718,8 +1707,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 145: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); - if (lookahead == '-') ADVANCE(15); + if (lookahead == ' ') ADVANCE(7); + if (lookahead == '-') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -1727,8 +1716,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 146: ACCEPT_TOKEN(sym__identifier); - if (lookahead == ' ') ADVANCE(1); - if (lookahead == '-') ADVANCE(58); + if (lookahead == ' ') ADVANCE(7); + if (lookahead == '-') ADVANCE(64); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -1778,7 +1767,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 153: ACCEPT_TOKEN(anon_sym_3d); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1790,7 +1779,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 155: ACCEPT_TOKEN(anon_sym_opacity); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1802,7 +1791,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 157: ACCEPT_TOKEN(anon_sym_fill); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1811,8 +1800,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 158: ACCEPT_TOKEN(anon_sym_stroke); - if (lookahead == ' ') ADVANCE(1); - if (lookahead == '-') ADVANCE(21); + if (lookahead == ' ') ADVANCE(7); + if (lookahead == '-') ADVANCE(27); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -1820,14 +1809,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 159: ACCEPT_TOKEN(anon_sym_stroke); - if (lookahead == '-') ADVANCE(23); + if (lookahead == '-') ADVANCE(29); END_STATE(); case 160: ACCEPT_TOKEN(anon_sym_stroke_DASHwidth); END_STATE(); case 161: ACCEPT_TOKEN(anon_sym_stroke_DASHwidth); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1839,7 +1828,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 163: ACCEPT_TOKEN(anon_sym_stroke_DASHdash); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1851,7 +1840,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 165: ACCEPT_TOKEN(anon_sym_border_DASHradius); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1863,7 +1852,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 167: ACCEPT_TOKEN(anon_sym_font_DASHcolor); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1875,7 +1864,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 169: ACCEPT_TOKEN(anon_sym_shadow); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1887,7 +1876,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 171: ACCEPT_TOKEN(anon_sym_multiple); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1899,7 +1888,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 173: ACCEPT_TOKEN(anon_sym_animated); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -1911,7 +1900,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 175: ACCEPT_TOKEN(anon_sym_link); - if (lookahead == ' ') ADVANCE(1); + if (lookahead == ' ') ADVANCE(7); if (lookahead == '-') ADVANCE(82); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || @@ -2322,57 +2311,57 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1] = {.lex_state = 85}, [2] = {.lex_state = 85}, [3] = {.lex_state = 85}, - [4] = {.lex_state = 85}, - [5] = {.lex_state = 77}, - [6] = {.lex_state = 77}, - [7] = {.lex_state = 77}, - [8] = {.lex_state = 75}, - [9] = {.lex_state = 77}, - [10] = {.lex_state = 75}, - [11] = {.lex_state = 75}, - [12] = {.lex_state = 77}, - [13] = {.lex_state = 76}, - [14] = {.lex_state = 75}, - [15] = {.lex_state = 75}, - [16] = {.lex_state = 0}, - [17] = {.lex_state = 75}, - [18] = {.lex_state = 0}, - [19] = {.lex_state = 75}, - [20] = {.lex_state = 75}, - [21] = {.lex_state = 77}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 76}, - [24] = {.lex_state = 75}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 0}, - [27] = {.lex_state = 76}, - [28] = {.lex_state = 79}, + [4] = {.lex_state = 1}, + [5] = {.lex_state = 1}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 85}, + [8] = {.lex_state = 3}, + [9] = {.lex_state = 3}, + [10] = {.lex_state = 3}, + [11] = {.lex_state = 3}, + [12] = {.lex_state = 3}, + [13] = {.lex_state = 1}, + [14] = {.lex_state = 1}, + [15] = {.lex_state = 2}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 0}, + [18] = {.lex_state = 1}, + [19] = {.lex_state = 0}, + [20] = {.lex_state = 1}, + [21] = {.lex_state = 3}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 0}, + [24] = {.lex_state = 0}, + [25] = {.lex_state = 5}, + [26] = {.lex_state = 2}, + [27] = {.lex_state = 2}, + [28] = {.lex_state = 0}, [29] = {.lex_state = 0}, [30] = {.lex_state = 0}, - [31] = {.lex_state = 75}, - [32] = {.lex_state = 76}, + [31] = {.lex_state = 2}, + [32] = {.lex_state = 2}, [33] = {.lex_state = 0}, [34] = {.lex_state = 0}, [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 75}, + [36] = {.lex_state = 1}, + [37] = {.lex_state = 0}, [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.lex_state = 0}, - [41] = {.lex_state = 2}, - [42] = {.lex_state = 3}, - [43] = {.lex_state = 3}, + [39] = {.lex_state = 9}, + [40] = {.lex_state = 10}, + [41] = {.lex_state = 9}, + [42] = {.lex_state = 8}, + [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, - [45] = {.lex_state = 4}, - [46] = {.lex_state = 2}, + [45] = {.lex_state = 0}, + [46] = {.lex_state = 10}, [47] = {.lex_state = 0}, - [48] = {.lex_state = 2}, - [49] = {.lex_state = 3}, + [48] = {.lex_state = 8}, + [49] = {.lex_state = 8}, [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 4}, + [51] = {.lex_state = 9}, + [52] = {.lex_state = 10}, [53] = {.lex_state = 0}, - [54] = {.lex_state = 4}, + [54] = {.lex_state = 0}, [55] = {.lex_state = 0}, [56] = {.lex_state = 0}, [57] = {.lex_state = 0}, @@ -2397,8 +2386,6 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2442,19 +2429,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_SEMI] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(80), - [sym__root_definition] = STATE(2), - [sym_connection] = STATE(53), - [sym__connection_path] = STATE(63), - [sym_container] = STATE(53), - [sym_shape] = STATE(53), - [sym_shape_key] = STATE(16), - [sym__root_attribute] = STATE(53), - [sym__root_attr_key] = STATE(62), + [sym_source_file] = STATE(73), + [sym__root_definition] = STATE(3), + [sym_connection] = STATE(47), + [sym__connection_path] = STATE(62), + [sym_container] = STATE(47), + [sym_shape] = STATE(47), + [sym_shape_key] = STATE(17), + [sym__root_attribute] = STATE(47), + [sym__root_attr_key] = STATE(60), [sym__common_style_attr_key] = STATE(78), [sym_string] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(2), - [aux_sym__connection_path_repeat1] = STATE(20), + [aux_sym_source_file_repeat1] = STATE(3), + [aux_sym__connection_path_repeat1] = STATE(22), [ts_builtin_sym_end] = ACTIONS(5), [sym__identifier] = ACTIONS(7), [anon_sym_direction] = ACTIONS(9), @@ -2482,19 +2469,58 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__eol] = ACTIONS(21), }, [2] = { - [sym__root_definition] = STATE(3), - [sym_connection] = STATE(53), - [sym__connection_path] = STATE(63), - [sym_container] = STATE(53), - [sym_shape] = STATE(53), - [sym_shape_key] = STATE(16), - [sym__root_attribute] = STATE(53), - [sym__root_attr_key] = STATE(62), + [sym__root_definition] = STATE(2), + [sym_connection] = STATE(47), + [sym__connection_path] = STATE(62), + [sym_container] = STATE(47), + [sym_shape] = STATE(47), + [sym_shape_key] = STATE(17), + [sym__root_attribute] = STATE(47), + [sym__root_attr_key] = STATE(60), [sym__common_style_attr_key] = STATE(78), [sym_string] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(3), - [aux_sym__connection_path_repeat1] = STATE(20), + [aux_sym_source_file_repeat1] = STATE(2), + [aux_sym__connection_path_repeat1] = STATE(22), [ts_builtin_sym_end] = ACTIONS(23), + [sym__identifier] = ACTIONS(25), + [anon_sym_direction] = ACTIONS(28), + [anon_sym_shape] = ACTIONS(31), + [anon_sym_label] = ACTIONS(31), + [anon_sym_constraint] = ACTIONS(31), + [anon_sym_icon] = ACTIONS(31), + [anon_sym_style] = ACTIONS(31), + [anon_sym_opacity] = ACTIONS(34), + [anon_sym_fill] = ACTIONS(34), + [anon_sym_stroke] = ACTIONS(34), + [anon_sym_stroke_DASHwidth] = ACTIONS(34), + [anon_sym_stroke_DASHdash] = ACTIONS(34), + [anon_sym_border_DASHradius] = ACTIONS(34), + [anon_sym_font_DASHcolor] = ACTIONS(34), + [anon_sym_shadow] = ACTIONS(34), + [anon_sym_multiple] = ACTIONS(34), + [anon_sym_animated] = ACTIONS(34), + [anon_sym_link] = ACTIONS(34), + [sym__text_attr_key] = ACTIONS(31), + [anon_sym_SQUOTE] = ACTIONS(37), + [anon_sym_DQUOTE] = ACTIONS(40), + [anon_sym_BQUOTE] = ACTIONS(43), + [sym_line_comment] = ACTIONS(3), + [sym__eol] = ACTIONS(46), + }, + [3] = { + [sym__root_definition] = STATE(2), + [sym_connection] = STATE(47), + [sym__connection_path] = STATE(62), + [sym_container] = STATE(47), + [sym_shape] = STATE(47), + [sym_shape_key] = STATE(17), + [sym__root_attribute] = STATE(47), + [sym__root_attr_key] = STATE(60), + [sym__common_style_attr_key] = STATE(78), + [sym_string] = STATE(29), + [aux_sym_source_file_repeat1] = STATE(2), + [aux_sym__connection_path_repeat1] = STATE(22), + [ts_builtin_sym_end] = ACTIONS(49), [sym__identifier] = ACTIONS(7), [anon_sym_direction] = ACTIONS(9), [anon_sym_shape] = ACTIONS(11), @@ -2518,60 +2544,153 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DQUOTE] = ACTIONS(17), [anon_sym_BQUOTE] = ACTIONS(19), [sym_line_comment] = ACTIONS(3), - [sym__eol] = ACTIONS(25), - }, - [3] = { - [sym__root_definition] = STATE(3), - [sym_connection] = STATE(53), - [sym__connection_path] = STATE(63), - [sym_container] = STATE(53), - [sym_shape] = STATE(53), - [sym_shape_key] = STATE(16), - [sym__root_attribute] = STATE(53), - [sym__root_attr_key] = STATE(62), - [sym__common_style_attr_key] = STATE(78), - [sym_string] = STATE(29), - [aux_sym_source_file_repeat1] = STATE(3), - [aux_sym__connection_path_repeat1] = STATE(20), - [ts_builtin_sym_end] = ACTIONS(27), - [sym__identifier] = ACTIONS(29), - [anon_sym_direction] = ACTIONS(32), - [anon_sym_shape] = ACTIONS(35), - [anon_sym_label] = ACTIONS(35), - [anon_sym_constraint] = ACTIONS(35), - [anon_sym_icon] = ACTIONS(35), - [anon_sym_style] = ACTIONS(35), - [anon_sym_opacity] = ACTIONS(38), - [anon_sym_fill] = ACTIONS(38), - [anon_sym_stroke] = ACTIONS(38), - [anon_sym_stroke_DASHwidth] = ACTIONS(38), - [anon_sym_stroke_DASHdash] = ACTIONS(38), - [anon_sym_border_DASHradius] = ACTIONS(38), - [anon_sym_font_DASHcolor] = ACTIONS(38), - [anon_sym_shadow] = ACTIONS(38), - [anon_sym_multiple] = ACTIONS(38), - [anon_sym_animated] = ACTIONS(38), - [anon_sym_link] = ACTIONS(38), - [sym__text_attr_key] = ACTIONS(35), - [anon_sym_SQUOTE] = ACTIONS(41), - [anon_sym_DQUOTE] = ACTIONS(44), - [anon_sym_BQUOTE] = ACTIONS(47), - [sym_line_comment] = ACTIONS(3), - [sym__eol] = ACTIONS(50), + [sym__eol] = ACTIONS(51), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 3, + [0] = 16, ACTIONS(3), 1, sym_line_comment, - ACTIONS(53), 5, + ACTIONS(53), 1, + sym__identifier, + ACTIONS(56), 1, + anon_sym_RBRACE, + ACTIONS(61), 1, + anon_sym_style, + ACTIONS(64), 1, + anon_sym_SQUOTE, + ACTIONS(67), 1, + anon_sym_DQUOTE, + ACTIONS(70), 1, + anon_sym_BQUOTE, + ACTIONS(73), 1, + sym__eol, + STATE(17), 1, + sym_shape_key, + STATE(22), 1, + aux_sym__connection_path_repeat1, + STATE(29), 1, + sym_string, + STATE(62), 1, + sym__connection_path, + STATE(68), 1, + sym__shape_attr_key, + STATE(4), 2, + sym__container_block_definition, + aux_sym__container_block_repeat1, + ACTIONS(58), 6, + anon_sym_shape, + anon_sym_label, + anon_sym_constraint, + anon_sym_icon, + anon_sym_width, + anon_sym_height, + STATE(44), 6, + sym_connection, + sym_container, + sym_shape, + sym__shape_attribute, + sym__base_shape_attribute, + sym__style_attribute, + [60] = 16, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(76), 1, + anon_sym_RBRACE, + ACTIONS(80), 1, + anon_sym_style, + ACTIONS(82), 1, + sym__eol, + STATE(17), 1, + sym_shape_key, + STATE(22), 1, + aux_sym__connection_path_repeat1, + STATE(29), 1, + sym_string, + STATE(62), 1, + sym__connection_path, + STATE(68), 1, + sym__shape_attr_key, + STATE(6), 2, + sym__container_block_definition, + aux_sym__container_block_repeat1, + ACTIONS(78), 6, + anon_sym_shape, + anon_sym_label, + anon_sym_constraint, + anon_sym_icon, + anon_sym_width, + anon_sym_height, + STATE(44), 6, + sym_connection, + sym_container, + sym_shape, + sym__shape_attribute, + sym__base_shape_attribute, + sym__style_attribute, + [120] = 16, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(7), 1, + sym__identifier, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(80), 1, + anon_sym_style, + ACTIONS(84), 1, + anon_sym_RBRACE, + ACTIONS(86), 1, + sym__eol, + STATE(17), 1, + sym_shape_key, + STATE(22), 1, + aux_sym__connection_path_repeat1, + STATE(29), 1, + sym_string, + STATE(62), 1, + sym__connection_path, + STATE(68), 1, + sym__shape_attr_key, + STATE(4), 2, + sym__container_block_definition, + aux_sym__container_block_repeat1, + ACTIONS(78), 6, + anon_sym_shape, + anon_sym_label, + anon_sym_constraint, + anon_sym_icon, + anon_sym_width, + anon_sym_height, + STATE(44), 6, + sym_connection, + sym_container, + sym_shape, + sym__shape_attribute, + sym__base_shape_attribute, + sym__style_attribute, + [180] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(88), 5, ts_builtin_sym_end, anon_sym_SQUOTE, anon_sym_DQUOTE, anon_sym_BQUOTE, sym__eol, - ACTIONS(55), 19, + ACTIONS(90), 19, sym__identifier, anon_sym_direction, anon_sym_shape, @@ -2591,221 +2710,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_animated, anon_sym_link, sym__text_attr_key, - [32] = 10, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(57), 1, - anon_sym_RBRACE, - ACTIONS(59), 1, - anon_sym_3d, - ACTIONS(65), 1, - anon_sym_stroke, - ACTIONS(68), 1, - sym__eol, - STATE(5), 1, - aux_sym__style_attribute_block_repeat1, - STATE(50), 1, - sym__inner_style_attribute, - STATE(70), 1, - sym__style_attr_key, - STATE(76), 1, - sym__common_style_attr_key, - ACTIONS(62), 10, - anon_sym_opacity, - anon_sym_fill, - anon_sym_stroke_DASHwidth, - anon_sym_stroke_DASHdash, - anon_sym_border_DASHradius, - anon_sym_font_DASHcolor, - anon_sym_shadow, - anon_sym_multiple, - anon_sym_animated, - anon_sym_link, - [72] = 10, + [212] = 10, ACTIONS(3), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_stroke, - ACTIONS(71), 1, + ACTIONS(92), 1, anon_sym_RBRACE, - ACTIONS(73), 1, + ACTIONS(94), 1, anon_sym_3d, - ACTIONS(77), 1, - sym__eol, - STATE(5), 1, - aux_sym__style_attribute_block_repeat1, - STATE(50), 1, - sym__inner_style_attribute, - STATE(70), 1, - sym__style_attr_key, - STATE(76), 1, - sym__common_style_attr_key, - ACTIONS(75), 10, - anon_sym_opacity, - anon_sym_fill, - anon_sym_stroke_DASHwidth, - anon_sym_stroke_DASHdash, - anon_sym_border_DASHradius, - anon_sym_font_DASHcolor, - anon_sym_shadow, - anon_sym_multiple, - anon_sym_animated, - anon_sym_link, - [112] = 10, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(13), 1, - anon_sym_stroke, - ACTIONS(73), 1, - anon_sym_3d, - ACTIONS(79), 1, - anon_sym_RBRACE, - ACTIONS(81), 1, - sym__eol, - STATE(6), 1, - aux_sym__style_attribute_block_repeat1, - STATE(50), 1, - sym__inner_style_attribute, - STATE(70), 1, - sym__style_attr_key, - STATE(76), 1, - sym__common_style_attr_key, - ACTIONS(75), 10, - anon_sym_opacity, - anon_sym_fill, - anon_sym_stroke_DASHwidth, - anon_sym_stroke_DASHdash, - anon_sym_border_DASHradius, - anon_sym_font_DASHcolor, - anon_sym_shadow, - anon_sym_multiple, - anon_sym_animated, - anon_sym_link, - [152] = 14, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(15), 1, - anon_sym_SQUOTE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_BQUOTE, - ACTIONS(83), 1, - sym__identifier, - ACTIONS(85), 1, - anon_sym_RBRACE, - ACTIONS(87), 1, - sym__eol, - STATE(16), 1, - sym_shape_key, - STATE(20), 1, - aux_sym__connection_path_repeat1, - STATE(29), 1, - sym_string, - STATE(63), 1, - sym__connection_path, - STATE(10), 2, - sym__container_block_definition, - aux_sym__container_block_repeat1, - STATE(38), 2, - sym__shape_block_definition, - aux_sym__shape_block_repeat1, - STATE(44), 3, - sym_connection, - sym_container, - sym_shape, - [199] = 7, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(13), 1, - anon_sym_stroke, - ACTIONS(73), 1, - anon_sym_3d, - STATE(68), 1, - sym__inner_style_attribute, - STATE(70), 1, - sym__style_attr_key, - STATE(76), 1, - sym__common_style_attr_key, - ACTIONS(75), 10, - anon_sym_opacity, - anon_sym_fill, - anon_sym_stroke_DASHwidth, - anon_sym_stroke_DASHdash, - anon_sym_border_DASHradius, - anon_sym_font_DASHcolor, - anon_sym_shadow, - anon_sym_multiple, - anon_sym_animated, - anon_sym_link, - [230] = 13, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(15), 1, - anon_sym_SQUOTE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_BQUOTE, - ACTIONS(83), 1, - sym__identifier, - ACTIONS(89), 1, - anon_sym_RBRACE, - ACTIONS(91), 1, - sym__eol, - STATE(16), 1, - sym_shape_key, - STATE(20), 1, - aux_sym__connection_path_repeat1, - STATE(29), 1, - sym_string, - STATE(63), 1, - sym__connection_path, - STATE(11), 2, - sym__container_block_definition, - aux_sym__container_block_repeat1, - STATE(44), 3, - sym_connection, - sym_container, - sym_shape, - [273] = 13, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(93), 1, - sym__identifier, - ACTIONS(96), 1, - anon_sym_RBRACE, ACTIONS(98), 1, - anon_sym_SQUOTE, - ACTIONS(101), 1, - anon_sym_DQUOTE, - ACTIONS(104), 1, - anon_sym_BQUOTE, - ACTIONS(107), 1, sym__eol, - STATE(16), 1, - sym_shape_key, - STATE(20), 1, - aux_sym__connection_path_repeat1, - STATE(29), 1, - sym_string, - STATE(63), 1, - sym__connection_path, - STATE(11), 2, - sym__container_block_definition, - aux_sym__container_block_repeat1, - STATE(44), 3, - sym_connection, - sym_container, - sym_shape, - [316] = 3, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(110), 1, - anon_sym_stroke, - ACTIONS(57), 13, - anon_sym_RBRACE, - anon_sym_3d, + STATE(10), 1, + aux_sym__style_attribute_block_repeat1, + STATE(45), 1, + sym__inner_style_attribute, + STATE(67), 1, + sym__style_attr_key, + STATE(74), 1, + sym__common_style_attr_key, + ACTIONS(96), 10, anon_sym_opacity, anon_sym_fill, anon_sym_stroke_DASHwidth, @@ -2816,54 +2740,128 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_multiple, anon_sym_animated, anon_sym_link, - sym__eol, - [338] = 11, + [252] = 10, ACTIONS(3), 1, sym_line_comment, - ACTIONS(15), 1, - anon_sym_SQUOTE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_BQUOTE, - ACTIONS(112), 1, - anon_sym_LBRACE, - ACTIONS(114), 1, - sym__unquoted_string, - STATE(34), 1, - sym_label, - STATE(51), 1, - sym_string, - STATE(56), 1, - sym__shape_block, - STATE(74), 1, - sym__container_block, - ACTIONS(116), 2, + ACTIONS(13), 1, + anon_sym_stroke, + ACTIONS(94), 1, + anon_sym_3d, + ACTIONS(100), 1, + anon_sym_RBRACE, + ACTIONS(102), 1, sym__eol, - anon_sym_SEMI, - [373] = 10, + STATE(8), 1, + aux_sym__style_attribute_block_repeat1, + STATE(45), 1, + sym__inner_style_attribute, + STATE(67), 1, + sym__style_attr_key, + STATE(74), 1, + sym__common_style_attr_key, + ACTIONS(96), 10, + anon_sym_opacity, + anon_sym_fill, + anon_sym_stroke_DASHwidth, + anon_sym_stroke_DASHdash, + anon_sym_border_DASHradius, + anon_sym_font_DASHcolor, + anon_sym_shadow, + anon_sym_multiple, + anon_sym_animated, + anon_sym_link, + [292] = 10, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(104), 1, + anon_sym_RBRACE, + ACTIONS(106), 1, + anon_sym_3d, + ACTIONS(112), 1, + anon_sym_stroke, + ACTIONS(115), 1, + sym__eol, + STATE(10), 1, + aux_sym__style_attribute_block_repeat1, + STATE(45), 1, + sym__inner_style_attribute, + STATE(67), 1, + sym__style_attr_key, + STATE(74), 1, + sym__common_style_attr_key, + ACTIONS(109), 10, + anon_sym_opacity, + anon_sym_fill, + anon_sym_stroke_DASHwidth, + anon_sym_stroke_DASHdash, + anon_sym_border_DASHradius, + anon_sym_font_DASHcolor, + anon_sym_shadow, + anon_sym_multiple, + anon_sym_animated, + anon_sym_link, + [332] = 7, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(13), 1, + anon_sym_stroke, + ACTIONS(94), 1, + anon_sym_3d, + STATE(54), 1, + sym__inner_style_attribute, + STATE(67), 1, + sym__style_attr_key, + STATE(74), 1, + sym__common_style_attr_key, + ACTIONS(96), 10, + anon_sym_opacity, + anon_sym_fill, + anon_sym_stroke_DASHwidth, + anon_sym_stroke_DASHdash, + anon_sym_border_DASHradius, + anon_sym_font_DASHcolor, + anon_sym_shadow, + anon_sym_multiple, + anon_sym_animated, + anon_sym_link, + [363] = 3, ACTIONS(3), 1, sym_line_comment, ACTIONS(118), 1, - sym__identifier, - ACTIONS(121), 1, - anon_sym_style, - ACTIONS(123), 1, + anon_sym_stroke, + ACTIONS(104), 13, + anon_sym_RBRACE, + anon_sym_3d, + anon_sym_opacity, + anon_sym_fill, + anon_sym_stroke_DASHwidth, + anon_sym_stroke_DASHdash, + anon_sym_border_DASHradius, + anon_sym_font_DASHcolor, + anon_sym_shadow, + anon_sym_multiple, + anon_sym_animated, + anon_sym_link, + sym__eol, + [385] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(122), 5, + anon_sym_RBRACE, anon_sym_SQUOTE, - ACTIONS(126), 1, anon_sym_DQUOTE, - ACTIONS(129), 1, anon_sym_BQUOTE, - STATE(18), 1, - sym_shape_key, - STATE(29), 1, - sym_string, - STATE(56), 1, - sym__style_attribute, - STATE(74), 2, - sym_container, - sym_shape, - [405] = 10, + sym__eol, + ACTIONS(120), 8, + sym__identifier, + anon_sym_shape, + anon_sym_label, + anon_sym_constraint, + anon_sym_icon, + anon_sym_style, + anon_sym_width, + anon_sym_height, + [406] = 10, ACTIONS(3), 1, sym_line_comment, ACTIONS(15), 1, @@ -2872,94 +2870,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_BQUOTE, - ACTIONS(121), 1, + ACTIONS(80), 1, + anon_sym_style, + ACTIONS(124), 1, + sym__identifier, + STATE(19), 1, + sym_shape_key, + STATE(29), 1, + sym_string, + STATE(63), 1, + sym__style_attribute, + STATE(70), 2, + sym_container, + sym_shape, + [438] = 10, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(126), 1, + anon_sym_LBRACE, + ACTIONS(128), 1, + sym__unquoted_string, + STATE(37), 1, + sym_label, + STATE(50), 1, + sym_string, + STATE(70), 1, + sym__container_block, + ACTIONS(130), 2, + sym__eol, + anon_sym_SEMI, + [470] = 10, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(80), 1, anon_sym_style, ACTIONS(132), 1, sym__identifier, - STATE(18), 1, + ACTIONS(135), 1, + anon_sym_SQUOTE, + ACTIONS(138), 1, + anon_sym_DQUOTE, + ACTIONS(141), 1, + anon_sym_BQUOTE, + STATE(19), 1, sym_shape_key, STATE(29), 1, sym_string, - STATE(56), 1, + STATE(63), 1, sym__style_attribute, - STATE(74), 2, + STATE(70), 2, sym_container, sym_shape, - [437] = 9, + [502] = 8, ACTIONS(3), 1, sym_line_comment, - ACTIONS(112), 1, + ACTIONS(126), 1, anon_sym_LBRACE, - ACTIONS(134), 1, - anon_sym_COLON, - ACTIONS(136), 1, - sym_arrow, - ACTIONS(138), 1, - sym_dot, - STATE(13), 1, - sym__colon, - STATE(57), 1, - sym__container_block, - STATE(72), 1, - sym__shape_block, - ACTIONS(140), 2, - sym__eol, - anon_sym_SEMI, - [466] = 9, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(15), 1, - anon_sym_SQUOTE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_BQUOTE, - ACTIONS(83), 1, - sym__identifier, - STATE(20), 1, - aux_sym__connection_path_repeat1, - STATE(29), 1, - sym_string, - STATE(36), 1, - sym_shape_key, - STATE(40), 1, - sym__connection_path, - [494] = 8, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(112), 1, - anon_sym_LBRACE, - ACTIONS(134), 1, - anon_sym_COLON, - ACTIONS(142), 1, - sym_dot, - STATE(13), 1, - sym__colon, - STATE(57), 1, - sym__container_block, - STATE(72), 1, - sym__shape_block, - ACTIONS(140), 2, - sym__eol, - anon_sym_SEMI, - [520] = 8, - ACTIONS(3), 1, - sym_line_comment, ACTIONS(144), 1, - sym__identifier, - ACTIONS(147), 1, - anon_sym_SQUOTE, - ACTIONS(150), 1, - anon_sym_DQUOTE, - ACTIONS(153), 1, - anon_sym_BQUOTE, - STATE(19), 1, - aux_sym__connection_path_repeat1, - STATE(29), 1, - sym_string, - STATE(75), 1, - sym_shape_key, - [545] = 8, + anon_sym_COLON, + ACTIONS(146), 1, + sym_arrow, + ACTIONS(148), 1, + sym_dot, + STATE(15), 1, + sym__colon, + STATE(55), 1, + sym__container_block, + ACTIONS(150), 2, + sym__eol, + anon_sym_SEMI, + [528] = 9, ACTIONS(3), 1, sym_line_comment, ACTIONS(15), 1, @@ -2968,41 +2954,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_BQUOTE, - ACTIONS(83), 1, + ACTIONS(152), 1, sym__identifier, - STATE(19), 1, + STATE(22), 1, aux_sym__connection_path_repeat1, STATE(29), 1, sym_string, STATE(35), 1, sym_shape_key, - [570] = 3, + STATE(38), 1, + sym__connection_path, + [556] = 7, ACTIONS(3), 1, sym_line_comment, - ACTIONS(158), 1, + ACTIONS(126), 1, + anon_sym_LBRACE, + ACTIONS(144), 1, + anon_sym_COLON, + ACTIONS(154), 1, + sym_dot, + STATE(15), 1, + sym__colon, + STATE(55), 1, + sym__container_block, + ACTIONS(150), 2, + sym__eol, + anon_sym_SEMI, + [579] = 8, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(156), 1, + sym__identifier, + ACTIONS(159), 1, + anon_sym_SQUOTE, + ACTIONS(162), 1, + anon_sym_DQUOTE, + ACTIONS(165), 1, + anon_sym_BQUOTE, + STATE(20), 1, + aux_sym__connection_path_repeat1, + STATE(29), 1, + sym_string, + STATE(76), 1, + sym_shape_key, + [604] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(170), 1, sym__dash, - ACTIONS(156), 6, + ACTIONS(168), 6, anon_sym_LBRACE, anon_sym_COLON, sym_arrow, sym_dot, sym__eol, anon_sym_SEMI, - [585] = 6, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(160), 1, - anon_sym_COLON, - ACTIONS(162), 1, - sym_arrow, - STATE(32), 1, - sym__colon, - STATE(33), 1, - aux_sym_connection_repeat1, - ACTIONS(164), 2, - sym__eol, - anon_sym_SEMI, - [605] = 7, + [619] = 8, ACTIONS(3), 1, sym_line_comment, ACTIONS(15), 1, @@ -3011,33 +3018,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_BQUOTE, - ACTIONS(166), 1, - sym__unquoted_string, - STATE(65), 1, - sym_string, - STATE(71), 1, - sym_attr_value, - [627] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(168), 6, - anon_sym_RBRACE, + ACTIONS(152), 1, sym__identifier, - anon_sym_SQUOTE, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - sym__eol, - [639] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(170), 6, - anon_sym_LBRACE, - anon_sym_COLON, - sym_arrow, - sym_dot, - sym__eol, - anon_sym_SEMI, - [651] = 2, + STATE(20), 1, + aux_sym__connection_path_repeat1, + STATE(29), 1, + sym_string, + STATE(33), 1, + sym_shape_key, + [644] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(172), 6, @@ -3047,64 +3036,32 @@ static const uint16_t ts_small_parse_table[] = { sym_dot, sym__eol, anon_sym_SEMI, - [663] = 7, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(15), 1, - anon_sym_SQUOTE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - anon_sym_BQUOTE, - ACTIONS(166), 1, - sym__unquoted_string, - STATE(58), 1, - sym_attr_value, - STATE(65), 1, - sym_string, - [685] = 3, + [656] = 6, ACTIONS(3), 1, sym_line_comment, ACTIONS(174), 1, + anon_sym_COLON, + ACTIONS(176), 1, + sym_arrow, + STATE(26), 1, + sym__colon, + STATE(34), 1, + aux_sym_connection_repeat1, + ACTIONS(178), 2, + sym__eol, + anon_sym_SEMI, + [676] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(180), 1, sym__dash, - ACTIONS(156), 5, + ACTIONS(168), 5, anon_sym_LBRACE, anon_sym_COLON, sym_dot, sym__eol, anon_sym_SEMI, - [699] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(156), 6, - anon_sym_LBRACE, - anon_sym_COLON, - sym_arrow, - sym_dot, - sym__eol, - anon_sym_SEMI, - [711] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(176), 6, - anon_sym_LBRACE, - anon_sym_COLON, - sym_arrow, - sym_dot, - sym__eol, - anon_sym_SEMI, - [723] = 3, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(180), 2, - anon_sym_RBRACE, - sym__eol, - ACTIONS(178), 4, - sym__identifier, - anon_sym_SQUOTE, - anon_sym_DQUOTE, - anon_sym_BQUOTE, - [737] = 7, + [690] = 7, ACTIONS(3), 1, sym_line_comment, ACTIONS(15), 1, @@ -3113,446 +3070,497 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(19), 1, anon_sym_BQUOTE, - ACTIONS(114), 1, + ACTIONS(128), 1, sym__unquoted_string, - STATE(51), 1, + STATE(50), 1, sym_string, - STATE(67), 1, + STATE(57), 1, sym_label, - [759] = 4, + [712] = 7, ACTIONS(3), 1, sym_line_comment, - ACTIONS(185), 1, - sym_arrow, - STATE(33), 1, - aux_sym_connection_repeat1, - ACTIONS(183), 3, - anon_sym_COLON, - sym__eol, - anon_sym_SEMI, - [774] = 5, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(112), 1, - anon_sym_LBRACE, - STATE(55), 1, - sym__shape_block, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(182), 1, + sym__unquoted_string, + STATE(59), 1, + sym_string, STATE(66), 1, - sym__container_block, - ACTIONS(188), 2, - sym__eol, - anon_sym_SEMI, - [791] = 3, + sym_attr_value, + [734] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(192), 1, + ACTIONS(184), 6, + anon_sym_LBRACE, + anon_sym_COLON, + sym_arrow, sym_dot, - ACTIONS(190), 4, + sym__eol, + anon_sym_SEMI, + [746] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(168), 6, + anon_sym_LBRACE, + anon_sym_COLON, + sym_arrow, + sym_dot, + sym__eol, + anon_sym_SEMI, + [758] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(186), 6, + anon_sym_LBRACE, + anon_sym_COLON, + sym_arrow, + sym_dot, + sym__eol, + anon_sym_SEMI, + [770] = 7, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(182), 1, + sym__unquoted_string, + STATE(59), 1, + sym_string, + STATE(69), 1, + sym_attr_value, + [792] = 7, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(15), 1, + anon_sym_SQUOTE, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(19), 1, + anon_sym_BQUOTE, + ACTIONS(182), 1, + sym__unquoted_string, + STATE(59), 1, + sym_string, + STATE(65), 1, + sym_attr_value, + [814] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(190), 1, + sym_dot, + ACTIONS(188), 4, anon_sym_COLON, sym_arrow, sym__eol, anon_sym_SEMI, - [804] = 3, + [827] = 4, ACTIONS(3), 1, sym_line_comment, - ACTIONS(192), 1, + ACTIONS(194), 1, + sym_arrow, + STATE(34), 1, + aux_sym_connection_repeat1, + ACTIONS(192), 3, + anon_sym_COLON, + sym__eol, + anon_sym_SEMI, + [842] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(190), 1, sym_dot, - ACTIONS(136), 4, + ACTIONS(146), 4, anon_sym_COLON, sym_arrow, sym__eol, anon_sym_SEMI, - [817] = 2, + [855] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(194), 4, + ACTIONS(197), 4, sym__identifier, anon_sym_SQUOTE, anon_sym_DQUOTE, anon_sym_BQUOTE, - [827] = 4, + [865] = 4, ACTIONS(3), 1, sym_line_comment, - ACTIONS(196), 1, - anon_sym_RBRACE, - ACTIONS(198), 1, + ACTIONS(126), 1, + anon_sym_LBRACE, + STATE(64), 1, + sym__container_block, + ACTIONS(199), 2, sym__eol, - STATE(39), 2, - sym__shape_block_definition, - aux_sym__shape_block_repeat1, - [841] = 4, + anon_sym_SEMI, + [879] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(200), 1, - anon_sym_RBRACE, - ACTIONS(202), 1, - sym__eol, - STATE(39), 2, - sym__shape_block_definition, - aux_sym__shape_block_repeat1, - [855] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(183), 4, + ACTIONS(192), 4, anon_sym_COLON, sym_arrow, sym__eol, anon_sym_SEMI, - [865] = 4, - ACTIONS(205), 1, - anon_sym_DQUOTE, - ACTIONS(207), 1, - aux_sym_string_token2, - ACTIONS(209), 1, - sym_line_comment, - STATE(46), 1, - aux_sym_string_repeat2, - [878] = 4, - ACTIONS(205), 1, + [889] = 4, + ACTIONS(201), 1, anon_sym_SQUOTE, - ACTIONS(209), 1, + ACTIONS(203), 1, + aux_sym_string_token1, + ACTIONS(205), 1, sym_line_comment, + STATE(51), 1, + aux_sym_string_repeat1, + [902] = 4, + ACTIONS(201), 1, + anon_sym_BQUOTE, + ACTIONS(205), 1, + sym_line_comment, + ACTIONS(207), 1, + aux_sym_string_token3, + STATE(52), 1, + aux_sym_string_repeat3, + [915] = 4, + ACTIONS(205), 1, + sym_line_comment, + ACTIONS(209), 1, + anon_sym_SQUOTE, ACTIONS(211), 1, aux_sym_string_token1, - STATE(49), 1, + STATE(39), 1, aux_sym_string_repeat1, - [891] = 4, - ACTIONS(209), 1, - sym_line_comment, - ACTIONS(213), 1, - anon_sym_SQUOTE, - ACTIONS(215), 1, - aux_sym_string_token1, - STATE(42), 1, - aux_sym_string_repeat1, - [904] = 3, - ACTIONS(3), 1, - sym_line_comment, - STATE(24), 1, - sym__end, - ACTIONS(217), 2, - sym__eol, - anon_sym_SEMI, - [915] = 4, - ACTIONS(209), 1, - sym_line_comment, - ACTIONS(219), 1, - anon_sym_BQUOTE, - ACTIONS(221), 1, - aux_sym_string_token3, - STATE(45), 1, - aux_sym_string_repeat3, [928] = 4, - ACTIONS(209), 1, + ACTIONS(205), 1, sym_line_comment, - ACTIONS(224), 1, + ACTIONS(209), 1, anon_sym_DQUOTE, - ACTIONS(226), 1, + ACTIONS(213), 1, aux_sym_string_token2, - STATE(46), 1, + STATE(49), 1, aux_sym_string_repeat2, [941] = 4, ACTIONS(3), 1, sym_line_comment, - ACTIONS(229), 1, + ACTIONS(215), 1, anon_sym_COLON, - ACTIONS(231), 1, + ACTIONS(217), 1, sym_dot, - STATE(64), 1, + STATE(53), 1, sym__colon, - [954] = 4, - ACTIONS(209), 1, + [954] = 3, + ACTIONS(3), 1, sym_line_comment, - ACTIONS(213), 1, - anon_sym_DQUOTE, - ACTIONS(233), 1, - aux_sym_string_token2, - STATE(41), 1, - aux_sym_string_repeat2, - [967] = 4, - ACTIONS(209), 1, - sym_line_comment, - ACTIONS(235), 1, - anon_sym_SQUOTE, - ACTIONS(237), 1, - aux_sym_string_token1, - STATE(49), 1, - aux_sym_string_repeat1, - [980] = 3, + STATE(13), 1, + sym__end, + ACTIONS(219), 2, + sym__eol, + anon_sym_SEMI, + [965] = 3, ACTIONS(3), 1, sym_line_comment, STATE(12), 1, sym__end, - ACTIONS(240), 2, + ACTIONS(221), 2, sym__eol, anon_sym_SEMI, - [991] = 2, + [976] = 4, + ACTIONS(205), 1, + sym_line_comment, + ACTIONS(209), 1, + anon_sym_BQUOTE, + ACTIONS(223), 1, + aux_sym_string_token3, + STATE(40), 1, + aux_sym_string_repeat3, + [989] = 3, ACTIONS(3), 1, sym_line_comment, - ACTIONS(242), 3, - anon_sym_LBRACE, + STATE(7), 1, + sym__end, + ACTIONS(225), 2, sym__eol, anon_sym_SEMI, [1000] = 4, - ACTIONS(209), 1, + ACTIONS(205), 1, sym_line_comment, - ACTIONS(213), 1, - anon_sym_BQUOTE, - ACTIONS(244), 1, - aux_sym_string_token3, - STATE(54), 1, - aux_sym_string_repeat3, - [1013] = 3, + ACTIONS(227), 1, + anon_sym_DQUOTE, + ACTIONS(229), 1, + aux_sym_string_token2, + STATE(48), 1, + aux_sym_string_repeat2, + [1013] = 4, + ACTIONS(201), 1, + anon_sym_DQUOTE, + ACTIONS(205), 1, + sym_line_comment, + ACTIONS(232), 1, + aux_sym_string_token2, + STATE(48), 1, + aux_sym_string_repeat2, + [1026] = 2, ACTIONS(3), 1, sym_line_comment, - STATE(4), 1, - sym__end, - ACTIONS(246), 2, + ACTIONS(234), 3, + anon_sym_LBRACE, sym__eol, anon_sym_SEMI, - [1024] = 4, + [1035] = 4, ACTIONS(205), 1, - anon_sym_BQUOTE, - ACTIONS(209), 1, sym_line_comment, - ACTIONS(248), 1, + ACTIONS(236), 1, + anon_sym_SQUOTE, + ACTIONS(238), 1, + aux_sym_string_token1, + STATE(51), 1, + aux_sym_string_repeat1, + [1048] = 4, + ACTIONS(205), 1, + sym_line_comment, + ACTIONS(241), 1, + anon_sym_BQUOTE, + ACTIONS(243), 1, aux_sym_string_token3, - STATE(45), 1, + STATE(52), 1, aux_sym_string_repeat3, - [1037] = 2, + [1061] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(246), 1, + anon_sym_LBRACE, + STATE(54), 1, + sym__style_attribute_block, + [1071] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(248), 2, + sym__eol, + anon_sym_SEMI, + [1079] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(250), 2, sym__eol, anon_sym_SEMI, - [1045] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(188), 2, - sym__eol, - anon_sym_SEMI, - [1053] = 2, + [1087] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(252), 2, sym__eol, anon_sym_SEMI, - [1061] = 2, + [1095] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(254), 2, sym__eol, anon_sym_SEMI, - [1069] = 2, + [1103] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(256), 2, sym__eol, anon_sym_SEMI, - [1077] = 2, + [1111] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(258), 2, sym__eol, anon_sym_SEMI, - [1085] = 2, + [1119] = 3, ACTIONS(3), 1, sym_line_comment, - ACTIONS(260), 2, - sym__eol, - anon_sym_SEMI, - [1093] = 3, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(262), 1, + ACTIONS(260), 1, anon_sym_COLON, STATE(27), 1, sym__colon, - [1103] = 3, + [1129] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(162), 1, + ACTIONS(262), 2, + sym__eol, + anon_sym_SEMI, + [1137] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(176), 1, sym_arrow, - STATE(22), 1, + STATE(24), 1, aux_sym_connection_repeat1, - [1113] = 3, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(264), 1, - anon_sym_LBRACE, - STATE(68), 1, - sym__style_attribute_block, - [1123] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(266), 2, - sym__eol, - anon_sym_SEMI, - [1131] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(268), 2, - sym__eol, - anon_sym_SEMI, - [1139] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(270), 2, - sym__eol, - anon_sym_SEMI, [1147] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(272), 2, + ACTIONS(199), 2, sym__eol, anon_sym_SEMI, [1155] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(264), 2, + sym__eol, + anon_sym_SEMI, + [1163] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(266), 2, + sym__eol, + anon_sym_SEMI, + [1171] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(268), 2, + sym__eol, + anon_sym_SEMI, + [1179] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(270), 1, + anon_sym_COLON, + STATE(32), 1, + sym__colon, + [1189] = 3, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(272), 1, + anon_sym_COLON, + STATE(31), 1, + sym__colon, + [1199] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(274), 2, sym__eol, anon_sym_SEMI, - [1163] = 3, + [1207] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(276), 1, - anon_sym_COLON, - STATE(23), 1, - sym__colon, - [1173] = 2, + ACTIONS(276), 2, + sym__eol, + anon_sym_SEMI, + [1215] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(278), 2, sym__eol, anon_sym_SEMI, - [1181] = 2, + [1223] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(116), 2, - sym__eol, - anon_sym_SEMI, - [1189] = 2, + ACTIONS(280), 1, + anon_sym_COLON, + [1230] = 2, ACTIONS(3), 1, sym_line_comment, - ACTIONS(280), 2, - sym__eol, - anon_sym_SEMI, - [1197] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(282), 2, - sym__eol, - anon_sym_SEMI, - [1205] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(192), 1, - sym_dot, - [1212] = 2, + ACTIONS(282), 1, + ts_builtin_sym_end, + [1237] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(284), 1, anon_sym_COLON, - [1219] = 2, + [1244] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(286), 1, anon_sym_COLON, - [1226] = 2, + [1251] = 2, + ACTIONS(3), 1, + sym_line_comment, + ACTIONS(190), 1, + sym_dot, + [1258] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(288), 1, anon_sym_COLON, - [1233] = 2, + [1265] = 2, ACTIONS(3), 1, sym_line_comment, ACTIONS(290), 1, anon_sym_COLON, - [1240] = 2, - ACTIONS(3), 1, - sym_line_comment, - ACTIONS(292), 1, - ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 0, - [SMALL_STATE(5)] = 32, - [SMALL_STATE(6)] = 72, - [SMALL_STATE(7)] = 112, - [SMALL_STATE(8)] = 152, - [SMALL_STATE(9)] = 199, - [SMALL_STATE(10)] = 230, - [SMALL_STATE(11)] = 273, - [SMALL_STATE(12)] = 316, - [SMALL_STATE(13)] = 338, - [SMALL_STATE(14)] = 373, - [SMALL_STATE(15)] = 405, - [SMALL_STATE(16)] = 437, - [SMALL_STATE(17)] = 466, - [SMALL_STATE(18)] = 494, - [SMALL_STATE(19)] = 520, - [SMALL_STATE(20)] = 545, - [SMALL_STATE(21)] = 570, - [SMALL_STATE(22)] = 585, - [SMALL_STATE(23)] = 605, - [SMALL_STATE(24)] = 627, - [SMALL_STATE(25)] = 639, - [SMALL_STATE(26)] = 651, - [SMALL_STATE(27)] = 663, - [SMALL_STATE(28)] = 685, - [SMALL_STATE(29)] = 699, - [SMALL_STATE(30)] = 711, - [SMALL_STATE(31)] = 723, - [SMALL_STATE(32)] = 737, - [SMALL_STATE(33)] = 759, - [SMALL_STATE(34)] = 774, - [SMALL_STATE(35)] = 791, - [SMALL_STATE(36)] = 804, - [SMALL_STATE(37)] = 817, - [SMALL_STATE(38)] = 827, - [SMALL_STATE(39)] = 841, - [SMALL_STATE(40)] = 855, - [SMALL_STATE(41)] = 865, - [SMALL_STATE(42)] = 878, - [SMALL_STATE(43)] = 891, - [SMALL_STATE(44)] = 904, - [SMALL_STATE(45)] = 915, - [SMALL_STATE(46)] = 928, - [SMALL_STATE(47)] = 941, - [SMALL_STATE(48)] = 954, - [SMALL_STATE(49)] = 967, - [SMALL_STATE(50)] = 980, - [SMALL_STATE(51)] = 991, - [SMALL_STATE(52)] = 1000, - [SMALL_STATE(53)] = 1013, - [SMALL_STATE(54)] = 1024, - [SMALL_STATE(55)] = 1037, - [SMALL_STATE(56)] = 1045, - [SMALL_STATE(57)] = 1053, - [SMALL_STATE(58)] = 1061, - [SMALL_STATE(59)] = 1069, - [SMALL_STATE(60)] = 1077, - [SMALL_STATE(61)] = 1085, - [SMALL_STATE(62)] = 1093, - [SMALL_STATE(63)] = 1103, - [SMALL_STATE(64)] = 1113, - [SMALL_STATE(65)] = 1123, - [SMALL_STATE(66)] = 1131, - [SMALL_STATE(67)] = 1139, - [SMALL_STATE(68)] = 1147, - [SMALL_STATE(69)] = 1155, - [SMALL_STATE(70)] = 1163, - [SMALL_STATE(71)] = 1173, - [SMALL_STATE(72)] = 1181, - [SMALL_STATE(73)] = 1189, - [SMALL_STATE(74)] = 1197, - [SMALL_STATE(75)] = 1205, - [SMALL_STATE(76)] = 1212, - [SMALL_STATE(77)] = 1219, - [SMALL_STATE(78)] = 1226, - [SMALL_STATE(79)] = 1233, - [SMALL_STATE(80)] = 1240, + [SMALL_STATE(5)] = 60, + [SMALL_STATE(6)] = 120, + [SMALL_STATE(7)] = 180, + [SMALL_STATE(8)] = 212, + [SMALL_STATE(9)] = 252, + [SMALL_STATE(10)] = 292, + [SMALL_STATE(11)] = 332, + [SMALL_STATE(12)] = 363, + [SMALL_STATE(13)] = 385, + [SMALL_STATE(14)] = 406, + [SMALL_STATE(15)] = 438, + [SMALL_STATE(16)] = 470, + [SMALL_STATE(17)] = 502, + [SMALL_STATE(18)] = 528, + [SMALL_STATE(19)] = 556, + [SMALL_STATE(20)] = 579, + [SMALL_STATE(21)] = 604, + [SMALL_STATE(22)] = 619, + [SMALL_STATE(23)] = 644, + [SMALL_STATE(24)] = 656, + [SMALL_STATE(25)] = 676, + [SMALL_STATE(26)] = 690, + [SMALL_STATE(27)] = 712, + [SMALL_STATE(28)] = 734, + [SMALL_STATE(29)] = 746, + [SMALL_STATE(30)] = 758, + [SMALL_STATE(31)] = 770, + [SMALL_STATE(32)] = 792, + [SMALL_STATE(33)] = 814, + [SMALL_STATE(34)] = 827, + [SMALL_STATE(35)] = 842, + [SMALL_STATE(36)] = 855, + [SMALL_STATE(37)] = 865, + [SMALL_STATE(38)] = 879, + [SMALL_STATE(39)] = 889, + [SMALL_STATE(40)] = 902, + [SMALL_STATE(41)] = 915, + [SMALL_STATE(42)] = 928, + [SMALL_STATE(43)] = 941, + [SMALL_STATE(44)] = 954, + [SMALL_STATE(45)] = 965, + [SMALL_STATE(46)] = 976, + [SMALL_STATE(47)] = 989, + [SMALL_STATE(48)] = 1000, + [SMALL_STATE(49)] = 1013, + [SMALL_STATE(50)] = 1026, + [SMALL_STATE(51)] = 1035, + [SMALL_STATE(52)] = 1048, + [SMALL_STATE(53)] = 1061, + [SMALL_STATE(54)] = 1071, + [SMALL_STATE(55)] = 1079, + [SMALL_STATE(56)] = 1087, + [SMALL_STATE(57)] = 1095, + [SMALL_STATE(58)] = 1103, + [SMALL_STATE(59)] = 1111, + [SMALL_STATE(60)] = 1119, + [SMALL_STATE(61)] = 1129, + [SMALL_STATE(62)] = 1137, + [SMALL_STATE(63)] = 1147, + [SMALL_STATE(64)] = 1155, + [SMALL_STATE(65)] = 1163, + [SMALL_STATE(66)] = 1171, + [SMALL_STATE(67)] = 1179, + [SMALL_STATE(68)] = 1189, + [SMALL_STATE(69)] = 1199, + [SMALL_STATE(70)] = 1207, + [SMALL_STATE(71)] = 1215, + [SMALL_STATE(72)] = 1223, + [SMALL_STATE(73)] = 1230, + [SMALL_STATE(74)] = 1237, + [SMALL_STATE(75)] = 1244, + [SMALL_STATE(76)] = 1251, + [SMALL_STATE(77)] = 1258, + [SMALL_STATE(78)] = 1265, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -3561,133 +3569,132 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [27] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [29] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(21), - [32] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(77), - [35] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(78), - [38] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(79), - [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(43), - [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(48), - [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(52), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_definition, 2), - [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__root_definition, 2), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), - [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(76), - [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(79), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(79), - [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(5), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(21), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), - [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(43), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(48), - [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(52), - [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(11), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 2), - [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(28), - [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(43), - [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(48), - [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(52), - [132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_path, 1), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 1), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(28), - [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(43), - [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(48), - [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(52), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape_key, 1), - [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 2), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block_definition, 2), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape_key, 2), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [23] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [25] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(21), + [28] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(72), + [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(78), + [34] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(77), + [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(41), + [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(42), + [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(46), + [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(21), + [56] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(75), + [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(43), + [64] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(41), + [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(42), + [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(46), + [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__container_block_repeat1, 2), SHIFT_REPEAT(4), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [78] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [80] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), + [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_definition, 2), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__root_definition, 2), + [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), + [106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(74), + [109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(77), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(77), + [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), SHIFT_REPEAT(10), + [118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__style_attribute_block_repeat1, 2), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__container_block_definition, 2), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block_definition, 2), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 2), + [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(25), + [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(41), + [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(42), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), SHIFT(46), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_path, 1), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 1), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(25), + [159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(41), + [162] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(42), + [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2), SHIFT_REPEAT(46), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape_key, 1), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block_definition, 1), - [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__container_block_definition, 1), REDUCE(sym__shape_block_definition, 1), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), - [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(17), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 3), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_path, 2), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__shape_block_repeat1, 2), - [202] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__shape_block_repeat1, 2), SHIFT_REPEAT(39), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat3, 2), - [221] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat3, 2), SHIFT_REPEAT(45), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat2, 2), - [226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat2, 2), SHIFT_REPEAT(46), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), - [237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(49), - [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 1), - [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 4), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 2, .production_id = 2), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attribute, 3), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block, 3), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shape_block, 2), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shape_block, 3), - [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_value, 1), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 4, .production_id = 2), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 4), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute, 3), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute_block, 3), - [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inner_style_attribute, 3), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute_block, 2), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 3, .production_id = 2), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 2), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape_key, 2), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__connection_path, 2), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), + [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_connection_repeat1, 2), SHIFT_REPEAT(18), + [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__connection_path_repeat1, 2, .production_id = 2), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shape, 3), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat2, 2), + [229] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat2, 2), SHIFT_REPEAT(48), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_label, 1), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), + [238] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(51), + [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat3, 2), + [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat3, 2), SHIFT_REPEAT(52), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute, 3), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 2, .production_id = 2), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute_block, 3), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_connection, 4), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block, 2), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_value, 1), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__container_block, 3), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 4, .production_id = 2), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inner_style_attribute, 3), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attribute, 3), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__base_shape_attribute, 3), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_container, 3, .production_id = 2), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attribute_block, 2), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attr_key, 1), + [282] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__style_attr_key, 1), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attr_key, 1), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attr_key, 1, .production_id = 1), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__common_style_attr_key, 1), - [292] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__shape_attr_key, 1), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__common_style_attr_key, 1), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__root_attr_key, 1, .production_id = 1), }; #ifdef __cplusplus diff --git a/test/corpus/attributes.txt b/test/corpus/attributes.txt index 733a6ec..9017546 100644 --- a/test/corpus/attributes.txt +++ b/test/corpus/attributes.txt @@ -114,3 +114,115 @@ foo.style: { ) ) ) + +================================================================================ +Container attributes +================================================================================ +foo: { + shape: oval + label: Baz + constraint: primary-key + icon: pathto + width: 100 + height: 200 +} + +-------------------------------------------------------------------------------- + +(source_file + (container + (container_key) + (block + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + ) + ) +) + +================================================================================ +Container style attributes +================================================================================ +foo: { + style.opacity: 5 + style.fill: red + style.stroke: red + style.stroke-width: 5 + style.stroke-dash: 4 + style.border-radius: 1 + style.font-color: red + style.shadow: true + style.multiple: true + style.animated: true + style.link: https://to +} + +-------------------------------------------------------------------------------- + +(source_file + (container + (container_key) + (block + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + (attribute (attr_key) (dot) (attribute (attr_key) (attr_value))) + ) + ) +) + +================================================================================ +Block style attributes inside a container +================================================================================ +foo: { + style: { + opacity: 5 + fill: red + stroke: red + stroke-width: 5 + stroke-dash: 4 + border-radius: 1 + font-color: red + shadow: true + multiple: true + animated: true + link: https://to + } +} + +-------------------------------------------------------------------------------- + +(source_file + (container + (container_key) + (block + (attribute + (attr_key) + (block + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + (attribute (attr_key) (attr_value)) + ) + ) + ) + ) +) + diff --git a/test/corpus/shape.txt b/test/corpus/shape.txt index 16a0489..cf52896 100644 --- a/test/corpus/shape.txt +++ b/test/corpus/shape.txt @@ -78,32 +78,6 @@ bar : Foo Bar; baz (shape (shape_key)) ) -================================================================================ -Shape block -================================================================================ - -foo: {} -bar {} - --------------------------------------------------------------------------------- - -(source_file - (shape (shape_key) (block)) - (shape (shape_key) (block)) -) - -================================================================================ -Labeled shape block -================================================================================ - -foo: Foo {} - --------------------------------------------------------------------------------- - -(source_file - (shape (shape_key) (label) (block)) -) - ================================================================================ Use quoted string as shape key and label ================================================================================ diff --git a/test/highlight/keyword.d2 b/test/highlight/attribute.d2 similarity index 95% rename from test/highlight/keyword.d2 rename to test/highlight/attribute.d2 index 72044c1..58f878a 100644 --- a/test/highlight/keyword.d2 +++ b/test/highlight/attribute.d2 @@ -6,7 +6,7 @@ direction: right; shape: oval # <- error -# ^ error +# ^ string baaaz.style: { # <- variable diff --git a/tree-sitter-d2.wasm b/tree-sitter-d2.wasm index 07e54749327db76a4897a4040ef5cb72eed7fc78..609a0111088564c286b2066b776e87661ae38007 100755 GIT binary patch literal 25898 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

l#*$RF%_7aANo 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 F{|nFKIQ;+s literal 25891 zcmeHw33OFO)^6={Zvy1h4f8xDVG;om5K-n*2_PyCZ96?*j3jCdBoKm1YfBJR1XM;v zMMXpe8AL@zMGbUy=ypi zcAa}JisGr0NZ^yoE}1^DtfG9&u%sgdb;v%4W(XvjagGq@I5Rkdqc}&<4Cl;bqO{_o zR8i5S(n*z7(~Hh6o?4oiAsCcJMb*XUPAm;$*`Assh&9?46_r(#lvR~Zs4hBhTE&Fw zvdRjt4owzLqG1Ea$x09nPGPn=#7(WjT(~ZLavj@ z&iP<2HAspk};M%<;v6;^y(i<<_S()S>e=fWP&Dl!GLhp?-)wi;|hoITK#F45v| z{f)Rxi{JG#;&LtSv*HRZzB#~@uF~R%hZ%8=7Jss(>$SMmGH=r2SGIJs7U$a1Em~Y; zskUlymo2T;;#TYP4lVAtUhUN4_m=quE&gJuUeV$_EAGSE^;+C# zyM2=uw^`-QUa9qJixwAJ<*i!WW5rr6F0;xzw7B0I+Ns4WZRrbITxsjRqD6la?$Y8N zw(i@}y6bWA8XN{lb=URzt*Df#=dCj{%GAFwfKvjqQ7X-zcgxw@%X-A z?atQXTFX+;>TlXFZ^*p#&?>>k0J+xo{0f!Ade9#d`4jwXe*zge})lo+u zGpca(n6bx>JMQ=s#-Di7?@v3ur1Zk_iIXOOL0{5Wboq=Lnn_pCESgPM(p7Xd&7o^( zF3qF)bS+&+*V6)8NQ-DOEup1!1Kmi==q9?EZlUFLE8Rx7(+awSR??lciteJ-bT_S` zwR8`yqxH0bHqyPciSDEO=>ghI57I;QFm0hn=uvu%w$kJD1U*T$w2hvk?X-iQrf29` z+DXsR^YkZrfnKDS=w*6^UZvOQb=pO5(3|uYy-n}XpXptCkKU&bXgBSl4{0xbL?6>9 z^eKHtpVO0$i_18fmz}D0GGC8*jym$Vx!qT}j{dqjC|i&hO9dIgPa`HN1D`=TQ~F(o|R!R5J$WL7rQ ztDjLXk$S<&eF1LYkM&8ujLbuvfj#xUKn6C{1B|fFcFz0>nJk>2$N48#c@CMMIkOX) zFFErpGT(6K8D!>jrKgcOz{n0{zTnJuWZvS;Q^>r{nQh2$=Q%2`Fga3jHHL0P2H0*< zh~uHTysmC06wMUFjf#(UX_^8kGq%V$2Z4B`|+Td^(Nx!H1a8EtR6}M=W z;iFUQ9eICHt_^902R((t)V+>c;Q15j)6Ldo(5Lq~a8NL{>P8=3>8Q3wb%Wo!j|4aW z25vrsb8)Dp$n~1{BY3;QQG*QcIv>2ZlF| zT;qew9kt%7-tBw)vG#T`dkYY~^@9eM8lX=1SEsvwrz2PUmTq>`VaEJj2IMYrBiIk{ z{w7EDFyJb`_A*E9uw8wpkKX90E=F~w20ual8yt1JZPFb+y3|qkSagMtE^*XwLvXtf zE_PH41Ky^=&%wILQ7dizTYYq)qgGgSxk0&A($x2`{iwgdQNs*)i&p$XcWLhk_E#ug zkEO$aHyg##sp}lo*MK+q;I)q0Y5QcEkIu((ZB%dc!Fi7AXTTeLaIT}Cvh|nx=rxXN zV^o)D@GCeq$59(?I~V)t)sAXsR2OORYp7o3sO465p^skasHd&11wK04Q3o4>>wR#R zquLwrIv>2kQHLAwS`GdMre-=SWx)9w{03l+qqbX1^L+FGse_E_Tp#?6RDl7n(IEH# zucU?=aE=fDLh3n7dbN-KOsc0*y~+oFA~nQ-SNh;TNF8Fp*&5sjOFxpzG2kp8{DD*- z176`@kKgIJvIN~K8LVsdn3;b0{YG-8=KT)Fz9+TX4oi)X?kCmUSUW&`p|k4WNDVaL zZ$9`PsYV9;)d#;Nm21FXH261E-$$yG0e|+vzmi&I&HtoPz9_yS^}OxYfB5KMNHsJB zKl3R96H3-3PxU)zN_8Yw&wm`hrw11Mc_1&k46=gZ@pUy#9PfYK?XE zJB|JW=%=J^w&=IGBYL<0-p8i+F3ItbNPLN4@k`1_A>Y>JU%9RgjJ_uMx#sFqn0kj$ zWsfLKb;kKuZBc%TTHCnR*FN{)aJ1E-<0lB+KA}$GXzNRoA8XPfg{jttvm?$wgYzSj zd-3GUi!JtuAb<;e`k4LbQkdFJ@G{FkL;FOI{Sx5(OKR6ax~);PPt z9>kP;sG)b_W1}2s1i@O9-Nb>zeYVfO(vI@{c%S5ZhO2JB_G-UIr=)y8>{e5WPr`Sp zX|sguIjucPX1T7LjpVuw8oG@FM{;xAMy|>>!~6w&YG(2n5DpJ{DCK9!_cwVSivcG8 z3G(?SkG@vjO#UO}pS5!b9j%Tq1?Wlisd#jfX>C2#jHHvKxSClkL*o+SJc5<+$=iE%b?SzHT^QA}-d1%#ujz-Z`W& z#pOI%UH~mexZ1yWA#h}^g+D{!pjr#>K-g}Dw;`Z8bp~i}QC>Xg-9_>(Q=_is>&^5U z=(jh$8t^ioL+U<-RXC0aqH7kt$k0ZDW2>rCJGfZ|e}JtxI3}Y+DVeT%U;NDlYG|eYQ4jG2HP?IOFUybSnqILneyOV zTmB3+Zt@H@^~7fN?QmYk_U=_AS2e&=!2PASINS|-i}MCDdW*voibq1ejtp;cFxhxC zu$_B_TOZk}If>ldTs`Kt5tw8to~GJaY_f1+W%Jb~8#I)SaLRGb8ukik^|JIbGI}%d z5;A%>fEnd&s(A9~P1T=}(VHsnW4)<*4jH|v+KG(bRH5&@O%?hJ4q!FBk26iO5H!8P zGmvnFa0i&UU+z2JY(Gp4IYjHTA&(R)63qBpbl!cbdS-p(*@6%+M1gw`DZ6jtyZay7`I4;7XyG2VfZd000gMp~Yr+BTX>A* z6B#Y6iCX|;#KP*Zg~!t^JWBHMj27;WTL5Fk!d+ntThlE(LUL+74%D4si9BIStVG9qZTi8tU;fxmUh+BZq5ev74Ej*NN;Q^8l zWwfw@Eqopt2lyPZaBJAYgXtFTC;4DT3%AEDz~_jCd*ET^FaOFp9kExaVx-mE6JNQ_ZNnnccnLx z`Y}YO_FLip`nlona^}R7hSc?j96m;R2E6{w4!2@+iwjoljU@R7UH|>{7VrLQebx8Z z8`1b{ZBL+j)a0_T$xZ1dH;~+v(d5mxQD=D_wj|c38^Z?fO*gP!M*tbxbW_a0;+TOO z!Ui^`8(2qjW5yONiy2rHGq5ylU_-irdq{4`Xy8UR@D;}0bkV|?0d!d~>^k7#$R-%} zwItVPG;l-Az=D_obXj0P2Rcy$Ye=rkXkaND_&R98^)UnJvcP~2aH0n8CV5Xr1508C zu8SE!mjwoNU=ua4n&jGy1{TK*TpKfhE(;9kxF%}gE|P098dwxFFh6DhT^1P7VNKM) zDw20+G@t|5&=|~%8926R*tHE<`%)fo*e;1>KP805Jz1L(5AfDUS+23C^1E29Cu z?0pj$xF%)*T^1P7F-_FK9VAy}G;kfaAY@=p%mBJ9FrY)4sDTwE@62f6+L(c>V+PP= zfdRxH@qPF0Bv)oMFrN+lHRz(NVg}G78uYGQ`7+N zhbuA~m>V-NJ7xe~78uY0Q`Eq6lDB6xa7E0(te63GSztiNOHl*2ki0FUfthSzUoZw& z#0;Rz0s}f+iW<0?kXh%s>P1l-k~JYGVB8v49^j zNPLzq^Wv%c!;H(L{4=5<1^UZA6(~$;f!iD0&Tb@mb4K_77^S~FN{`+O=(P}~zrl;x z>i7P#DE%L!^ysXBUJFtBr6iYS^!`%N^AksNv%f4#KO@A>`6&4kk_gu_1Vev_l3yAn zzdS_F`6&5fk~d@|pAPcD|BU@Z?7?MKjD2#Q?2LxkuOvCAes=H8fW6E$2i*lERxH%u?zFf`(buOrT zGIee})Dt}Fk|_20A!^P?sV|c=n6hy_l;>(n3|dQbiOh(N+j${&&PUlVm6xZpGv(;i zL8`Sp$Hi+>N!g8cn$+V#k=LkmqK%pmGRyg>*-PZ5F5at3$}Y^@v>xWOJ?8%%WiAde zb3V#^k(|!o-X>)}GdHV;*+fDAE6Q9HV&;65xmsTA;!TL8?99x~>tQ~_^ZCpu^VuP0 z&PSQ6{Z8b8BX9T@Uj~9`ngj=2Jt=oR2bJ zC?~miZzw5SGIRR~vqyJ4PI&3Cl{_w8LwVm92Ja}I!VhV&{mW@h;vgq-y*GeYm7ktk#4ee2wI!8`O z=kmWOhkg&}r$8)6xvBuBb6CAgx@msj73z2sWlZ>$*JER*?X^`2>zhUc_1m`k)z;B5(`TAi^GiEt%CpnS!nUDQm1>~y{qP7@ z>>jnMcY3xrPsf+*a=4549g{NQ;te(XzO2L@$H`BkeqJ(C9|cFvoKsU%yP&3~VV<*L z&QUb$#MEKhUwM+NYV2%1#YMoGpJ2!3$*#KE;?TL*=1+9-ZLZN7@2XoZeuAs!+B_z} zcUI>(7vIeq{c*1P&E_#u@7nxWSIx0?$GCW?Vf4|ZU)g-2tFEv*m>bvGJf`TkR_AC} z&9pcM@g0jR7yAptInq^kTb&WE`oQAo(O+$Tn5!09ouRJ!%;G~_b(h5lyXtzIKhjkT zZT<)s-|rY(gIqkQH2K3_^{LGdbg}g|IELXWTX%q~*4li3SKVUs{an0tVe}7m)jW&$ zb@33+;D@;CCX4rR@g1hYd%J3b#e2Ex7mFY4;z_yD>FKI#tjuI9u~j5(BHPmb$Pi7 zp;k~Kjx~L}&CM8hzL9PD!R;Z0ObNLjtrdD{2_u9;EWVC+G9{e-}e*Bs+ zr!npGv9lugdJ@hIl-zB3Zl{Q=jmlMWtadXG+{$>DqISN6>=O$(X-AR2N4v=?2X-4j zeTO5yY2uJ?Rj#|K2_-_m(@Tux4%9ye#4XAE5U?G;Rq3GQ|Np-{@_r}wJN}s%epJ)| zZ|K$cOR?W~Kh6GD?DT)($6}|PdWLylGu{ojX!e?~_ZyWLkZL_H32QyOtRK~l^NuK2` zTq2*iY~+Q?9h*86S&a3uDZ~goAB;)IZ*5l$!Ll2tsV*&HTxRf^+vp3|w5n1)-Fqn+Vz zl}==P)7~%bH$+&@e)IwG{k-l;nIO^YL3tYDuMCcq z2%=akUqd_=M<8z1P=SU%12l+(RMzUEA?}I8B_b<^y80CdN(5L8b<+?#ahOD$#ZY$* z@mE{}B*HC*diYxXC892d4$=^RN;n(TR5Pn-C5z%qUk-CJZQ%4I8)(}tg4tP+*Kf}UP6|Fo( zm*9bNJBtjpNL!BWm~fb1yA2+hXlS^Gc&@kRNRPEfXo$_W!s8DO)e0YLDG~p%+BOg4 zS=9m$Gc@*8fHjv03R!QvhjG_6!lEG?Gm`3{eqZ!;Ce=re5nI0Aq~j zLj#F`j_bY{VA+vAt-E0qgIlz+A^)LjAcAZFId#&ptaxisNytpKsj1#OE=M*Q_ULzHA)p@~=L=T+`mhsF#P{AoLjbRabEejwDV+N{G{N z?18qC=!d={ag^wY<8Uzo$KLSN5q-tc=ygX7KtJ_Hjb5UUI23*DjfU5H&s*-tXy4W6 zTk4vaJhwH|Eqik=Jj1%8W4oE-WN`2lnhnB6;Mc1%ne;cIsVma0r2Yt~Ie(^Zr$9cfJixoI_ z5G!%)2p_m_@^MsRmFX3Gt)$ys4ZY5K6&kKrkfEsIajr4!cAc~MJux3FzCMQkGn<29 zd8n~$Te%S!w=zq&(rcsTkGI|8n__k?*Jj<49^!ti%{(%^TG#KBcU^c_#L>_nf?8fb zJOZhs>CcCOb*W~x0*h;e$)c(B%S~tj~kC#v}8`G#J1_Fkk8hS z9pFibXK?I+KW{a(Wjl4*^N}*k^>BzkDPDw5fp{6mF5*=jyTfC`$a^Ju274V?KISXo zK9n@r8<6tETe{?6U1HnO2GR)ej%l~me-~(1@ji~-uqF_$Q(LkJQi0fuV;A4L*Vmr_ z>mWYEv6C2y<1oJtTQ3k_;Mhg<#F0Jr{QnA4p7;xn)?@3J1U5qKGk)3r_zu13t#X!u zxx0$}ICjGt#-3URo;f4L-+g`Vy{^XYk6PbrndSZ|X3Ne6TmDO|{I{5lUA&$lR^N%q zNh4eTvWfevJvPwE+%`|j@9mTxjW(?9~q-99YB7KU4fB#7g zMLHR28q!jv2a#Sw`Ua_?BSb#ZV5G4~XCqBTnt?PA=|-dtNRJ^si}X6uhe$slWhaDa zjnoyXAJPz{u}G&O6(dz3U5YdZX))3Yqzy=qB0Y<=3u!mf=SbfpVd{$%QcI+cNZpY7 zAPqzshBOLkJkl9R6OhW0rXpR6Gz)1S(o&>bk?um;fb<~JR;2An&m+Bx^fprDgMQ#U zU0wgxhi6naY^ZCQVGh~gXmO+9iN3zh_(jNs|6}ryrs37(=?5mkhp&y4+9E@nSH`c#H5XByf74;BAU56o>It)2J z55}ElD6U?PcSquiJqoezF^IAYvBHf(G#~!-gLnOa4aRve_7nAeY)P~>YyW5MYpLUn zf31D}b^8Wl9UX+o^2mSMzGKBW>~fA5Cy4Rl#8`tcdjEw#Zzl1$a^f}58{?Rfe@o0l z1i>Ht4B!9r2vUei)Bjwr&_6at4!`0>WXK-1#PLLoo`p?~a&TyLblNC`w$ z{Q0kWq$xrNI}g}*{+Ns3%ZFq_q`@Dnj}+w;~7n*|BmnzfAiOk;KY7$K)X~*;{Xd{y18f+wr${$?@=Xz4$oV`tfnJczhf! z4nKGtjdeRt);^-CnBM~;GCAIL5zN=4P|i{ZPfs8D&{yYzc33^M1D|x<@cQ$|>YM9M z*W!b*V;g{#oj=xpB3_>Y8UK`XL?-g=Sbc$~HvEbD!wBraMmioJ2lkUc@o})YHxAYw zQ9rHiyN@V^Kek+myqL`Qq@bJ}um1vl6)X4p-IkN%-K_%I*!LZX+NVTJpJL-^WTN=I z@can+%aipz6}Ei)iD>_m6CbZ`vG#cLz}80;9Vr)x<@jUE$vH;Lfghf%_1F(x%7;!m zXX^>XeEbQ@y?js}A2;uQ9F#}bKVf1(%SR6HY{K)&ld(I{h626OF+ES#{y{0QH&W{b za-*0Wy+4vu7~}P1?0P)=)&WG+{IR@5@pbI*NV(qdg!FZLLNX=ek4*p>onB{4@7ctEc0i#xJg} zt|}@ooh~L+R#X?4Rp1}6XKCsM#gj{QuDGhI@?w@ta4M;+X2q%1RZy)K_(%FnHC-u$ z3rfq*zo1&2TUk|7TGgkjxTI{_RB;|y`%I{uSXmVq5JhDrs8DuZS!oq}GqJKl6jfDL zRu`3&o>x{;#{UREGni4(=d z;&V%J#Q$AD==uU}sVpz;b8%To^#$6hsaQ0*n1PbwsTWusoiCbJF=bk1b!iDYu&S)$ ze4%^rqT-3uN_DpE+-cRNUjKD1Dyi%LsG zaYfmrVvvgJ;;QpYtNZ9)zo4|Z#8eFd14_g>*lG@DBG||ONnmnmarFQzR--i)zT_45 zj}-O~b&sjtFTKCLnkWe7iEdhv*X=>Eo+&Xf=zrafzLki}{leW6SJBPrhvmA!OksS- zBqHf}$Tp2Lc|O}bM|4(3R_E>6>ac9}IL{xJ$LpMTU|q)IAI8HUzSa^ZG0u-%?Dc2M z80U|D9AnQO`v308Q4UA2yli?azYr%O&;D>5_`~_hDV-IyxLwpD^jY9-2tAOGt`K{W zY9yX@A#L)OSIz6+A_DD5t`_?CGaF&W<+w$DhX)?}klsYT7}!rZ4@LS4DF>+;u;1al z73clX`yTnrkav;#BAo@f45=T|`H&YPamX|WX&utdNIj9ZBlUvL5lBOjUkkr)L0X6O zE#xPWb|H;M`97p=$WKOEi2NR;Hpo}woQ3mBoY~iWBR_%jX^`1pKC_OMe}T{3rsIIk i#d#FYvyiTa-2*rm;oJ=ASfpM^mmuv0{xni^=>H#?L`7%-