summaryrefslogtreecommitdiff
path: root/Build/source/texk/gregorio/gregorio-src/src
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-01-23 22:38:00 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-01-23 22:38:00 +0000
commitfaa5f31c4901212372d2dcf7080d9f0a23d5f195 (patch)
treecda02ce149a95cfa5d20f01943eceae7ff256b7b /Build/source/texk/gregorio/gregorio-src/src
parent21d19604dc80efef1747f4a048c9dae5e8e810b1 (diff)
gregorio 4.1.0-beta1
git-svn-id: svn://tug.org/texlive/trunk@39470 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/gregorio/gregorio-src/src')
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/Makefile.am2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/characters.c116
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/characters.h19
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/dump/dump.c708
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/enum_generator.h80
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c62
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c1063
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c11050
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l663
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c1052
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c1298
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h184
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l112
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y571
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c320
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h7
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c22
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c585
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c2071
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h19
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/plugins.h3
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/sha1.c4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/struct.c1049
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/struct.h781
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/unicode.c2
25 files changed, 13257 insertions, 8586 deletions
diff --git a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
index e2424dcbec7..1bc3209ac20 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-src/src/Makefile.am
@@ -23,7 +23,7 @@ gregorio_LDADD = $(KPSE_LIBS)
bin_PROGRAMS = gregorio
gregorio_SOURCES = gregorio-utils.c characters.c characters.h \
- messages.c messages.h struct.c struct.h \
+ messages.c messages.h struct.c struct.h enum_generator.h \
unicode.c unicode.h sha1.c sha1.h support.c support.h \
config.h bool.h plugins.h utf8strings.h dump/dump.c \
gregoriotex/gregoriotex-write.c \
diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.c b/Build/source/texk/gregorio/gregorio-src/src/characters.c
index d5e3aa31f6f..dc18f5d593e 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/characters.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/characters.c
@@ -230,7 +230,7 @@ static bool go_to_end_initial(gregorio_character **param_character)
if (!current_character) {
return false;
}
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
/* skip past any initial */
if (!current_character->is_character
&& current_character->cos.s.type == ST_T_BEGIN
@@ -280,6 +280,7 @@ static void style_pop(det_style **first_style, det_style *element)
return;
}
if (element->previous_style) {
+ assert(*first_style != element);
element->previous_style->next_style = element->next_style;
if (element->next_style) {
element->next_style->previous_style = element->previous_style;
@@ -322,14 +323,14 @@ static void free_styles(det_style **first_style)
* special-character. It places current_character to the character next to the
* end of the verbatim or special_char charachters.
*/
-static __inline void verb_or_sp(gregorio_character **ptr_character,
+static __inline void verb_or_sp(const gregorio_character **ptr_character,
const grestyle_style style, FILE *const f,
void (*const function) (FILE *, grewchar *))
{
int i, j;
grewchar *text;
- gregorio_character *current_character;
- gregorio_character *begin_character;
+ const gregorio_character *current_character;
+ const gregorio_character *begin_character;
i = 0;
j = 0;
@@ -348,7 +349,7 @@ static __inline void verb_or_sp(gregorio_character **ptr_character,
}
}
if (i == 0) {
- ptr_character = &current_character;
+ *ptr_character = current_character;
return;
}
text = (grewchar *) gregorio_malloc((i + 1) * sizeof(grewchar));
@@ -384,9 +385,9 @@ static __inline void verb_or_sp(gregorio_character **ptr_character,
* complex styles. It would be a bit stupid to do such a thing, but users are
* usually very creative when it comes to inventing twisted things...
*/
-void gregorio_write_text(const bool skip_initial,
- gregorio_character *current_character,
- FILE *const f, void (*const printverb) (FILE *, grewchar *),
+void gregorio_write_text(const gregorio_write_text_phase phase,
+ const gregorio_character *current_character, FILE *const f,
+ void (*const printverb) (FILE *, grewchar *),
void (*const printchar) (FILE *, grewchar),
void (*const begin) (FILE *, grestyle_style),
void (*const end) (FILE *, grestyle_style),
@@ -409,7 +410,7 @@ void gregorio_write_text(const bool skip_initial,
printspchar);
break;
case ST_INITIAL:
- if (skip_initial) {
+ if (phase == WTP_FIRST_SYLLABLE) {
while (current_character) {
if (!current_character->is_character
&& current_character->cos.s.type == ST_T_END
@@ -433,13 +434,16 @@ void gregorio_write_text(const bool skip_initial,
}
}
- current_character = current_character->next_character;
+ if (current_character) {
+ current_character = current_character->next_character;
+ }
}
}
-void gregorio_write_first_letter_alignment_text(const bool skip_initial,
- gregorio_character *current_character,
- FILE *const f, void (*const printverb) (FILE *, grewchar *),
+void gregorio_write_first_letter_alignment_text(
+ const gregorio_write_text_phase phase,
+ const gregorio_character *current_character, FILE *const f,
+ void (*const printverb) (FILE *, grewchar *),
void (*const printchar) (FILE *, grewchar),
void (*const begin) (FILE *, grestyle_style),
void (*const end) (FILE *, grestyle_style),
@@ -448,7 +452,7 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
/* stack of styles to close and reopen */
det_style *first_style = NULL;
det_style *last_style = NULL;
- bool first_letter_open = true;
+ int first_letter_open = (phase == WTP_FIRST_SYLLABLE)? 2 : 1;
if (!current_character) {
return;
@@ -457,7 +461,9 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
/* go to the first character */
gregorio_go_to_first_character(&current_character);
- begin(f, ST_SYLLABLE_INITIAL);
+ if (phase != WTP_FIRST_SYLLABLE) {
+ begin(f, ST_SYLLABLE_INITIAL);
+ }
/* loop until there are no characters left */
for (; current_character;
@@ -466,7 +472,7 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
/* found a real character */
if (current_character->is_character) {
printchar(f, current_character->cos.character);
- close_first_letter = first_letter_open;
+ close_first_letter = first_letter_open != 0;
} else switch (current_character->cos.s.type) {
case ST_T_NOTHING:
assert(false);
@@ -476,29 +482,23 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
switch (current_character->cos.s.style) {
case ST_CENTER:
case ST_FORCED_CENTER:
- /* ignore */
- break;
case ST_INITIAL:
- if (skip_initial) {
- while (current_character) {
- if (!current_character->is_character
- && current_character->cos.s.type == ST_T_END
- && current_character->cos.s.style ==
- ST_INITIAL) {
- break;
- }
- current_character = current_character->next_character;
- }
- } /* else ignore */
+ case ST_FIRST_SYLLABLE_INITIAL:
+ /* ignore */
break;
case ST_VERBATIM:
verb_or_sp(&current_character, ST_VERBATIM, f, printverb);
- close_first_letter = first_letter_open;
+ close_first_letter = first_letter_open != 0;
break;
case ST_SPECIAL_CHAR:
verb_or_sp(&current_character, ST_SPECIAL_CHAR, f, printspchar);
- close_first_letter = first_letter_open;
+ close_first_letter = first_letter_open != 0;
break;
+ case ST_FIRST_WORD:
+ case ST_FIRST_SYLLABLE:
+ if (phase == WTP_FIRST_SYLLABLE) {
+ break;
+ } /* else fall through */
default:
/* push the style onto the stack */
style_push(&first_style, current_character->cos.s.style);
@@ -510,27 +510,32 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
case ST_CENTER:
case ST_FORCED_CENTER:
case ST_INITIAL:
+ case ST_FIRST_SYLLABLE_INITIAL:
/* ignore */
break;
case ST_VERBATIM:
case ST_SPECIAL_CHAR:
assert(false);
break;
+ case ST_FIRST_WORD:
+ case ST_FIRST_SYLLABLE:
+ if (phase == WTP_FIRST_SYLLABLE) {
+ break;
+ } /* else fall through */
default:
/* pop the style from the stack */
- assert(first_style->style == current_character->cos.s.style);
+ assert(first_style && first_style->style
+ == current_character->cos.s.style);
style_pop(&first_style, first_style);
end(f, current_character->cos.s.style);
}
break;
}
- if (!current_character->next_character && first_letter_open) {
- close_first_letter = first_letter_open;
- }
-
- if (close_first_letter) {
- first_letter_open = false;
+ while (close_first_letter || (!current_character->next_character
+ && first_letter_open > 0)) {
+ close_first_letter = false;
+ --first_letter_open;
/* close all the styles in the stack */
if (first_style) {
@@ -563,12 +568,18 @@ void gregorio_write_first_letter_alignment_text(const bool skip_initial,
}
}
+ if (phase == WTP_FIRST_SYLLABLE) {
+ while ((--first_letter_open) >= 0) {
+ end(f, ST_SYLLABLE_INITIAL);
+ }
+ }
+
free_styles(&first_style);
}
/* the default behaviour is to write only the initial, that is to say things
* between the styles ST_INITIAL */
-void gregorio_write_initial(gregorio_character *current_character,
+void gregorio_write_initial(const gregorio_character *current_character,
FILE *const f, void (*const printverb) (FILE *, grewchar *),
void (*const printchar) (FILE *, grewchar),
void (*const begin) (FILE *, grestyle_style),
@@ -795,10 +806,12 @@ static void suppress_this_character(gregorio_character *to_suppress)
return;
}
if (to_suppress->previous_character) {
+ assert(to_suppress->previous_character->next_character == to_suppress);
to_suppress->previous_character->next_character =
to_suppress->next_character;
}
if (to_suppress->next_character) {
+ assert(to_suppress->next_character->previous_character == to_suppress);
to_suppress->next_character->previous_character =
to_suppress->previous_character;
}
@@ -936,8 +949,9 @@ static __inline bool _suppress_char_and_end_c(
return true;
} else {
if ((*ptr_character)->previous_character) {
+ gregorio_character *to_suppress = *ptr_character;
(*ptr_character) = (*ptr_character)->previous_character;
- suppress_this_character((*ptr_character)->next_character);
+ suppress_this_character(to_suppress);
} else {
suppress_this_character(*ptr_character);
*ptr_character = NULL;
@@ -963,7 +977,7 @@ static __inline bool _suppress_char_and_end_c(
* in the middle of a verbatim block.
*/
-void gregorio_rebuild_characters(gregorio_character **param_character,
+void gregorio_rebuild_characters(gregorio_character **const param_character,
gregorio_center_determination center_is_determined, bool skip_initial)
{
/* the current_character */
@@ -979,9 +993,9 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
if (!current_character->next_character) {
/* nothing else to rebuild, but the initial needs to be ST_CENTER */
insert_style_after(ST_T_END, ST_CENTER, &current_character);
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
insert_style_before(ST_T_BEGIN, ST_CENTER, current_character);
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
(*param_character) = current_character;
return;
}
@@ -989,7 +1003,7 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
/* move to the character after the initial */
current_character = current_character->next_character;
} else {
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
}
}
/* first we see if there is already a center determined */
@@ -1170,12 +1184,12 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
if (skip_initial && go_to_end_initial(&current_character)) {
current_character = current_character->next_character;
} else {
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
}
insert_style_before(ST_T_BEGIN, ST_CENTER, current_character);
}
/* well.. you're quite brave if you reach this comment. */
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
(*param_character) = current_character;
free_styles(&first_style);
}
@@ -1204,7 +1218,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
gregorio_character *first_character;
gregorio_character *start_of_special;
/* so, here we start: we go to the first_character */
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
/* first we look at the styles, to see if there is a FORCED_CENTER
* somewhere and we also remove the CENTER styles if the syllable starts at
* CENTER */
@@ -1232,7 +1246,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
current_character = current_character->next_character;
}
current_character = *param_character;
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
first_character = current_character;
/* now we are going to place the two INITIAL styles (begin and end) */
while (current_character) {
@@ -1308,7 +1322,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
current_character = current_character->next_character;
}
} else {
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
}
if (current_character) {
bool marked_syllable_initial = false;
@@ -1355,7 +1369,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
}
current_character = *param_character;
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
(*param_character) = current_character;
}
@@ -1390,6 +1404,6 @@ void gregorio_set_first_word(gregorio_character **const character)
/* else there are no more characters here */
if (*character) {
- gregorio_go_to_first_character(character);
+ gregorio_go_to_first_character_c(character);
}
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/characters.h b/Build/source/texk/gregorio/gregorio-src/src/characters.h
index 1575fc0d1c9..06486dadc9b 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/characters.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/characters.h
@@ -57,23 +57,28 @@ typedef struct det_style {
gregorio_character *gregorio_first_text(gregorio_score *score);
-void gregorio_write_text(bool skip_initial,
- gregorio_character *current_character,
- FILE *f, void (*printverb) (FILE *, grewchar *),
+typedef enum gregorio_write_text_phase {
+ WTP_NORMAL,
+ WTP_FIRST_SYLLABLE
+} gregorio_write_text_phase;
+
+void gregorio_write_text(gregorio_write_text_phase phase,
+ const gregorio_character *current_character, FILE *f,
+ void (*printverb) (FILE *, grewchar *),
void (*printchar) (FILE *, grewchar),
void (*begin) (FILE *, grestyle_style),
void (*end) (FILE *, grestyle_style),
void (*printspchar) (FILE *, grewchar *));
-void gregorio_write_first_letter_alignment_text(bool skip_initial,
- gregorio_character *current_character,
- FILE *f, void (*printverb) (FILE *, grewchar *),
+void gregorio_write_first_letter_alignment_text(gregorio_write_text_phase phase,
+ const gregorio_character *current_character, FILE *f,
+ void (*printverb) (FILE *, grewchar *),
void (*printchar) (FILE *, grewchar),
void (*begin) (FILE *, grestyle_style),
void (*end) (FILE *, grestyle_style),
void (*printspchar) (FILE *, grewchar *));
-void gregorio_write_initial(gregorio_character *current_character,
+void gregorio_write_initial(const gregorio_character *current_character,
FILE *f, void (*printverb) (FILE *, grewchar *),
void (*printchar) (FILE *, grewchar),
void (*begin) (FILE *, grestyle_style),
diff --git a/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c b/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c
index f1c8fc6b8c9..f2adafa80c5 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/dump/dump.c
@@ -30,78 +30,15 @@
#include "plugins.h"
#include "support.h"
-static const char *unknown(int value) {
- static char buf[20];
- gregorio_snprintf(buf, 20, "?%d", value);
- return buf;
-}
-
-static const char *dump_translation_type_to_string(gregorio_tr_centering
- translation_type)
-{
- switch (translation_type) {
- case TR_NORMAL:
- return "TR_NORMAL";
- case TR_WITH_CENTER_BEGINNING:
- return "TR_WITH_CENTER_BEGINNING";
- case TR_WITH_CENTER_END:
- return "TR_WITH_CENTER_END";
- }
- return unknown(translation_type);
-}
-
-static const char *dump_nlba_to_string(gregorio_nlba no_linebreak_area)
-{
- switch (no_linebreak_area) {
- case NLBA_NORMAL:
- return "NLBA_NORMAL";
- case NLBA_BEGINNING:
- return "NLBA_BEGINNING";
- case NLBA_END:
- return "NLBA_END";
- }
- return unknown(no_linebreak_area);
-}
-
static const char *dump_style_to_string(grestyle_style style)
{
- switch (style) {
- case ST_NO_STYLE:
- return " ST_NO_STYLE";
- case ST_ITALIC:
- return " ST_ITALIC";
- case ST_CENTER:
- return " ST_CENTER";
- case ST_FORCED_CENTER:
- return " ST_FORCED_CENTER";
- case ST_INITIAL:
- return " ST_INITIAL";
- case ST_BOLD:
- return " ST_BOLD";
- case ST_TT:
- return " ST_TT";
- case ST_UNDERLINED:
- return " ST_UNDERLINED";
- case ST_COLORED:
- return " ST_COLORED";
- case ST_SMALL_CAPS:
- return " ST_SMALL_CAPS";
- case ST_SPECIAL_CHAR:
- return " ST_SPECIAL_CHAR";
- case ST_VERBATIM:
- return " ST_VERBATIM";
- case ST_FIRST_WORD:
- return " ST_FIRST_WORD";
- case ST_FIRST_SYLLABLE:
- return "ST_FIRST_SYLLABLE";
- case ST_FIRST_SYLLABLE_INITIAL:
- return "ST_FIRST_SYLLABLE_INITIAL";
- default:
- return unknown(style);
- }
+ static char buf[50];
+
+ gregorio_snprintf(buf, sizeof buf, "%16s", grestyle_style_to_string(style));
+ return buf;
}
-static void dump_write_characters(FILE *const f,
+void dump_write_characters(FILE *const f,
const gregorio_character * current_character)
{
while (current_character) {
@@ -124,399 +61,18 @@ static void dump_write_characters(FILE *const f,
}
}
-static const char *dump_key_to_char(const int key)
-{
- switch (key) {
- case -2:
- return "f1";
- case 0:
- return "f2";
- case 2:
- return "f3";
- case 4:
- return "f4";
- case 1:
- return "c1";
- case 3:
- return "c2";
- case 5:
- return "c3";
- case 7:
- return "c4";
- }
- return "no key defined";
-}
-
-static const char *dump_syllable_position(gregorio_word_position pos)
-{
- switch (pos) {
- case WORD_BEGINNING:
- return "WORD_BEGINNING";
- case WORD_MIDDLE:
- return "WORD_MIDDLE";
- case WORD_END:
- return "WORD_END";
- case WORD_ONE_SYLLABLE:
- return "WORD_ONE_SYLLABLE";
- }
- return "unknown";
-}
-
-static const char *dump_type(gregorio_type type)
-{
- switch (type) {
- case GRE_NOTE:
- return "GRE_NOTE";
- case GRE_GLYPH:
- return "GRE_GLYPH";
- case GRE_ELEMENT:
- return "GRE_ELEMENT";
- case GRE_FLAT:
- return "GRE_FLAT";
- case GRE_SHARP:
- return "GRE_SHARP";
- case GRE_NATURAL:
- return "GRE_NATURAL";
- case GRE_C_KEY_CHANGE:
- return "GRE_C_KEY_CHANGE";
- case GRE_F_KEY_CHANGE:
- return "GRE_F_KEY_CHANGE";
- case GRE_END_OF_LINE:
- return "GRE_END_OF_LINE";
- case GRE_END_OF_PAR:
- return "GRE_END_OF_PAR";
- case GRE_CUSTOS:
- return "GRE_CUSTOS";
- case GRE_SPACE:
- return "GRE_SPACE";
- case GRE_BAR:
- return "GRE_BAR";
- case GRE_SYLLABLE:
- return "GRE_SYLLABLE";
- case GRE_TEXVERB_GLYPH:
- return "GRE_TEXVERB_GLYPH";
- case GRE_TEXVERB_ELEMENT:
- return "GRE_TEXVERB_ELEMENT";
- case GRE_NLBA:
- return "GRE_NLBA";
- case GRE_ALT:
- return "GRE_ALT";
- case GRE_MANUAL_CUSTOS:
- return "GRE_MANUAL_CUSTOS";
- default:
- return "unknown";
- }
-}
-
-static const char *dump_bar_type(gregorio_bar element_type)
-{
- switch (element_type) {
- case B_NO_BAR:
- return "B_NO_BAR";
- case B_VIRGULA:
- return "B_VIRGULA";
- case B_DIVISIO_MINIMA:
- return "B_DIVISIO_MINIMA";
- case B_DIVISIO_MINOR:
- return "B_DIVISIO_MINOR";
- case B_DIVISIO_MAIOR:
- return "B_DIVISIO_MAIOR";
- case B_DIVISIO_FINALIS:
- return "B_DIVISIO_FINALIS";
- case B_DIVISIO_MINOR_D1:
- return "B_DIVISIO_MINOR_D1";
- case B_DIVISIO_MINOR_D2:
- return "B_DIVISIO_MINOR_D2";
- case B_DIVISIO_MINOR_D3:
- return "B_DIVISIO_MINOR_D3";
- case B_DIVISIO_MINOR_D4:
- return "B_DIVISIO_MINOR_D4";
- case B_DIVISIO_MINOR_D5:
- return "B_DIVISIO_MINOR_D5";
- case B_DIVISIO_MINOR_D6:
- return "B_DIVISIO_MINOR_D6";
- }
- return "unknown";
-}
-
-static const char *dump_space_type(gregorio_space element_type)
-{
- switch (element_type) {
- case SP_DEFAULT:
- return "SP_DEFAULT";
- case SP_NO_SPACE:
- return "SP_NO_SPACE";
- case SP_ZERO_WIDTH:
- return "SP_ZERO_WIDTH";
- case SP_NEUMATIC_CUT:
- return "SP_NEUMATIC_CUT";
- case SP_LARGER_SPACE:
- return "SP_LARGER_SPACE";
- case SP_GLYPH_SPACE:
- return "SP_GLYPH_SPACE";
- case SP_GLYPH_SPACE_NB:
- return "SP_GLYPH_SPACE_NB";
- case SP_LARGER_SPACE_NB:
- return "SP_LARGER_SPACE_NB";
- case SP_NEUMATIC_CUT_NB:
- return "SP_NEUMATIC_CUT_NB";
- }
- return "unknown";
-}
-
-static const char *dump_liquescentia(gregorio_liquescentia liquescentia)
-{
- switch (liquescentia) {
- case L_NO_LIQUESCENTIA:
- return "L_NO_LIQUESCENTIA";
- case L_DEMINUTUS:
- return "L_DEMINUTUS";
- case L_AUCTUS_ASCENDENS:
- return "L_AUCTUS_ASCENDENS";
- case L_AUCTUS_DESCENDENS:
- return "L_AUCTUS_DESCENDENS";
- case L_AUCTA:
- return "L_AUCTA";
- case L_INITIO_DEBILIS:
- return "L_INITIO_DEBILIS";
- case L_DEMINUTUS_INITIO_DEBILIS:
- return "L_DEMINUTUS_INITIO_DEBILIS";
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- return "L_AUCTUS_ASCENDENS_INITIO_DEBILIS";
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- return "L_AUCTUS_DESCENDENS_INITIO_DEBILIS";
- case L_AUCTA_INITIO_DEBILIS:
- return "L_AUCTA_INITIO_DEBILIS";
- }
- return "unknown";
-}
-
-static const char *dump_glyph_type(gregorio_glyph_type glyph_type)
-{
- switch (glyph_type) {
- case G_PUNCTUM_INCLINATUM:
- return "G_PUNCTUM_INCLINATUM";
- case G_2_PUNCTA_INCLINATA_DESCENDENS:
- return "G_2_PUNCTA_INCLINATA_DESCENDENS";
- case G_3_PUNCTA_INCLINATA_DESCENDENS:
- return "G_3_PUNCTA_INCLINATA_DESCENDENS";
- case G_4_PUNCTA_INCLINATA_DESCENDENS:
- return "G_4_PUNCTA_INCLINATA_DESCENDENS";
- case G_5_PUNCTA_INCLINATA_DESCENDENS:
- return "G_5_PUNCTA_INCLINATA_DESCENDENS";
- case G_2_PUNCTA_INCLINATA_ASCENDENS:
- return "G_2_PUNCTA_INCLINATA_ASCENDENS";
- case G_3_PUNCTA_INCLINATA_ASCENDENS:
- return "G_3_PUNCTA_INCLINATA_ASCENDENS";
- case G_4_PUNCTA_INCLINATA_ASCENDENS:
- return "G_4_PUNCTA_INCLINATA_ASCENDENS";
- case G_5_PUNCTA_INCLINATA_ASCENDENS:
- return "G_5_PUNCTA_INCLINATA_ASCENDENS";
- case G_TRIGONUS:
- return "G_TRIGONUS";
- case G_PUNCTA_INCLINATA:
- return "G_PUNCTA_INCLINATA";
- case G_UNDETERMINED:
- return "G_UNDETERMINED";
- case G_VIRGA:
- return "G_VIRGA";
- case G_VIRGA_REVERSA:
- return "G_VIRGA_REVERSA";
- case G_STROPHA:
- return "G_STROPHA";
- case G_STROPHA_AUCTA:
- return "G_STROPHA_AUCTA";
- case G_PUNCTUM:
- return "G_PUNCTUM";
- case G_PODATUS:
- return "G_PODATUS";
- case G_PES_QUADRATUM:
- return "G_PES_QUADRATUM";
- case G_FLEXA:
- return "G_FLEXA";
- case G_TORCULUS:
- return "G_TORCULUS";
- case G_TORCULUS_RESUPINUS:
- return "G_TORCULUS_RESUPINUS";
- case G_TORCULUS_RESUPINUS_FLEXUS:
- return "G_TORCULUS_RESUPINUS_FLEXUS";
- case G_PORRECTUS:
- return "G_PORRECTUS";
- case G_PORRECTUS_FLEXUS:
- return "G_PORRECTUS_FLEXUS";
- case G_BIVIRGA:
- return "G_BIVIRGA";
- case G_TRIVIRGA:
- return "G_TRIVIRGA";
- case G_DISTROPHA:
- return "G_DISTROPHA";
- case G_DISTROPHA_AUCTA:
- return "G_DISTROPHA_AUCTA";
- case G_TRISTROPHA:
- return "G_TRISTROPHA";
- case G_ANCUS:
- return "G_ANCUS";
- case G_TRISTROPHA_AUCTA:
- return "G_TRISTROPHA_AUCTA";
- case G_PES_QUADRATUM_FIRST_PART:
- return "G_PES_QUADRATUM_FIRST_PART";
- case G_SCANDICUS:
- return "G_SCANDICUS";
- case G_SALICUS:
- return "G_SALICUS";
- case G_VIRGA_STRATA:
- return "G_VIRGA_STRATA";
- case G_TORCULUS_LIQUESCENS:
- return "G_TORCULUS_LIQUESCENS";
- default:
- return "unknown";
- }
-}
-
-static const char *dump_shape(gregorio_shape shape)
-{
- switch (shape) {
- case S_UNDETERMINED:
- return "S_UNDETERMINED";
- case S_PUNCTUM:
- return "S_PUNCTUM";
- case S_PUNCTUM_END_OF_GLYPH:
- return "S_PUNCTUM_END_OF_GLYPH";
- case S_PUNCTUM_INCLINATUM:
- return "S_PUNCTUM_INCLINATUM";
- case S_PUNCTUM_INCLINATUM_DEMINUTUS:
- return "S_PUNCTUM_INCLINATUM_DEMINUTUS";
- case S_PUNCTUM_INCLINATUM_AUCTUS:
- return "S_PUNCTUM_INCLINATUM_AUCTUS";
- case S_VIRGA:
- return "S_VIRGA";
- case S_VIRGA_REVERSA:
- return "S_VIRGA_REVERSA";
- case S_BIVIRGA:
- return "S_BIVIRGA";
- case S_TRIVIRGA:
- return "S_TRIVIRGA";
- case S_ORISCUS:
- return "S_ORISCUS";
- case S_ORISCUS_AUCTUS:
- return "S_ORISCUS_AUCTUS";
- case S_ORISCUS_DEMINUTUS:
- return "S_ORISCUS_DEMINUTUS";
- case S_ORISCUS_SCAPUS:
- return "S_ORISCUS_SCAPUS";
- case S_QUILISMA:
- return "S_QUILISMA";
- case S_STROPHA:
- return "S_STROPHA";
- case S_STROPHA_AUCTA:
- return "S_STROPHA_AUCTA";
- case S_DISTROPHA:
- return "S_DISTROPHA";
- case S_DISTROPHA_AUCTA:
- return "S_DISTROPHA_AUCTA";
- case S_TRISTROPHA:
- return "S_TRISTROPHA";
- case S_TRISTROPHA_AUCTA:
- return "S_TRISTROPHA_AUCTA";
- case S_QUADRATUM:
- return "S_QUADRATUM";
- case S_PUNCTUM_CAVUM:
- return "S_PUNCTUM_CAVUM";
- case S_LINEA_PUNCTUM:
- return "S_LINEA_PUNCTUM";
- case S_LINEA_PUNCTUM_CAVUM:
- return "S_LINEA_PUNCTUM_CAVUM";
- case S_LINEA:
- return "S_LINEA";
- case S_PUNCTUM_CAVUM_INCLINATUM:
- return "S_PUNCTUM_CAVUM_INCLINATUM";
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- return "S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS";
- default:
- return "unknown";
- }
-}
-
-static const char *dump_signs(gregorio_sign signs)
-{
- switch (signs) {
- case _NO_SIGN:
- return "_NO_SIGN";
- case _PUNCTUM_MORA:
- return "_PUNCTUM_MORA";
- case _AUCTUM_DUPLEX:
- return "_AUCTUM_DUPLEX";
- case _V_EPISEMA:
- return "_V_EPISEMA";
- case _V_EPISEMA_PUNCTUM_MORA:
- return "_V_EPISEMA_PUNCTUM_MORA";
- case _V_EPISEMA_AUCTUM_DUPLEX:
- return "_V_EPISEMA_AUCTUM_DUPLEX";
- default:
- return "unknown";
- }
-}
-
-/* a function dumping special signs */
-static const char *dump_special_sign(gregorio_sign special_sign)
-{
- switch (special_sign) {
- case _ACCENTUS:
- return "_ACCENTUS";
- case _ACCENTUS_REVERSUS:
- return "_ACCENTUS_REVERSUS";
- case _CIRCULUS:
- return "_CIRCULUS";
- case _SEMI_CIRCULUS:
- return "_SEMI_CIRCULUS";
- case _SEMI_CIRCULUS_REVERSUS:
- return "_SEMI_CIRCULUS_REVERSUS";
- case _V_EPISEMA:
- return "_V_EPISEMA";
- case _V_EPISEMA_BAR_H_EPISEMA:
- return "_V_EPISEMA_BAR_H_EPISEMA";
- case _BAR_H_EPISEMA:
- return "_BAR_H_EPISEMA";
- default:
- return "unknown";
- }
-}
-
-static const char *dump_h_episema_size(grehepisema_size size)
-{
- switch (size) {
- case H_NORMAL:
- return "H_NORMAL";
- case H_SMALL_LEFT:
- return "H_SMALL_LEFT";
- case H_SMALL_CENTRE:
- return "H_SMALL_CENTRE";
- case H_SMALL_RIGHT:
- return "H_SMALL_RIGHT";
- }
- return "unknown";
-}
-
static const char *dump_bool(bool value) {
return value? "true" : "false";
}
-static const char *dump_vposition(gregorio_vposition vpos) {
- switch (vpos) {
- case VPOS_AUTO:
- return "VPOS_AUTO";
- case VPOS_ABOVE:
- return "VPOS_ABOVE";
- case VPOS_BELOW:
- return "VPOS_BELOW";
- }
- return "unknown";
-}
-
-static const char *dump_pitch(const char height) {
+static const char *dump_pitch(const char height, const char highest_pitch) {
static char buf[20];
- if (height >= LOWEST_PITCH && height <= HIGHEST_PITCH) {
- gregorio_snprintf(buf, 20, "%c", height + 'a' - LOWEST_PITCH);
+ if (height >= LOWEST_PITCH && height <= highest_pitch) {
+ char pitch = height + 'a' - LOWEST_PITCH;
+ if (pitch == 'o') {
+ pitch = 'p';
+ }
+ gregorio_snprintf(buf, 20, "%c", pitch);
} else {
gregorio_snprintf(buf, 20, "?%d", height);
}
@@ -529,6 +85,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
int i;
int annotation_num;
gregorio_syllable *syllable;
+ gregorio_header *header;
if (!f) {
gregorio_message(_("call with NULL file"), "gregoriotex_write_score",
@@ -552,63 +109,33 @@ void dump_write_score(FILE *f, gregorio_score *score)
if (score->score_copyright) {
fprintf(f, " score_copyright %s\n", score->score_copyright);
}
- if (score->office_part) {
- fprintf(f, " office_part %s\n", score->office_part);
- }
- if (score->occasion) {
- fprintf(f, " occasion %s\n", score->occasion);
- }
- if (score->meter) {
- fprintf(f, " meter %s\n", score->meter);
- }
- if (score->commentary) {
- fprintf(f, " commentary %s\n", score->commentary);
- }
- if (score->arranger) {
- fprintf(f, " arranger %s\n", score->arranger);
- }
- if (score->si.author) {
- fprintf(f, " author %s\n", score->si.author);
- }
- if (score->si.date) {
- fprintf(f, " date %s\n", score->si.date);
- }
- if (score->si.manuscript) {
- fprintf(f, " manuscript %s\n", score->si.manuscript);
- }
- if (score->si.manuscript_reference) {
- fprintf(f, " manuscript_reference %s\n",
- score->si.manuscript_reference);
- }
- if (score->si.manuscript_storage_place) {
- fprintf(f, " manuscript_storage_place %s\n",
- score->si.manuscript_storage_place);
+ if (score->author) {
+ fprintf(f, " author %s\n", score->author);
}
- if (score->si.book) {
- fprintf(f, " book %s\n", score->si.book);
- }
- if (score->si.transcriber) {
- fprintf(f, " transcriber %s\n", score->si.transcriber);
- }
- if (score->si.transcription_date) {
- fprintf(f, " transcription_date %s\n",
- score->si.transcription_date);
+ if (score->mode) {
+ fprintf(f, " mode %s\n", score->mode);
}
- if (score->gregoriotex_font) {
- fprintf(f, " gregoriotex_font %s\n",
- score->gregoriotex_font);
+ if (score->mode_modifier) {
+ fprintf(f, " mode_modifier %s\n", score->mode_modifier);
}
- if (score->mode) {
- fprintf(f, " mode %d\n", score->mode);
+ if (score->mode_differentia) {
+ fprintf(f, " mode_differentia %s\n", score->mode_differentia);
}
- if (score->initial_style) {
- fprintf(f, " initial_style %d\n", score->initial_style);
+ if (score->staff_lines != 4) {
+ fprintf(f, " staff_lines %d\n", (int)score->staff_lines);
}
if (score->nabc_lines) {
- fprintf (f, " nabc_lines %d\n", (int)score->nabc_lines);
+ fprintf(f, " nabc_lines %d\n", (int)score->nabc_lines);
+ }
+ if (score->legacy_oriscus_orientation) {
+ fprintf(f, " oriscus-orientation legacy\n");
}
- if (score->user_notes) {
- fprintf(f, " user_notes %s\n", score->user_notes);
+ fprintf(f, "\n\n"
+ "=====================================================================\n"
+ " HEADERS\n"
+ "=====================================================================\n");
+ for (header = score->headers; header; header = header->next) {
+ fprintf(f, " %-25s %s\n", header->name, header->value);
}
fprintf(f, "\n\n"
"=====================================================================\n"
@@ -616,13 +143,23 @@ void dump_write_score(FILE *f, gregorio_score *score)
"=====================================================================\n");
for (i = 0; i < score->number_of_voices; i++) {
fprintf(f, " Voice %d\n", i + 1);
- if (voice_info->initial_key) {
- fprintf(f, " initial_key %d (%s)\n",
- voice_info->initial_key,
- dump_key_to_char(voice_info->initial_key));
- if (voice_info->flatted_key) {
+ if (voice_info->initial_clef.line) {
+ fprintf(f, " initial_key %d (%c%d)\n",
+ gregorio_calculate_new_key(voice_info->initial_clef),
+ gregorio_clef_to_char(voice_info->initial_clef.clef),
+ voice_info->initial_clef.line);
+ if (voice_info->initial_clef.flatted) {
fprintf(f, " flatted_key true\n");
}
+ if (voice_info->initial_clef.secondary_line) {
+ fprintf(f, " secondary_clef %c%d\n",
+ gregorio_clef_to_char(
+ voice_info->initial_clef.secondary_clef),
+ voice_info->initial_clef.secondary_line);
+ if (voice_info->initial_clef.secondary_flatted) {
+ fprintf(f, " secondary_flatted_key true\n");
+ }
+ }
}
for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS;
++annotation_num) {
@@ -631,13 +168,6 @@ void dump_write_score(FILE *f, gregorio_score *score)
score->annotation[annotation_num]);
}
}
- if (voice_info->style) {
- fprintf(f, " style %s\n", voice_info->style);
- }
- if (voice_info->virgula_position) {
- fprintf(f, " virgula_position %s\n",
- voice_info->virgula_position);
- }
voice_info = voice_info->next_voice_info;
}
fprintf(f, "\n\n"
@@ -649,20 +179,20 @@ void dump_write_score(FILE *f, gregorio_score *score)
gregorio_element *element;
if (syllable->type) {
fprintf(f, " type %d (%s)\n",
- syllable->type, dump_type(syllable->type));
+ syllable->type, gregorio_type_to_string(syllable->type));
}
if (syllable->position) {
fprintf(f, " position %d (%s)\n",
syllable->position,
- dump_syllable_position(syllable->position));
+ gregorio_word_position_to_string(syllable->position));
}
if (syllable->special_sign) {
fprintf(f, " special sign %s\n",
- dump_special_sign(syllable->special_sign));
+ gregorio_sign_to_string(syllable->special_sign));
}
if (syllable->no_linebreak_area != NLBA_NORMAL) {
fprintf(f, " no line break area %s\n",
- dump_nlba_to_string(syllable->no_linebreak_area));
+ gregorio_nlba_to_string(syllable->no_linebreak_area));
}
if (syllable->text) {
if (syllable->translation) {
@@ -674,7 +204,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
&& syllable->translation_type != TR_WITH_CENTER_END)
|| syllable->translation_type == TR_WITH_CENTER_END) {
fprintf(f, "\n Translation type %s",
- dump_translation_type_to_string
+ gregorio_tr_centering_to_string
(syllable->translation_type));
if (syllable->translation_type == TR_WITH_CENTER_END) {
fprintf(f, "\n");
@@ -692,13 +222,14 @@ void dump_write_score(FILE *f, gregorio_score *score)
fprintf(f, "---------------------------------------------------------------------\n");
if (element->type) {
fprintf(f, " type %d (%s)\n",
- element->type, dump_type(element->type));
+ element->type, gregorio_type_to_string(element->type));
}
switch (element->type) {
case GRE_CUSTOS:
if (element->u.misc.pitched.pitch) {
fprintf(f, " pitch %s\n",
- dump_pitch(element->u.misc.pitched.pitch));
+ dump_pitch(element->u.misc.pitched.pitch,
+ score->highest_pitch));
}
if (element->u.misc.pitched.force_pitch) {
fprintf(f, " force_pitch true\n");
@@ -706,10 +237,13 @@ void dump_write_score(FILE *f, gregorio_score *score)
break;
case GRE_SPACE:
if (element->u.misc.unpitched.info.space) {
- fprintf(f, " space %d (%s)\n",
+ char *factor = element->u.misc.unpitched.info.
+ ad_hoc_space_factor;
+ fprintf(f, " space %d (%s)%s%s\n",
element->u.misc.unpitched.info.space,
- dump_space_type(element->u.misc.unpitched.info.
- space));
+ gregorio_space_to_string(
+ element->u.misc.unpitched.info.space),
+ factor? " x " : "", factor? factor : "");
}
break;
case GRE_TEXVERB_ELEMENT:
@@ -719,7 +253,7 @@ void dump_write_score(FILE *f, gregorio_score *score)
case GRE_NLBA:
fprintf(f, " nlba %d (%s)\n",
element->u.misc.unpitched.info.nlba,
- dump_nlba_to_string(element->u.misc.unpitched.info.
+ gregorio_nlba_to_string(element->u.misc.unpitched.info.
nlba));
break;
case GRE_ALT:
@@ -730,40 +264,44 @@ void dump_write_score(FILE *f, gregorio_score *score)
if (element->u.misc.unpitched.info.bar) {
fprintf(f, " bar %d (%s)\n",
element->u.misc.unpitched.info.bar,
- dump_bar_type(element->u.misc.unpitched.info.bar));
+ gregorio_bar_to_string(element->u.misc.unpitched.
+ info.bar));
if (element->u.misc.unpitched.special_sign) {
fprintf(f, " special sign %d (%s)\n",
element->u.misc.unpitched.special_sign,
- dump_special_sign(element->u.misc.unpitched.
- special_sign));
+ gregorio_sign_to_string(element->
+ u.misc.unpitched.special_sign));
}
}
break;
- case GRE_C_KEY_CHANGE:
- if (element->u.misc.pitched.pitch) {
- fprintf(f, " clef %d (c%d)\n",
- element->u.misc.pitched.pitch,
- element->u.misc.pitched.pitch - '0');
- if (element->u.misc.pitched.flatted_key) {
+ case GRE_CLEF:
+ if (element->u.misc.clef.line) {
+ fprintf(f, " clef %d (%c%d)\n",
+ gregorio_calculate_new_key(element->u.misc.clef),
+ gregorio_clef_to_char(element->u.misc.clef.clef),
+ element->u.misc.clef.line);
+ if (element->u.misc.clef.flatted) {
fprintf(f, " flatted_key true\n");
}
- }
- break;
- case GRE_F_KEY_CHANGE:
- if (element->u.misc.pitched.pitch) {
- fprintf(f, " clef %d (f%d)\n",
- element->u.misc.pitched.pitch,
- element->u.misc.pitched.pitch - '0');
- if (element->u.misc.pitched.flatted_key) {
- fprintf(f, " flatted_key true\n");
+ if (element->u.misc.clef.secondary_line) {
+ fprintf(f, " secondary_clef %c%d\n",
+ gregorio_clef_to_char(
+ element->u.misc.clef.secondary_clef),
+ element->u.misc.clef.secondary_line);
+ if (element->u.misc.clef.secondary_flatted) {
+ fprintf(f, " secondary_flatted_key true\n");
+ }
}
}
break;
case GRE_END_OF_LINE:
- if (element->u.misc.unpitched.info.sub_type) {
- fprintf(f, " sub_type %d (%s)\n",
- element->u.misc.unpitched.info.sub_type,
- dump_type(element->u.misc.unpitched.info.sub_type));
+ if (element->u.misc.unpitched.info.eol_ragged) {
+ fprintf(f, " ragged true\n");
+ }
+ if (element->u.misc.unpitched.info.eol_forces_custos) {
+ fprintf(f, " forces custos %s\n",
+ dump_bool(element
+ ->u.misc.unpitched.info.eol_forces_custos_on));
}
break;
case GRE_ELEMENT:
@@ -773,7 +311,8 @@ void dump_write_score(FILE *f, gregorio_score *score)
fprintf(f, "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n");
if (glyph->type) {
fprintf(f, " type %d (%s)\n",
- glyph->type, dump_type(glyph->type));
+ glyph->type, gregorio_type_to_string(glyph->
+ type));
}
switch (glyph->type) {
case GRE_TEXVERB_GLYPH:
@@ -784,39 +323,33 @@ void dump_write_score(FILE *f, gregorio_score *score)
case GRE_SPACE:
fprintf(f, " space %d (%s)\n",
glyph->u.misc.unpitched.info.space,
- dump_space_type(glyph->u.misc.unpitched.info.
- space));
+ gregorio_space_to_string(glyph->u.misc.
+ unpitched.info.space));
break;
case GRE_BAR:
fprintf(f, " glyph_type %d (%s)\n",
glyph->u.misc.unpitched.info.bar,
- dump_bar_type(glyph->u.misc.unpitched.info.
- bar));
+ gregorio_bar_to_string(glyph->u.misc.unpitched.
+ info.bar));
if (glyph->u.misc.unpitched.special_sign) {
fprintf(f, " special sign %d (%s)\n",
glyph->u.misc.unpitched.special_sign,
- dump_special_sign(glyph->u.misc.unpitched.
- special_sign));
+ gregorio_sign_to_string(glyph->
+ u.misc.unpitched.special_sign));
}
break;
- case GRE_FLAT:
- case GRE_NATURAL:
- case GRE_SHARP:
- fprintf(f, " pitch %s\n",
- dump_pitch(glyph->u.misc.pitched.pitch));
- break;
-
case GRE_GLYPH:
fprintf(f, " glyph_type %d (%s)\n",
glyph->u.notes.glyph_type,
- dump_glyph_type(glyph->u.notes.glyph_type));
+ gregorio_glyph_type_to_string(glyph->u.notes.
+ glyph_type));
if (glyph->u.notes.liquescentia) {
fprintf(f, " liquescentia %d (%s)\n",
glyph->u.notes.liquescentia,
- dump_liquescentia(glyph->u.notes.
- liquescentia));
+ gregorio_liquescentia_to_string(
+ glyph->u.notes.liquescentia));
}
break;
@@ -830,24 +363,27 @@ void dump_write_score(FILE *f, gregorio_score *score)
fprintf(f, "- - - - - - - - - - - - - - - - - - - - - - - \n");
if (note->type) {
fprintf(f, " type %d (%s)\n",
- note->type, dump_type(note->type));
+ note->type,
+ gregorio_type_to_string(note->type));
}
switch (note->type) {
case GRE_NOTE:
if (note->u.note.pitch) {
fprintf(f, " pitch %s\n",
- dump_pitch(note->u.note.pitch));
+ dump_pitch(note->u.note.pitch,
+ score->highest_pitch));
}
if (note->u.note.shape) {
fprintf(f, " shape %d (%s)\n",
note->u.note.shape,
- dump_shape(note->u.note.shape));
+ gregorio_shape_to_string(
+ note->u.note.shape));
}
if (note->u.note.liquescentia) {
fprintf(f, " liquescentia %d (%s)\n",
note->u.note.liquescentia,
- dump_liquescentia(note->u.note.
- liquescentia));
+ gregorio_liquescentia_to_string(
+ note->u.note.liquescentia));
}
break;
@@ -865,7 +401,8 @@ void dump_write_score(FILE *f, gregorio_score *score)
}
if (note->signs) {
fprintf(f, " signs %d (%s)\n",
- note->signs, dump_signs(note->signs));
+ note->signs,
+ gregorio_sign_to_string(note->signs));
}
if (note->signs & _V_EPISEMA && note->v_episema_height) {
if (note->v_episema_height < note->u.note.pitch) {
@@ -879,18 +416,21 @@ void dump_write_score(FILE *f, gregorio_score *score)
|| note->signs == _V_EPISEMA_PUNCTUM_MORA)
&& note->mora_vposition) {
fprintf(f, " mora vposition %s\n",
- dump_vposition(note->mora_vposition));
+ gregorio_vposition_to_string(note->
+ mora_vposition));
}
if (note->special_sign) {
fprintf(f, " special sign %d (%s)\n",
note->special_sign,
- dump_special_sign(note->special_sign));
+ gregorio_sign_to_string(
+ note->special_sign));
}
if (note->h_episema_above == HEPISEMA_AUTO
&& note->h_episema_below == HEPISEMA_AUTO) {
fprintf(f, " auto hepisema size %d (%s)\n",
note->h_episema_above_size,
- dump_h_episema_size(note->h_episema_above_size));
+ grehepisema_size_to_string(note->
+ h_episema_above_size));
fprintf(f, " auto hepisema bridge %s\n",
dump_bool(note->h_episema_above_connect));
}
@@ -898,18 +438,28 @@ void dump_write_score(FILE *f, gregorio_score *score)
if (note->h_episema_above == HEPISEMA_FORCED) {
fprintf(f, " above hepisema size %d (%s)\n",
note->h_episema_above_size,
- dump_h_episema_size(note->h_episema_above_size));
+ grehepisema_size_to_string(note->
+ h_episema_above_size));
fprintf(f, " above hepisema bridge %s\n",
dump_bool(note->h_episema_above_connect));
}
if (note->h_episema_below == HEPISEMA_FORCED) {
fprintf(f, " below hepisema size %d (%s)\n",
note->h_episema_below_size,
- dump_h_episema_size(note->h_episema_below_size));
+ grehepisema_size_to_string(note->
+ h_episema_below_size));
fprintf(f, " below hepisema bridge %s\n",
dump_bool(note->h_episema_below_connect));
}
}
+ if (note->explicit_high_ledger_line) {
+ fprintf(f, " explicit high line %s\n",
+ dump_bool(note->supposed_high_ledger_line));
+ }
+ if (note->explicit_low_ledger_line) {
+ fprintf(f, " explicit low line %s\n",
+ dump_bool(note->supposed_low_ledger_line));
+ }
}
}
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h b/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h
new file mode 100644
index 00000000000..e6c6ae1049e
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-src/src/enum_generator.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md)
+ *
+ * This file is part of Gregorio.
+ *
+ * Gregorio is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Gregorio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* These macros are used for generating enum code. This is based on the
+ * technique described in http://stackoverflow.com/a/202511
+ *
+ * Two of these macros are meant for use outside this set of macros:
+ *
+ * - ENUM declares the enum itself and a prototype for the function that
+ * returns the string value of the enum's numeric value. This is meant to be
+ * used from a header file.
+ * - ENUM_TO_STRING defines the function whose prototype was declared by ENUM.
+ * This is meant to be used from a code file.
+ *
+ * These two macros both take the following two arguments:
+ *
+ * - TYPE is the name to use for the enum.
+ * - DEF is the name of a macro that generates the bodies of the enum and the
+ * to-string function. DEF should take four arguments, in the following
+ * order (with suggested names):
+ * - A is a macro that generates an enum value with a specifiec numeric
+ * value. It takes two arguments, the name and the numeric value.
+ * - E is a macro that generates an enum value that has no specific numeric
+ * value. It takes one argument, the name.
+ * - X is a macro that generates the last enum value when it has a specific
+ * numeric value. It takes the same two arguments as A.
+ * - L is a macro that generates the last enum value when it has no specific
+ * numeric value. It takes the same argument as E.
+ *
+ * Note: If we were supporting C11, we could take empty macro arguments and
+ * would be able to get away with only two arguments to DEF.
+ */
+
+#ifndef ENUM_GENERATOR_H
+#define ENUM_GENERATOR_H
+
+/* for enum values */
+#define ENUM_VALUE(NAME,VALUE) NAME = VALUE,
+#define ENUM_ENTRY(NAME) NAME,
+#define ENUM_LAST_VALUE(NAME,VALUE) NAME = VALUE
+#define ENUM_LAST_ENTRY(NAME) NAME
+
+/* for enum case */
+#define ENUM_VALUE_CASE(NAME,VALUE) case NAME: return #NAME;
+#define ENUM_ENTRY_CASE(NAME) case NAME: return #NAME;
+
+/* enum declaration */
+#define ENUM(TYPE,DEF) \
+ typedef enum TYPE { \
+ DEF(ENUM_VALUE, ENUM_ENTRY, ENUM_LAST_VALUE, ENUM_LAST_ENTRY) \
+ } TYPE; \
+ const char *TYPE##_to_string(TYPE value)
+
+/* enum *_to_string function defintiion */
+#define ENUM_TO_STRING(TYPE,DEF) \
+ const char *TYPE##_to_string(TYPE value) \
+ { \
+ switch(value) { \
+ DEF(ENUM_VALUE_CASE, ENUM_ENTRY_CASE, ENUM_VALUE_CASE, ENUM_ENTRY_CASE) \
+ default: return gregorio_unknown(value); \
+ } \
+ }
+
+#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c
index 3991760f8ee..a0291dd50e3 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-elements-determination.c
@@ -128,26 +128,21 @@ static gregorio_element *gabc_det_elements_from_glyphs(
while (current_glyph) {
if (current_glyph->type != GRE_GLYPH) {
- /* we ignore flats and naturals, except if they are alone */
- if (current_glyph->type == GRE_NATURAL
- || current_glyph->type == GRE_FLAT
- || current_glyph->type == GRE_SHARP) {
- if (!current_glyph->next) {
- first_element = current_element;
- close_element(&current_element, &first_glyph, current_glyph);
- }
- current_glyph = current_glyph->next;
- continue;
- }
- /* we must not cut after a zero_width_space */
- if (current_glyph->type == GRE_SPACE
- && current_glyph->u.misc.unpitched.info.space == SP_ZERO_WIDTH) {
- if (!current_glyph->next) {
- close_element(&current_element, &first_glyph, current_glyph);
+ /* we must not cut after a glyph-level space */
+ if (current_glyph->type == GRE_SPACE) {
+ switch (current_glyph->u.misc.unpitched.info.space) {
+ case SP_ZERO_WIDTH:
+ case SP_HALF_SPACE:
+ if (!current_glyph->next) {
+ close_element(&current_element, &first_glyph, current_glyph);
+ }
+ current_glyph = current_glyph->next;
+ do_not_cut = true;
+ continue;
+ default:
+ /* any other space should be handled normally */
+ break;
}
- current_glyph = current_glyph->next;
- do_not_cut = true;
- continue;
}
/* we must not cut after a zero_width_space */
if (current_glyph->type == GRE_TEXVERB_GLYPH) {
@@ -161,16 +156,19 @@ static gregorio_element *gabc_det_elements_from_glyphs(
cut_before(current_glyph, &first_glyph, &previous_glyph,
&current_element);
/* if statement to make neumatic cuts not appear in elements, as
- * there is always one between elements */
+ * there is always one between elements, unless the next element
+ * is a space */
if (current_glyph->type != GRE_SPACE
- || current_glyph->u.misc.unpitched.info.space != SP_NEUMATIC_CUT)
- /* clef change or space other thant neumatic cut */
- {
+ || current_glyph->u.misc.unpitched.info.space
+ != SP_NEUMATIC_CUT
+ || (current_glyph->next
+ && current_glyph->next->type == GRE_SPACE)) {
+ /* clef change or space other than neumatic cut */
if (!first_element) {
first_element = current_element;
}
gregorio_add_misc_element(&current_element, current_glyph->type,
- current_glyph->u.misc,
+ &(current_glyph->u.misc),
current_glyph->texverb);
}
first_glyph = current_glyph->next;
@@ -191,6 +189,7 @@ static gregorio_element *gabc_det_elements_from_glyphs(
}
switch (current_glyph_type) {
case G_PUNCTA_ASCENDENS:
+ case G_ALTERATION:
if (!do_not_cut) {
cut_before(current_glyph, &first_glyph, &previous_glyph,
&current_element);
@@ -264,21 +263,24 @@ static gregorio_element *gabc_det_elements_from_glyphs(
*/
static gregorio_element *gabc_det_elements_from_notes(
- gregorio_note *current_note, int *current_key)
+ gregorio_note *current_note, int *current_key,
+ const gregorio_score *const score)
{
gregorio_element *final = NULL;
- gregorio_glyph *tmp = gabc_det_glyphs_from_notes(current_note, current_key);
+ gregorio_glyph *tmp = gabc_det_glyphs_from_notes(current_note, current_key,
+ score);
final = gabc_det_elements_from_glyphs(tmp);
return final;
}
-gregorio_element *gabc_det_elements_from_string(char *const str, int *const current_key,
- char *macros[10], gregorio_scanner_location *const loc)
+gregorio_element *gabc_det_elements_from_string(char *const str,
+ int *const current_key, char *macros[10],
+ gregorio_scanner_location *const loc, const gregorio_score *const score)
{
gregorio_element *final;
gregorio_note *tmp;
- tmp = gabc_det_notes_from_string(str, macros, loc);
- final = gabc_det_elements_from_notes(tmp, current_key);
+ tmp = gabc_det_notes_from_string(str, macros, loc, score);
+ final = gabc_det_elements_from_notes(tmp, current_key, score);
return final;
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c
index 37328ee1d95..b54369e9e7b 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-glyphs-determination.c
@@ -43,184 +43,6 @@ static __inline gregorio_scanner_location *copy_note_location(
/****************************
*
- * First see the comments of
- * gabc_det_glyphs_from_notes. This function is used when
- * we have finished to determine a glyph. We have the last glyph that
- * have been added: last_glyph. The glyph we want to add is given by
- * glyph_type and liquescentia.
- *
- * The glyph we want to add goes from first_note to current_note, we
- * isolate these notes from the notes that won't be in the glyph, and
- * we add the glyph to the list_of_glyphs.
- *
-****************************/
-
-static gregorio_note *close_glyph(gregorio_glyph **last_glyph,
- gregorio_glyph_type glyph_type, gregorio_note **first_note,
- gregorio_liquescentia liquescentia, gregorio_note *current_note)
-{
- gregorio_note *new_current_note = current_note;
- gregorio_scanner_location loc;
- /* a variable necessary for the patch for G_BIVIRGA & co. */
- gregorio_note *added_notes = NULL;
- gregorio_note *next_note = NULL;
-
- /* patch to have good glyph type in the case where a glyph ends by a note
- * with shape S_QUADRATUM */
- if (glyph_type == G_PES_QUADRATUM_FIRST_PART
- || glyph_type == G_PES_QUILISMA_QUADRATUM_FIRST_PART) {
- glyph_type = G_PUNCTUM;
- }
-
- gregorio_add_glyph(last_glyph, glyph_type, *first_note, liquescentia);
- if (current_note->next) {
- current_note->next->previous = NULL;
- *first_note = current_note->next;
- current_note->next = NULL;
- }
- /* here we "patch" the structure for bivirga, tristropha, etc. */
- /* the idea is not to have a S_BIVIRGA in the shape of the note (which is
- * dirty) but rather a G_BIVIRGA in the glyph (which is the case now) and
- * two virgas */
-
- if (glyph_type == G_BIVIRGA || glyph_type == G_DISTROPHA
- || glyph_type == G_TRIVIRGA || glyph_type == G_TRISTROPHA
- || glyph_type == G_DISTROPHA_AUCTA
- || glyph_type == G_TRISTROPHA_AUCTA) {
- gregorio_go_to_first_note(&current_note);
- while (current_note) {
- if (current_note->type == GRE_NOTE) {
- switch (current_note->u.note.shape) {
- case S_TRIVIRGA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note,
- copy_note_location(current_note, &loc));
- case S_BIVIRGA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note,
- copy_note_location(current_note, &loc));
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_VIRGA, current_note->signs,
- current_note->u.note.liquescentia, current_note,
- copy_note_location(current_note, &loc));
- break;
- case S_TRISTROPHA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
- current_note,
- copy_note_location(current_note, &loc));
- case S_DISTROPHA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
- current_note,
- copy_note_location(current_note, &loc));
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA, current_note->signs,
- current_note->u.note.liquescentia, current_note,
- copy_note_location(current_note, &loc));
- break;
- case S_TRISTROPHA_AUCTA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
- current_note,
- copy_note_location(current_note, &loc));
- case S_DISTROPHA_AUCTA:
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
- current_note,
- copy_note_location(current_note, &loc));
- gregorio_add_note(&added_notes, current_note->u.note.pitch,
- S_STROPHA_AUCTA, current_note->signs,
- current_note->u.note.liquescentia, current_note,
- copy_note_location(current_note, &loc));
- break;
- default:
- break;
- }
- }
- /* this is the case of two separate virga that have been spotted
- * as a bivirga */
- if (!added_notes) {
- break;
- }
- next_note = current_note->next;
- /* now we have what we want, we set up the links and free the old
- * note */
- if (next_note) {
- current_note->next->previous = added_notes;
- added_notes->next = next_note;
- }
- gregorio_go_to_first_note(&added_notes);
- if (current_note->previous) {
- current_note->previous->next = added_notes;
- added_notes->previous = current_note->previous;
- } else {
- new_current_note = added_notes;
- }
- /* Detaching current_note is not strictly necessary here because we
- * are effectively plucking out added_notes into its own glyph;
- * however, detaching the note is safer if this behavior changes in
- * the future because gregorio_free_one_note nullifies surrounding
- * pointers */
- current_note->next = NULL;
- current_note->previous = NULL;
- gregorio_free_one_note(&current_note);
- if (!next_note) {
- current_note = added_notes;
- break;
- }
- current_note = next_note;
- }
- gregorio_go_to_first_note(&current_note);
- /* finally we set the just added glyph first_note to current_note */
- (*last_glyph)->u.notes.first_note = current_note;
- }
- return new_current_note;
-}
-
-/* a small function to automatically determine the pitch of a custo : it is
- * the pitch of the next note, but we must take care of the clef changes, as
- * custo are (normally and for now) only present before clef changes. */
-/* TODO: there may be a side effect with the flated keys... */
-
-static char gabc_determine_custo_pitch(gregorio_note *current_note,
- int current_key)
-{
- int pitch_difference = 0;
- int newkey;
- while (current_note) {
- if (current_note->type == GRE_C_KEY_CHANGE
- || current_note->type == GRE_C_KEY_CHANGE_FLATED) {
- newkey = gregorio_calculate_new_key(C_KEY,
- current_note->u.note.pitch - '0');
- pitch_difference = newkey - current_key;
- }
- if (current_note->type == GRE_F_KEY_CHANGE
- || current_note->type == GRE_F_KEY_CHANGE_FLATED) {
- newkey = gregorio_calculate_new_key(F_KEY,
- current_note->u.note.pitch - '0');
- pitch_difference = newkey - current_key;
- }
- if (current_note->type == GRE_NOTE) {
- pitch_difference =
- (int) current_note->u.note.pitch - pitch_difference;
- while (pitch_difference < LOWEST_PITCH) {
- pitch_difference += 7;
- }
- while (pitch_difference > HIGHEST_PITCH) {
- pitch_difference -= 7;
- }
- assert(pitch_difference >= LOWEST_PITCH
- && pitch_difference <= HIGHEST_PITCH);
- return (char) pitch_difference;
- }
- current_note = current_note->next;
- }
- return DUMMY_PITCH;
-}
-
-/****************************
- *
* This function is the basis of all the determination of glyphs. The
* phylosophy of the function is to say : We have a glyph that we have
* determined, and we have the following note, can we "add" it to the
@@ -247,17 +69,17 @@ static char gabc_determine_custo_pitch(gregorio_note *current_note,
* DET_END_OF_CURRENT: we have been able to add the note to the glyph,
* but we won't be able to add more notes to the glyph, we can close
* it. The new type is returned.
-
- * DET_END_OF_BOTH: we have'nt been able to add the note to the glyph,
+ *
+ * DET_END_OF_BOTH: we haven't been able to add the note to the glyph,
* and we won't be able to add notes to the new glyph. This special
* case is quite rare, we use it for trivirga, tristropha, etc.
-
+ *
* When we encouter a S_QUADRATUM (or S_QUILISMA_QUADRATUM), we build
* a new glyph with the (temporary) shape G_PES_QUADRATUM_FIRST_PART
* (or G_PES_QUILISMA_QUADRATUM_FIRST_PART), and we wait for the next
* note.
*
-****************************/
+ ****************************/
static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
char current_pitch, char last_pitch, gregorio_shape shape,
@@ -290,6 +112,12 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
next_glyph_type = G_PUNCTUM;
*end_of_glyph = DET_END_OF_BOTH;
break;
+ case S_FLAT:
+ case S_SHARP:
+ case S_NATURAL:
+ next_glyph_type = G_ALTERATION;
+ *end_of_glyph = DET_END_OF_BOTH;
+ break;
case S_PUNCTUM:
/*
* we determine here the shape of the thing if it is made of puncta
@@ -342,6 +170,14 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
case G_VIRGA_STRATA:
if (current_pitch > last_pitch) {
next_glyph_type = G_SALICUS;
+ } else {
+ next_glyph_type = G_PUNCTUM;
+ *end_of_glyph = DET_END_OF_PREVIOUS;
+ }
+ break;
+ case G_SALICUS:
+ if (current_pitch < last_pitch) {
+ next_glyph_type = G_SALICUS_FLEXUS;
*end_of_glyph = DET_END_OF_CURRENT;
} else {
next_glyph_type = G_PUNCTUM;
@@ -391,18 +227,14 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
break;
}
break;
- case S_ORISCUS:
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
- break;
- case S_ORISCUS_AUCTUS:
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
- break;
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
case S_ORISCUS_DEMINUTUS:
- *end_of_glyph = DET_END_OF_PREVIOUS;
- next_glyph_type = G_PUNCTUM;
- break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
case S_QUILISMA:
*end_of_glyph = DET_END_OF_PREVIOUS;
next_glyph_type = G_PUNCTUM;
@@ -603,6 +435,362 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
/****************************
*
+ * First see the comments of
+ * gabc_det_glyphs_from_notes. This function is used when
+ * we have finished to determine a glyph. We have the last glyph that
+ * have been added: last_glyph. The glyph we want to add is given by
+ * glyph_type and liquescentia.
+ *
+ * The glyph we want to add goes from first_note to current_note, we
+ * isolate these notes from the notes that won't be in the glyph, and
+ * we add the glyph to the list_of_glyphs.
+ *
+****************************/
+
+static gregorio_note *close_normal_glyph(gregorio_glyph **last_glyph,
+ gregorio_glyph_type glyph_type, gregorio_note **first_note,
+ gregorio_liquescentia liquescentia, gregorio_note *current_note)
+{
+ gregorio_note *new_current_note = current_note;
+ gregorio_scanner_location loc;
+ /* a variable necessary for the patch for G_BIVIRGA & co. */
+ gregorio_note *added_notes = NULL;
+ gregorio_note *next_note = NULL;
+
+ /* patch to have good glyph type in the case where a glyph ends by a note
+ * with shape S_QUADRATUM */
+ if (glyph_type == G_PES_QUADRATUM_FIRST_PART
+ || glyph_type == G_PES_QUILISMA_QUADRATUM_FIRST_PART) {
+ glyph_type = G_PUNCTUM;
+ }
+
+ gregorio_add_glyph(last_glyph, glyph_type, *first_note, liquescentia);
+ if (current_note->next) {
+ current_note->next->previous = NULL;
+ *first_note = current_note->next;
+ current_note->next = NULL;
+ }
+ /* here we "patch" the structure for bivirga, tristropha, etc. */
+ /* the idea is not to have a S_BIVIRGA in the shape of the note (which is
+ * dirty) but rather a G_BIVIRGA in the glyph (which is the case now) and
+ * two virgas */
+
+ if (glyph_type == G_BIVIRGA || glyph_type == G_DISTROPHA
+ || glyph_type == G_TRIVIRGA || glyph_type == G_TRISTROPHA
+ || glyph_type == G_DISTROPHA_AUCTA
+ || glyph_type == G_TRISTROPHA_AUCTA) {
+ gregorio_go_to_first_note(&current_note);
+ while (current_note) {
+ if (current_note->type == GRE_NOTE) {
+ switch (current_note->u.note.shape) {
+ case S_TRIVIRGA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note,
+ copy_note_location(current_note, &loc));
+ case S_BIVIRGA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_VIRGA, _NO_SIGN, L_NO_LIQUESCENTIA, current_note,
+ copy_note_location(current_note, &loc));
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_VIRGA, current_note->signs,
+ current_note->u.note.liquescentia, current_note,
+ copy_note_location(current_note, &loc));
+ break;
+ case S_TRISTROPHA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
+ current_note,
+ copy_note_location(current_note, &loc));
+ case S_DISTROPHA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
+ current_note,
+ copy_note_location(current_note, &loc));
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA, current_note->signs,
+ current_note->u.note.liquescentia, current_note,
+ copy_note_location(current_note, &loc));
+ break;
+ case S_TRISTROPHA_AUCTA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
+ current_note,
+ copy_note_location(current_note, &loc));
+ case S_DISTROPHA_AUCTA:
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA, _NO_SIGN, L_NO_LIQUESCENTIA,
+ current_note,
+ copy_note_location(current_note, &loc));
+ gregorio_add_note(&added_notes, current_note->u.note.pitch,
+ S_STROPHA_AUCTA, current_note->signs,
+ current_note->u.note.liquescentia, current_note,
+ copy_note_location(current_note, &loc));
+ break;
+ default:
+ break;
+ }
+ }
+ /* this is the case of two separate virga that have been spotted
+ * as a bivirga */
+ if (!added_notes) {
+ break;
+ }
+ next_note = current_note->next;
+ /* now we have what we want, we set up the links and free the old
+ * note */
+ if (next_note) {
+ current_note->next->previous = added_notes;
+ added_notes->next = next_note;
+ }
+ gregorio_go_to_first_note(&added_notes);
+ if (current_note->previous) {
+ current_note->previous->next = added_notes;
+ added_notes->previous = current_note->previous;
+ } else {
+ new_current_note = added_notes;
+ }
+ /* Detaching current_note is not strictly necessary here because we
+ * are effectively plucking out added_notes into its own glyph;
+ * however, detaching the note is safer if this behavior changes in
+ * the future because gregorio_free_one_note nullifies surrounding
+ * pointers */
+ current_note->next = NULL;
+ current_note->previous = NULL;
+ gregorio_free_one_note(&current_note);
+ if (!next_note) {
+ current_note = added_notes;
+ break;
+ }
+ current_note = next_note;
+ }
+ gregorio_go_to_first_note(&current_note);
+ /* finally we set the just added glyph first_note to current_note */
+ (*last_glyph)->u.notes.first_note = current_note;
+ }
+ return new_current_note;
+}
+
+static gregorio_note *close_fused_glyph(gregorio_glyph **last_glyph,
+ gregorio_glyph_type glyph_type, gregorio_note **first_note,
+ gregorio_liquescentia liquescentia, gregorio_note *current_note)
+{
+ (*first_note)->u.note.liquescentia |= (liquescentia & L_FUSED);
+ return close_normal_glyph(last_glyph, glyph_type, first_note, liquescentia,
+ current_note);
+}
+
+static gregorio_note *next_non_texverb_note(gregorio_note *first_note,
+ gregorio_note *last_note)
+{
+ if (first_note == NULL) {
+ return NULL;
+ }
+
+ if (first_note == last_note) {
+ if (first_note->type == GRE_TEXVERB_GLYPH) {
+ gregorio_message(_("Unexpected texverb at start of iteration"),
+ "next_non_texverb_note", VERBOSITY_ERROR, 0);
+ }
+ return first_note;
+ }
+
+ for (first_note = first_note->next; first_note && first_note != last_note;
+ first_note = first_note->next) {
+ if (first_note->type != GRE_TEXVERB_GLYPH) {
+ return first_note;
+ }
+ }
+
+ if (first_note && first_note->type == GRE_TEXVERB_GLYPH) {
+ gregorio_message(_("Unexpected texverb at end of iteration"),
+ "next_non_texverb_note", VERBOSITY_ERROR, 0);
+ }
+
+ return last_note;
+}
+
+static void add_intervening_texverbs(gregorio_glyph **last_glyph,
+ gregorio_note *first_note, gregorio_note *last_note)
+{
+ for ( ; first_note && first_note->type == GRE_TEXVERB_GLYPH; ) {
+ bool on_last_note = (first_note == last_note);
+
+ gregorio_add_unpitched_element_as_glyph(last_glyph, first_note->type,
+ &(first_note->u.other), _NO_SIGN, first_note->texverb);
+ first_note->texverb = NULL;
+ gregorio_free_one_note(&first_note);
+
+ if (on_last_note) {
+ break;
+ }
+ }
+}
+
+static gregorio_note *close_fusion_glyph(gregorio_glyph **last_glyph,
+ gregorio_note **first_note, gregorio_liquescentia liquescentia,
+ gregorio_note *real_last_note)
+{
+ bool first = true;
+ gregorio_note *last_note, *texverb_tail;
+ gregorio_note *next;
+ int prev_shift = 0, shift, shift2;
+ gregorio_note *result;
+
+ if ((*first_note)->type == GRE_TEXVERB_GLYPH) {
+ gregorio_message(_("Unexpected texverb at start of fusion"),
+ "close_fusion_glyph", VERBOSITY_ERROR, 0);
+ return real_last_note;
+ }
+
+ for (last_note = real_last_note;
+ last_note != *first_note && last_note->type == GRE_TEXVERB_GLYPH;
+ last_note = last_note->previous) {
+ /* skip over the trailing texverbs */
+ }
+ texverb_tail = (last_note == real_last_note)? NULL : last_note->next;
+
+ for (;;) {
+ bool processed = false;
+
+ /* fusion must work through glyph-level texverbs */
+ if ((*first_note)->type == GRE_TEXVERB_GLYPH) {
+ gregorio_add_unpitched_element_as_glyph(last_glyph,
+ (*first_note)->type, &((*first_note)->u.other), _NO_SIGN,
+ (*first_note)->texverb);
+ (*first_note)->texverb = NULL;
+ if (*first_note == last_note) {
+ gregorio_message(_("Unexpected texverb at end of fusion"),
+ "close_fusion_glyph", VERBOSITY_ERROR, 0);
+ return last_note;
+ }
+ gregorio_free_one_note(first_note);
+ }
+
+ if (*first_note == last_note || !(next = (*first_note)->next)) {
+ gregorio_message(_("Unexpected single note during fusion"),
+ "close_fusion_glyph", VERBOSITY_ERROR, 0);
+ return last_note;
+ }
+
+ next = next_non_texverb_note(*first_note, last_note);
+
+ shift = next->u.note.pitch - (*first_note)->u.note.pitch;
+ if (shift != 0 && next == last_note) {
+ /* there are exactly two notes left, so we end fusion */
+ add_intervening_texverbs(last_glyph, (*first_note)->next, next);
+ result = close_fused_glyph(last_glyph,
+ shift < 0? G_FLEXA : G_PODATUS, first_note,
+ liquescentia, last_note);
+ if (texverb_tail) {
+ add_intervening_texverbs(last_glyph, texverb_tail,
+ real_last_note);
+ }
+ return result;
+ }
+ if (prev_shift >= 0 && shift < 0) {
+ /* check for a porrectus-like flexus */
+ gregorio_note *next_next = next_non_texverb_note(next, last_note);
+ if (!next_next) {
+ gregorio_message(_("Unexpected end of notes during fusion"),
+ "close_fusion_glyph", VERBOSITY_ERROR, 0);
+ return last_note;
+ }
+ shift2 = next_next->u.note.pitch - next->u.note.pitch;
+ if (shift2 > 0) {
+ if (next_next == last_note) {
+ /* there are exactly three notes left in a porrectus shape,
+ * so we end fusion */
+ add_intervening_texverbs(last_glyph, (*first_note)->next,
+ next);
+ add_intervening_texverbs(last_glyph, next->next, next_next);
+ result = close_fused_glyph(last_glyph,
+ G_PORRECTUS, first_note,
+ liquescentia, last_note);
+ add_intervening_texverbs(last_glyph, texverb_tail,
+ real_last_note);
+ return result;
+ }
+ /* found a porrectus-like flexus */
+ add_intervening_texverbs(last_glyph, *first_note, next);
+ close_fused_glyph(last_glyph,
+ shift < 0? G_FLEXA : G_PODATUS, first_note,
+ liquescentia & ~TAIL_LIQUESCENTIA_MASK, next);
+ prev_shift = shift2;
+ processed = true;
+ }
+ }
+
+ if (!processed) {
+ /* didn't find anything interesting, so fuse the single note */
+ gabc_determination ignored;
+ gregorio_glyph_type next_glyph_type =
+ gregorio_add_note_to_a_glyph(G_UNDETERMINED,
+ (*first_note)->u.note.pitch, 0, (*first_note)->u.note.shape,
+ (*first_note)->u.note.liquescentia, *first_note, &ignored);
+ close_fused_glyph(last_glyph, next_glyph_type, first_note,
+ liquescentia & ~TAIL_LIQUESCENTIA_MASK, *first_note);
+ prev_shift = shift;
+ }
+
+ if (first) {
+ first = false;
+ liquescentia = (liquescentia & TAIL_LIQUESCENTIA_MASK) | L_FUSED;
+ }
+ }
+}
+
+static gregorio_note *close_glyph(gregorio_glyph **last_glyph,
+ gregorio_glyph_type glyph_type, gregorio_note **first_note,
+ gregorio_liquescentia liquescentia, gregorio_note *current_note)
+{
+ if (glyph_type == G_FUSED) {
+ return close_fusion_glyph(last_glyph, first_note, liquescentia,
+ current_note);
+ } else {
+ return close_normal_glyph(last_glyph, glyph_type, first_note,
+ liquescentia, current_note);
+ }
+}
+
+/* a small function to automatically determine the pitch of a custo : it is
+ * the pitch of the next note, but we must take care of the clef changes, as
+ * custo are (normally and for now) only present before clef changes. */
+/* TODO: there may be a side effect with the flated keys... */
+
+static char gabc_determine_custo_pitch(gregorio_note *current_note,
+ int current_key, const gregorio_score *const score)
+{
+ int pitch_difference = 0;
+ int newkey;
+ for (; current_note; current_note = current_note->next) {
+ switch (current_note->type) {
+ case GRE_CLEF:
+ newkey = gregorio_calculate_new_key(current_note->u.clef);
+ pitch_difference = newkey - current_key;
+ break;
+
+ case GRE_NOTE:
+ pitch_difference =
+ (int) current_note->u.note.pitch - pitch_difference;
+ while (pitch_difference < LOWEST_PITCH) {
+ pitch_difference += 7;
+ }
+ while (pitch_difference > score->highest_pitch) {
+ pitch_difference -= 7;
+ }
+ assert(pitch_difference >= LOWEST_PITCH
+ && pitch_difference <= score->highest_pitch);
+ return (char) pitch_difference;
+
+ default:
+ break;
+ }
+ }
+ return DUMMY_PITCH;
+}
+
+/****************************
+ *
* Function called with a list of gregorio_notes as argument, this
* list is determined from gabc notation by the function
* gabc_det_notes_from_string.
@@ -640,7 +828,7 @@ static char gregorio_add_note_to_a_glyph(gregorio_glyph_type current_glyph_type,
/* this function updates current_key with the new values (with clef changes) */
gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
- int *current_key)
+ int *current_key, const gregorio_score *const score)
{
/* the first note of the current glyph, to be able to close it well:
* later we will cut the link (next_notes and previous_note) between
@@ -655,8 +843,6 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
gregorio_glyph_type current_glyph_type = G_UNDETERMINED;
gregorio_glyph_type next_glyph_type = G_UNDETERMINED;
char last_pitch = USELESS_VALUE;
- /* a variable for the signs of bars and to tell if a key is flatted or
- * not */
gregorio_note *next_note = NULL;
/* determination of end of glyphs, see comments on
@@ -665,6 +851,8 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
/* a char representing the liquescentia of the current glyph */
gregorio_liquescentia liquescentia = L_NO_LIQUESCENTIA;
+ gregorio_liquescentia head_liquescentia;
+ bool autofuse = false, first_autofused_note = false;
if (current_note == NULL) {
return NULL;
@@ -673,14 +861,20 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
gregorio_go_to_first_note(&current_note);
while (current_note) {
+ bool add = true;
+
next_note = current_note->next;
if (current_note->type != GRE_NOTE) {
gregorio_type type = current_note->type;
char pitch = USELESS_VALUE;
- bool flat = false;
bool force = false;
gregorio_sign sign = _NO_SIGN;
+ if (current_glyph_type == G_FUSED && type == GRE_TEXVERB_GLYPH) {
+ current_note = next_note;
+ continue;
+ }
+
if (current_glyph_type != G_UNDETERMINED) {
close_glyph(&last_glyph, next_glyph_type,
&current_glyph_first_note, liquescentia,
@@ -690,33 +884,14 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
}
switch (type) {
- case GRE_C_KEY_CHANGE:
+ case GRE_CLEF:
pitch = current_note->u.note.pitch;
- *current_key = gregorio_calculate_new_key(C_KEY, pitch - '0');
- break;
-
- case GRE_F_KEY_CHANGE:
- pitch = current_note->u.note.pitch;
- *current_key = gregorio_calculate_new_key(F_KEY, pitch - '0');
- break;
-
- case GRE_C_KEY_CHANGE_FLATED:
- pitch = current_note->u.note.pitch;
- *current_key = gregorio_calculate_new_key(C_KEY, pitch - '0');
- type = GRE_C_KEY_CHANGE;
- flat = true;
- break;
-
- case GRE_F_KEY_CHANGE_FLATED:
- pitch = current_note->u.note.pitch;
- *current_key = gregorio_calculate_new_key(F_KEY, pitch - '0');
- type = GRE_F_KEY_CHANGE;
- flat = true;
+ *current_key = gregorio_calculate_new_key(current_note->u.clef);
break;
case GRE_CUSTOS:
pitch = gabc_determine_custo_pitch(current_note->next,
- *current_key);
+ *current_key, score);
break;
case GRE_MANUAL_CUSTOS:
@@ -741,10 +916,15 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
}
break;
- case GRE_FLAT:
- case GRE_SHARP:
- case GRE_NATURAL:
- pitch = current_note->u.note.pitch;
+ case GRE_AUTOFUSE_START:
+ autofuse = true;
+ first_autofused_note = true;
+ add = false;
+ break;
+
+ case GRE_AUTOFUSE_END:
+ autofuse = false;
+ add = false;
break;
default:
@@ -752,12 +932,18 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
break;
}
- if (pitch == USELESS_VALUE) {
- gregorio_add_unpitched_element_as_glyph(&last_glyph, type,
- current_note->u.other, sign, current_note->texverb);
- } else {
- gregorio_add_pitched_element_as_glyph(&last_glyph, type, pitch,
- flat, force, current_note->texverb);
+ if (add) {
+ if (pitch == USELESS_VALUE) {
+ gregorio_add_unpitched_element_as_glyph(&last_glyph, type,
+ &(current_note->u.other), sign,
+ current_note->texverb);
+ } else if (type == GRE_CLEF) {
+ gregorio_add_clef_as_glyph(&last_glyph,
+ current_note->u.clef, current_note->texverb);
+ } else {
+ gregorio_add_pitched_element_as_glyph(&last_glyph, type,
+ pitch, force, current_note->texverb);
+ }
}
current_glyph_first_note = current_note->next;
current_note->texverb = NULL;
@@ -766,31 +952,86 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
continue;
}
- /*
- * first we do what must be done with liquescentia
- */
- if (is_initio_debilis(current_note->u.note.liquescentia)) {
- /*
- * meaning that the note is an initio debilis, maybe more
- */
+ /* first we do what must be done with liquescentia */
+ head_liquescentia = current_note->u.note.liquescentia
+ & (L_INITIO_DEBILIS | L_FUSED);
+ if (head_liquescentia) {
+ /* initio debilis or fused */
if (current_glyph_type != G_UNDETERMINED) {
- /*
- * if it is not the first glyph
- */
+ /* if it is not the first glyph */
close_glyph(&last_glyph, current_glyph_type,
&current_glyph_first_note,
liquescentia, current_note->previous);
current_glyph_type = G_UNDETERMINED;
}
- liquescentia = L_INITIO_DEBILIS;
+ liquescentia = head_liquescentia;
+ }
+
+ if (autofuse) {
+ if (current_glyph_first_note == current_note) {
+ if (first_autofused_note) {
+ first_autofused_note = false;
+ } else {
+ if (!(current_note->u.note.liquescentia & L_INITIO_DEBILIS)) {
+ current_note->u.note.liquescentia |= L_FUSED;
+ liquescentia |= L_FUSED;
+ }
+ }
+ } else {
+ /* only handle the multi-note case here; the single-note
+ * case will be added normally by the state machine */
+ if (is_tail_liquescentia(current_note->u.note.liquescentia)
+ && current_glyph_type > G_PUNCTA_INCLINATA) {
+ /* once we hit a liquescent, that's the end of a string of
+ * fused notes */
+ liquescentia |= current_note->u.note.liquescentia;
+ current_note = close_glyph(&last_glyph, G_FUSED,
+ &current_glyph_first_note, liquescentia,
+ current_note);
+ current_glyph_type = G_UNDETERMINED;
+ liquescentia = L_NO_LIQUESCENTIA;
+ add = false;
+ } else {
+ switch (current_note->u.note.shape) {
+ case S_PUNCTUM:
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_SCAPUS:
+ case S_QUILISMA:
+ case S_QUADRATUM:
+ case S_QUILISMA_QUADRATUM:
+ /* these are fusible */
+ if (current_glyph_type <= G_PUNCTA_INCLINATA) {
+ /* if we had some puncta inclinata, then end them */
+ close_glyph(&last_glyph, current_glyph_type,
+ &current_glyph_first_note,
+ liquescentia, current_note->previous);
+ if (!(current_note->u.note.liquescentia
+ & L_INITIO_DEBILIS)) {
+ current_note->u.note.liquescentia |= L_FUSED;
+ liquescentia |= L_FUSED;
+ }
+ }
+ next_glyph_type = current_glyph_type = G_FUSED;
+ add = false;
+ break;
+
+ default:
+ /* not fusible; will be added normally by the state
+ * machine */
+ break;
+ }
+ }
+ }
}
- next_glyph_type =
- gregorio_add_note_to_a_glyph(current_glyph_type,
- current_note->u.note.pitch, last_pitch,
- current_note->u.note.shape,
- current_note->u.note.liquescentia,
- current_glyph_first_note, &end_of_glyph);
+ if (add) {
+ next_glyph_type =
+ gregorio_add_note_to_a_glyph(current_glyph_type,
+ current_note->u.note.pitch, last_pitch,
+ current_note->u.note.shape,
+ current_note->u.note.liquescentia,
+ current_glyph_first_note, &end_of_glyph);
+ }
/* patch to have good shapes in the special cases of pes quadratum and
* pes quilisma quadratum. */
@@ -808,186 +1049,190 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
break;
}
- /* see comments on gregorio_add_note_to_a_glyph for the meaning of
- * end_of_glyph */
- switch (end_of_glyph) {
- case DET_NO_END:
- current_glyph_type = next_glyph_type;
- /*
- * we deal with liquescentia
- */
- if (is_liquescentia(current_note->u.note.liquescentia)) {
- /* special cases of oriscus auctus, treated like normal oriscus
- * in some cases. */
- if (current_note->u.note.shape == S_ORISCUS_AUCTUS
- && current_note->next
- && current_note->next->type == GRE_NOTE
- && current_note->next->u.note.pitch <
- current_note->u.note.pitch) {
- last_pitch = current_note->u.note.pitch;
- current_note->u.note.shape = S_ORISCUS;
- current_note->u.note.liquescentia = L_NO_LIQUESCENTIA;
- current_note = next_note;
- continue;
- }
- /* special cases of the punctum inclinatum deminutus and
- * auctus */
- if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) {
- if (current_note->u.note.liquescentia == L_DEMINUTUS) {
- current_note->u.note.shape =
- S_PUNCTUM_INCLINATUM_DEMINUTUS;
+ if (add) {
+ /* see comments on gregorio_add_note_to_a_glyph for the meaning of
+ * end_of_glyph */
+ switch (end_of_glyph) {
+ case DET_NO_END:
+ current_glyph_type = next_glyph_type;
+ /*
+ * we deal with liquescentia
+ */
+ if (is_tail_liquescentia(current_note->u.note.liquescentia)) {
+ /* special cases of oriscus descendens, treated like normal
+ * oriscus in some cases. */
+ if (score->legacy_oriscus_orientation) {
+ if ((current_note->u.note.shape == S_ORISCUS_DESCENDENS
+ || current_note->u.note.shape
+ == S_ORISCUS_CAVUM_DESCENDENS)
+ && current_note->next
+ && current_note->next->type == GRE_NOTE
+ && current_note->next->u.note.pitch <
+ current_note->u.note.pitch) {
+ last_pitch = current_note->u.note.pitch;
+ current_note->u.note.shape =
+ current_note->u.note.shape
+ == S_ORISCUS_DESCENDENS? S_ORISCUS_ASCENDENS
+ : S_ORISCUS_CAVUM_ASCENDENS;
+ current_note->u.note.liquescentia =
+ L_NO_LIQUESCENTIA;
+ current_note = next_note;
+ continue;
+ }
}
- if (current_note->u.note.liquescentia == L_AUCTA
- || current_note->u.note.liquescentia ==
- L_AUCTUS_DESCENDENS
- || current_note->u.note.liquescentia ==
- L_AUCTUS_ASCENDENS) {
- current_note->u.note.shape =
- S_PUNCTUM_INCLINATUM_AUCTUS;
+ /* special cases of the punctum inclinatum deminutus and
+ * auctus */
+ if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) {
+ if (current_note->u.note.liquescentia == L_DEMINUTUS) {
+ current_note->u.note.shape =
+ S_PUNCTUM_INCLINATUM_DEMINUTUS;
+ }
+ if (current_note->u.note.liquescentia ==
+ L_AUCTUS_DESCENDENS
+ || current_note->u.note.liquescentia ==
+ L_AUCTUS_ASCENDENS) {
+ current_note->u.note.shape =
+ S_PUNCTUM_INCLINATUM_AUCTUS;
+ }
+
+ if (current_note->next
+ && current_note->next->type == GRE_NOTE
+ && current_note->next->u.note.shape ==
+ S_PUNCTUM_INCLINATUM
+ && current_note->next->u.note.liquescentia ==
+ L_DEMINUTUS) {
+ last_pitch = current_note->u.note.pitch;
+ current_note = next_note;
+ continue;
+ }
}
+ if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
+ switch (current_note->u.note.liquescentia
+ & TAIL_LIQUESCENTIA_MASK) {
+ case L_AUCTUS_DESCENDENS:
+ case L_AUCTUS_ASCENDENS:
+ current_note->u.note.shape =
+ S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
+ break;
+
+ default:
+ /* do nothing */
+ break;
+ }
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && current_note->next->u.note.shape ==
- S_PUNCTUM_INCLINATUM
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- last_pitch = current_note->u.note.pitch;
- current_note = next_note;
- continue;
+ if (current_note->next
+ && current_note->next->type == GRE_NOTE
+ && current_note->next->u.note.shape ==
+ S_PUNCTUM_INCLINATUM
+ && current_note->next->u.note.liquescentia ==
+ L_DEMINUTUS) {
+ last_pitch = current_note->u.note.pitch;
+ current_note = next_note;
+ continue;
+ }
}
+ liquescentia |= current_note->u.note.liquescentia;
+ /* once again, only works with the good values in the header
+ * file */
+ current_note = close_glyph(&last_glyph, current_glyph_type,
+ &current_glyph_first_note, liquescentia, current_note);
+ current_glyph_type = G_UNDETERMINED;
+ liquescentia = L_NO_LIQUESCENTIA;
}
- if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
- switch (current_note->u.note.liquescentia) {
- case L_AUCTA:
- case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- current_note->u.note.shape =
- S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
- break;
-
- default:
- /* do nothing */
- break;
+ break;
+ case DET_END_OF_PREVIOUS:
+ if (current_note->previous)
+ {
+ /* we don't want to close previous glyph twice */
+ close_glyph(&last_glyph, current_glyph_type,
+ &current_glyph_first_note, liquescentia,
+ current_note->previous);
+ }
+ current_glyph_type = next_glyph_type;
+ liquescentia = L_NO_LIQUESCENTIA;
+ last_pitch = USELESS_VALUE;
+ /* we deal with liquescentia */
+ if (is_tail_liquescentia(current_note->u.note.liquescentia))
+ /* not an initio debilis, because we considered it in the first
+ * part... */
+ {
+ /* special cases of the punctum inclinatum deminutus and
+ * auctus */
+ if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) {
+ if (current_note->u.note.liquescentia == L_DEMINUTUS) {
+ current_note->u.note.shape =
+ S_PUNCTUM_INCLINATUM_DEMINUTUS;
+ }
+ if (current_note->u.note.liquescentia ==
+ L_AUCTUS_DESCENDENS
+ || current_note->u.note.liquescentia ==
+ L_AUCTUS_ASCENDENS) {
+ current_note->u.note.shape =
+ S_PUNCTUM_INCLINATUM_AUCTUS;
+ }
+ if (current_note->next
+ && current_note->next->type == GRE_NOTE
+ && current_note->next->u.note.shape ==
+ S_PUNCTUM_INCLINATUM
+ && current_note->next->u.note.liquescentia ==
+ L_DEMINUTUS) {
+ current_note = next_note;
+ continue;
+ }
}
+ if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
+ switch (current_note->u.note.liquescentia
+ & TAIL_LIQUESCENTIA_MASK) {
+ case L_AUCTUS_DESCENDENS:
+ case L_AUCTUS_ASCENDENS:
+ current_note->u.note.shape =
+ S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
+ break;
+
+ default:
+ /* do nothing */
+ break;
+ }
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && current_note->next->u.note.shape ==
- S_PUNCTUM_INCLINATUM
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- last_pitch = current_note->u.note.pitch;
- current_note = next_note;
- continue;
+ if (current_note->next
+ && current_note->next->type == GRE_NOTE
+ && current_note->next->u.note.shape ==
+ S_PUNCTUM_INCLINATUM
+ && current_note->next->u.note.liquescentia ==
+ L_DEMINUTUS) {
+ current_note = next_note;
+ continue;
+ }
}
+ current_note = close_glyph(&last_glyph, current_glyph_type,
+ &current_glyph_first_note,
+ current_note->u.note.liquescentia, current_note);
+ current_glyph_type = G_UNDETERMINED;
}
+ break;
+ case DET_END_OF_CURRENT:
liquescentia += current_note->u.note.liquescentia;
- /* once again, only works with the good values in the header
- * file */
- current_note = close_glyph(&last_glyph, current_glyph_type,
+ /* once again, only works with the good values in the header file */
+ current_note = close_glyph(&last_glyph, next_glyph_type,
&current_glyph_first_note, liquescentia, current_note);
current_glyph_type = G_UNDETERMINED;
liquescentia = L_NO_LIQUESCENTIA;
- }
- break;
- case DET_END_OF_PREVIOUS:
- if (current_note->previous)
- {
- /* we don't want to close previous glyph twice */
- close_glyph(&last_glyph, current_glyph_type,
- &current_glyph_first_note, liquescentia,
- current_note->previous);
- }
- current_glyph_type = next_glyph_type;
- liquescentia = L_NO_LIQUESCENTIA;
- last_pitch = USELESS_VALUE;
- /* we deal with liquescentia */
- if (is_liquescentia(current_note->u.note.liquescentia))
- /* not an initio debilis, because we considered it in the first
- * part... */
- {
- /* special cases of the punctum inclinatum deminutus and
- * auctus */
- if (current_note->u.note.shape == S_PUNCTUM_INCLINATUM) {
- if (current_note->u.note.liquescentia == L_DEMINUTUS) {
- current_note->u.note.shape =
- S_PUNCTUM_INCLINATUM_DEMINUTUS;
- }
- if (current_note->u.note.liquescentia == L_AUCTA
- || current_note->u.note.liquescentia ==
- L_AUCTUS_DESCENDENS
- || current_note->u.note.liquescentia ==
- L_AUCTUS_ASCENDENS) {
- current_note->u.note.shape =
- S_PUNCTUM_INCLINATUM_AUCTUS;
- }
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && current_note->next->u.note.shape ==
- S_PUNCTUM_INCLINATUM
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- current_note = next_note;
- continue;
- }
- }
- if (current_note->u.note.shape == S_PUNCTUM_CAVUM_INCLINATUM) {
- switch (current_note->u.note.liquescentia) {
- case L_AUCTA:
- case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- current_note->u.note.shape =
- S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS;
- break;
-
- default:
- /* do nothing */
- break;
- }
-
- if (current_note->next
- && current_note->next->type == GRE_NOTE
- && current_note->next->u.note.shape ==
- S_PUNCTUM_INCLINATUM
- && current_note->next->u.note.liquescentia ==
- L_DEMINUTUS) {
- current_note = next_note;
- continue;
- }
+ break;
+ case DET_END_OF_BOTH:
+ if (current_note->previous)
+ {
+ /* we don't want to close previous glyph twice */
+ close_glyph(&last_glyph, current_glyph_type,
+ &current_glyph_first_note, liquescentia,
+ current_note->previous);
}
- current_note = close_glyph(&last_glyph, current_glyph_type,
+ current_glyph_type = G_UNDETERMINED;
+ liquescentia = L_NO_LIQUESCENTIA;
+ current_note = close_glyph(&last_glyph, next_glyph_type,
&current_glyph_first_note,
current_note->u.note.liquescentia, current_note);
- current_glyph_type = G_UNDETERMINED;
- }
- break;
- case DET_END_OF_CURRENT:
- liquescentia += current_note->u.note.liquescentia;
- /* once again, only works with the good values in the header file */
- current_note = close_glyph(&last_glyph, next_glyph_type,
- &current_glyph_first_note, liquescentia, current_note);
- current_glyph_type = G_UNDETERMINED;
- liquescentia = L_NO_LIQUESCENTIA;
- break;
- default: /* case DET_END_OF_BOTH: */
- if (current_note->previous)
- {
- /* we don't want to close previous glyph twice */
- close_glyph(&last_glyph, current_glyph_type,
- &current_glyph_first_note, liquescentia,
- current_note->previous);
+ break;
}
- current_glyph_type = G_UNDETERMINED;
- liquescentia = L_NO_LIQUESCENTIA;
- current_note = close_glyph(&last_glyph, next_glyph_type,
- &current_glyph_first_note,
- current_note->u.note.liquescentia, current_note);
- break;
}
if (!next_note && current_glyph_type != G_UNDETERMINED) {
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c
index cf07911a96c..28602e9290d 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination-l.c
@@ -403,1212 +403,1212 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 26, 26, 26, 26, 26, 26, 26, 26, 27,
- 28, 26, 26, 27, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 29, 30, 26, 26, 26, 31, 26, 32,
-
- 26, 26, 26, 26, 33, 34, 35, 36, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 37, 38,
- 39, 40, 41, 26, 26, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 26, 43,
- 26, 26, 44, 26, 26, 26, 45, 46, 26, 26,
- 47, 48, 26, 26, 26, 49, 50, 51, 51, 52,
- 51, 51, 53, 51, 51, 51, 51, 51, 51, 51,
- 26, 54, 26, 55, 56, 57, 26, 26, 58, 59,
- 26, 26, 60, 61, 26, 62, 63, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26
- },
-
- {
- 25, 26, 26, 26, 26, 26, 26, 26, 26, 27,
- 28, 26, 26, 27, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 29, 30, 26, 26, 26, 31, 26, 32,
- 26, 26, 26, 26, 33, 34, 35, 36, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 37, 38,
- 39, 40, 41, 26, 26, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 26, 43,
-
- 26, 26, 44, 26, 26, 26, 45, 46, 26, 26,
- 47, 48, 26, 26, 26, 49, 50, 51, 51, 52,
- 51, 51, 53, 51, 51, 51, 51, 51, 51, 51,
- 26, 54, 26, 55, 56, 57, 26, 26, 58, 59,
- 26, 26, 60, 61, 26, 62, 63, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26
- },
-
- {
- 25, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 65, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64
- },
-
- {
- 25, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 65, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64
-
- },
-
- {
- 25, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 65, 66, 66, 66, 66, 66, 66,
-
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66
- },
-
- {
- 25, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 65, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66
- },
-
- {
- 25, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 65, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67
- },
-
- {
- 25, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 65, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67
- },
-
- {
- 25, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 65, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68
-
- },
-
- {
- 25, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 65, 68, 68, 68, 68, 68, 68,
-
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68
- },
-
- {
- 25, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
-
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 65, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
-
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
-
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69
- },
-
- {
- 25, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
-
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 65, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
-
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69
- },
-
- {
- 25, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 65, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70
- },
-
- {
- 25, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 65, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
-
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70
-
- },
-
- {
- 25, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 72, 71, 71, 72, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71
- },
-
- {
- 25, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 72, 71, 71, 72, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71
- },
-
- {
- 25, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
-
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 65, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
-
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73
- },
-
- {
- 25, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
-
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 65, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
-
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
-
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73
- },
-
- {
- 25, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
-
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 65, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
-
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74
-
- },
-
- {
- 25, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 65, 74, 74, 74, 74, 74, 74,
-
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
-
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74
- },
-
- {
- 25, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
-
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 65, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
-
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
-
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75
- },
-
- {
- 25, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
-
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 65, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
-
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
- 75, 75, 75, 75, 75, 75
- },
-
- {
- 25, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 65, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76
- },
-
- {
- 25, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 65, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
-
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76
-
- },
-
- {
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
-
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
-
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
- -25, -25, -25, -25, -25, -25
- },
-
- {
- 25, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
-
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
-
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
-
- -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- -26, -26, -26, -26, -26, -26
- },
-
- {
- 25, -27, -27, -27, -27, -27, -27, -27, -27, 77,
- 77, -27, -27, 77, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
-
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
-
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
- -27, -27, -27, -27, -27, -27
- },
-
- {
- 25, -28, -28, -28, -28, -28, -28, -28, -28, 77,
- 77, -28, -28, 77, -28, -28, -28, -28, -28, -28,
-
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
-
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
-
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28
- },
-
- {
- 25, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
-
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
-
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29
-
- },
-
- {
- 25, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 79, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 80, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
-
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
-
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78
- },
-
- {
- 25, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
-
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
-
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
-
- -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
- -31, -31, -31, -31, -31, -31
- },
-
- {
- 25, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, 81, 81,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
-
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
-
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
- -32, -32, -32, -32, -32, -32
- },
-
- {
- 25, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
-
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, 82,
- 83, 84, 85, 86, 87, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
-
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
-
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33
- },
-
- {
- 25, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
-
- -34, -34, -34, -34, -34, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, 88, 88, 88,
+ 39, 40, 40, 40, 40, 40, 40, 40, 40, 41,
+ 42, 40, 40, 41, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 43, 44, 40, 45, 40, 46, 40, 47,
+
+ 40, 40, 40, 40, 48, 49, 50, 51, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 52, 53,
+ 54, 55, 56, 40, 57, 58, 58, 58, 58, 58,
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 59,
+ 58, 40, 60, 40, 40, 40, 61, 62, 40, 40,
+ 63, 64, 40, 65, 40, 66, 67, 68, 68, 69,
+ 68, 68, 69, 68, 68, 68, 68, 68, 68, 68,
+ 68, 70, 68, 71, 72, 73, 40, 40, 74, 75,
+ 76, 77, 78, 79, 40, 80, 81, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40
+ },
+
+ {
+ 39, 40, 40, 40, 40, 40, 40, 40, 40, 41,
+ 42, 40, 40, 41, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 43, 44, 40, 45, 40, 46, 40, 47,
+ 40, 40, 40, 40, 48, 49, 50, 51, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 52, 53,
+ 54, 55, 56, 40, 57, 58, 58, 58, 58, 58,
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 59,
+
+ 58, 40, 60, 40, 40, 40, 61, 62, 40, 40,
+ 63, 64, 40, 65, 40, 66, 67, 68, 68, 69,
+ 68, 68, 69, 68, 68, 68, 68, 68, 68, 68,
+ 68, 70, 68, 71, 72, 73, 40, 40, 74, 75,
+ 76, 77, 78, 79, 40, 80, 81, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40
+ },
+
+ {
+ 39, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 83, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82
+ },
+
+ {
+ 39, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 83, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82
+
+ },
+
+ {
+ 39, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 83, 84, 84, 84, 84, 84, 84,
+
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84
+ },
+
+ {
+ 39, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 83, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84
+ },
+
+ {
+ 39, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 83, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85
+ },
+
+ {
+ 39, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 83, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85
+ },
+
+ {
+ 39, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 83, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86
+
+ },
+
+ {
+ 39, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 83, 86, 86, 86, 86, 86, 86,
+
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86
+ },
+
+ {
+ 39, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 83, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87
+ },
+
+ {
+ 39, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 83, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 87, 87, 87, 87, 87, 87
+ },
+
+ {
+ 39, 88, 88, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
-
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, -34, -34, -34, -34, -34
-
- },
-
- {
- 25, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, 89, 89,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
-
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
-
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, -35, -35, -35, -35, -35
- },
-
- {
- 25, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
-
- -36, -36, -36, -36, -36, -36, -36, 90, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
-
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
-
- -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36
- },
-
- {
- 25, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, 91, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
-
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
-
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
- -37, -37, -37, -37, -37, -37
- },
-
- {
- 25, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
-
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, 92,
- 93, 94, 95, 96, 97, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
-
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
-
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38
- },
-
- {
- 25, -39, -39, -39, -39, -39, -39, -39, -39, -39,
+
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 83, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88
+ },
+
+ {
+ 39, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 83, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88
+
+ },
+
+ {
+ 39, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 90, 89, 89, 90, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89
+ },
+
+ {
+ 39, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 90, 89, 89, 90, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89
+ },
+
+ {
+ 39, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 83, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91
+ },
+
+ {
+ 39, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 83, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91
+ },
+
+ {
+ 39, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 83, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92
+
+ },
+
+ {
+ 39, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 83, 92, 92, 92, 92, 92, 92,
+
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92
+ },
+
+ {
+ 39, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 83, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93
+ },
+
+ {
+ 39, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 83, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93, 93, 93, 93
+ },
+
+ {
+ 39, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 83, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94
+ },
+
+ {
+ 39, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 83, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94
+
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 96, 97, 95, 98, 98,
+ 98, 98, 98, 98, 98, 98, 98, 98, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 96, 97, 95, 98, 98,
+ 98, 98, 98, 98, 98, 98, 98, 98, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 99, 100, 95, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 99, 100, 95, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 95,
+
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 95, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102
+
+ },
+
+ {
+ 39, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 95,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 95, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 102, 102, 102, 102, 102, 102
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 103,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 104, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 103,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 104, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 95,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+
+ 105, 105, 105, 95, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105
+ },
+
+ {
+ 39, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 95,
+
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 95, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105
+
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 106,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 107, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 106,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 107, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ 39, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 83, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 95
+ },
+
+ {
+ -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
+ -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
- -39, -39, -39, -39, -39, -39, -39, 98, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
@@ -1616,7 +1616,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
- 99, -39, -39, -39, -39, -39, -39, -39, -39, -39,
+ -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
-39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
@@ -1636,7 +1636,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -40, -40, -40, -40, -40, -40, -40, -40, -40,
+ 39, -40, -40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
@@ -1667,8 +1667,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -41, -41, -41, -41, -41, -41, -41, -41, -41,
- -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
+ 39, -41, -41, -41, -41, -41, -41, -41, -41, 108,
+ 108, -41, -41, 108, -41, -41, -41, -41, -41, -41,
-41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
-41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
@@ -1699,20 +1699,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -42, -42, -42, -42, -42, -42, -42, -42, -42,
+ 39, -42, -42, -42, -42, -42, -42, -42, -42, 108,
+ 108, -42, -42, 108, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
- -42, -42, -42, -42, -42, 100, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
- -42, -42, -42, -42, -42, -42, 101, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
- -42, -42, -42, -42, -42, 102, -42, -42, 103, -42,
- 104, 105, -42, -42, -42, -42, -42, -42, -42, -42,
+ -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
+ -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
+ -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
@@ -1730,7 +1730,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -43, -43, -43, -43, -43, -43, -43, -43, -43,
+ 39, -43, -43, -43, -43, -43, -43, -43, -43, -43,
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
@@ -1762,39 +1762,39 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
+ 39, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 110, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 111, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, -44, -44, -44
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 109, 109
},
{
- 25, -45, -45, -45, -45, -45, -45, -45, -45, -45,
+ 39, -45, -45, -45, -45, -45, -45, -45, -45, -45,
-45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
-45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
-45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
@@ -1825,7 +1825,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -46, -46, -46, -46, -46, -46, -46, -46, -46,
+ 39, -46, -46, -46, -46, -46, -46, -46, -46, -46,
-46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
-46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
-46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
@@ -1857,11 +1857,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -47, -47, -47, -47, -47, -47, -47, -47, -47,
- -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
+ 39, -47, -47, -47, -47, -47, -47, -47, -47, -47,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
+ -47, -47, -47, -47, -47, -47, -47, -47, 112, 112,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
-47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
@@ -1888,19 +1888,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -48, -48, -48, -48, -48, -48, -48, -48, -48,
+ 39, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
+ -48, -48, -48, -48, -48, -48, -48, -48, -48, 113,
+ 113, 113, 113, 113, 113, 113, 113, -48, -48, -48,
+ -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
- -48, -48, -48, -48, -48, -48, -48, 106, -48, 107,
- -48, 108, -48, 109, -48, -48, -48, -48, -48, -48,
- 110, 111, -48, -48, -48, -48, -48, 112, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
-48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
@@ -1920,19 +1920,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -49, -49, -49, -49, -49, -49, -49, -49, -49,
- -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
- -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
- -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
- -49, -49, -49, -49, -49, -49, -49, -49, 113, 113,
- 113, 113, 113, 113, -49, -49, -49, -49, -49, -49,
-
- -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
+ 39, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
+
+ -49, -49, -49, -49, -49, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114, 114, -49,
+ 114, -49, -49, -49, -49, -49, -49, -49, -49, -49,
+ -49, -49, -49, -49, -49, -49, -49, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+ 114, -49, 114, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
-49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
@@ -1952,11 +1952,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -50, -50, -50, -50, -50, -50, -50, -50, -50,
- -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
+ 39, -50, -50, -50, -50, -50, -50, -50, -50, -50,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
+ -50, -50, -50, -50, -50, -50, -50, -50, 115, 115,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
-50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
@@ -1983,20 +1983,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -51, -51, -51, -51, -51, -51, -51, -51, -51,
+ 39, -51, -51, -51, -51, -51, -51, -51, -51, -51,
+ -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
- -51, -51, -51, -51, -51, 100, -51, -51, -51, -51,
- -51, -51, -51, 114, -51, -51, -51, -51, -51, -51,
+ -51, -51, -51, -51, -51, -51, -51, 116, 117, -51,
+ -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
- -51, -51, -51, -51, -51, -51, 101, -51, -51, -51,
+ -51, 118, -51, -51, -51, -51, -51, -51, -51, -51,
+ -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
- -51, -51, -51, -51, -51, 102, -51, -51, 103, -51,
- 104, 105, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
@@ -2015,20 +2015,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ 39, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
- -52, -52, -52, -52, -52, 100, -52, -52, -52, -52,
- -52, -52, -52, 114, -52, -52, -52, -52, -52, 115,
- 115, 115, 115, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, 119, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
- -52, -52, -52, -52, -52, -52, 101, -52, -52, -52,
- -52, -52, -52, -52, -52, -52, -52, -52, 116, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
- -52, -52, -52, -52, -52, 102, -52, -52, 103, -52,
- 104, 105, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
@@ -2046,21 +2046,21 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -53, -53, -53, -53, -53, -53, -53, -53, -53,
+ 39, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
- -53, -53, -53, -53, -53, 100, -53, -53, -53, -53,
- -53, -53, -53, 114, -53, -53, -53, -53, -53, 115,
- 115, 115, 115, -53, -53, -53, -53, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, 113,
+ 113, 113, 113, 113, 113, 113, 113, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
- -53, -53, -53, -53, -53, -53, 101, -53, -53, -53,
- -53, -53, -53, -53, -53, -53, -53, -53, 116, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
- -53, -53, -53, -53, -53, 102, -53, -53, 103, -53,
- 104, 105, -53, -53, -53, -53, -53, -53, -53, -53,
+ -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
-53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
@@ -2078,11 +2078,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -54, -54, -54, -54, -54, -54, -54, -54, -54,
- -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
+ 39, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
+ -54, -54, -54, -54, -54, -54, -54, 120, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
@@ -2090,7 +2090,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
- -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
+ 121, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
-54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
@@ -2110,7 +2110,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -55, -55, -55, -55, -55, -55, -55, -55, -55,
+ 39, -55, -55, -55, -55, -55, -55, -55, -55, -55,
-55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
-55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
-55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
@@ -2141,13 +2141,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -56, -56, -56, -56, -56, -56, -56, -56, -56,
+ 39, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
- -56, -56, -56, -56, -56, -56, -56, -56, 117, 118,
- 119, 120, 121, 122, -56, -56, -56, -56, -56, -56,
+ -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
+ -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
@@ -2173,19 +2173,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
+ 39, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
+ -57, -57, -57, -57, -57, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
+ 122, -57, -57, -57, -57, -57, -57, -57, -57, -57,
+ -57, 123, -57, -57, -57, -57, -57, 122, 122, 124,
+ 122, 122, 124, 122, 122, 122, 122, 122, 122, 122,
+ 122, -57, 122, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
@@ -2204,7 +2204,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -58, -58, -58, -58, -58, -58, -58, -58, -58,
+ 39, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
@@ -2213,10 +2213,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
+ -58, -58, -58, -58, -58, -58, 125, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
- -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
- -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
+ -58, -58, -58, -58, -58, 126, -58, -58, 127, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
-58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
@@ -2236,7 +2236,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -59, -59, -59, -59, -59, -59, -59, -59, -59,
+ 39, -59, -59, -59, -59, -59, -59, -59, -59, -59,
-59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
-59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
-59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
@@ -2268,11 +2268,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -60, -60, -60, -60, -60, -60, -60, -60, -60,
+ 39, -60, -60, -60, -60, -60, -60, -60, -60, -60,
+ -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
- -60, -60, -60, -60, -60, -60, -60, -60, 123, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
-60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
@@ -2299,7 +2299,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -61, -61, -61, -61, -61, -61, -61, -61, -61,
+ 39, -61, -61, -61, -61, -61, -61, -61, -61, -61,
-61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
-61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
-61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
@@ -2331,7 +2331,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -62, -62, -62, -62, -62, -62, -62, -62, -62,
+ 39, -62, -62, -62, -62, -62, -62, -62, -62, -62,
-62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
-62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
-62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
@@ -2362,12 +2362,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -63, -63, -63, -63, -63, -63, -63, -63, -63,
+ 39, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
- -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
+ -63, -63, -63, 128, -63, 129, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
@@ -2394,39 +2394,39 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ 39, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, -64, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, 130, -64, 131,
+ -64, 132, -64, 133, 134, -64, -64, -64, 135, -64,
+ 136, 137, -64, -64, -64, -64, -64, 138, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64, -64, -64, -64, -64,
+ -64, -64, -64, -64, -64, -64
},
{
- 25, -65, -65, -65, -65, -65, -65, -65, -65, -65,
+ 39, -65, -65, -65, -65, -65, -65, -65, -65, -65,
-65, -65, -65, -65, -65, -65, -65, -65, -65, -65,
-65, -65, -65, -65, -65, -65, -65, -65, -65, -65,
-65, -65, -65, -65, -65, -65, -65, -65, -65, -65,
@@ -2457,202 +2457,202 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, -66, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125
- },
-
- {
- 25, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, -67, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126
- },
-
- {
- 25, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, -68, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127
- },
-
- {
- 25, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, -69, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128
-
- },
-
- {
- 25, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, -70, 129, 129, 129, 129, 129, 129,
-
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129
- },
-
- {
- 25, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- -71, 130, 130, -71, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130
- },
-
- {
- 25, -72, -72, -72, -72, -72, -72, -72, -72, -72,
- 131, -72, -72, 131, -72, -72, -72, -72, -72, -72,
- -72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
+ 39, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+
+ -66, -66, -66, -66, -66, -66, -66, -66, 139, 139,
+ 139, 139, 139, 139, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66
+ },
+
+ {
+ 39, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
+ -67, -67, -67, -67, -67, -67
+ },
+
+ {
+ 39, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, 140, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, 125, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, 126, -68, -68, 127, -68,
+
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68, -68, -68, -68, -68,
+ -68, -68, -68, -68, -68, -68
+ },
+
+ {
+ 39, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, 140, -69, -69, -69, -69, -69, 141,
+ 141, 141, 141, 141, -69, -69, -69, -69, -69, -69,
+
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, 125, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, 142, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, 126, -69, -69, 127, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
+ -69, -69, -69, -69, -69, -69
+
+ },
+
+ {
+ 39, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, -70, -70, -70, -70
+ },
+
+ {
+ 39, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+
+ -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
+ -71, -71, -71, -71, -71, -71
+ },
+
+ {
+ 39, -72, -72, -72, -72, -72, -72, -72, -72, -72,
-72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
-72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
-72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
+ -72, -72, -72, -72, -72, -72, -72, -72, 143, 144,
+ 145, 146, 147, 148, -72, -72, -72, -72, -72, -72,
-72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
-72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
@@ -2678,135 +2678,135 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
-
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, -73, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
-
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
-
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132
- },
-
- {
- 25, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, -74, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133
-
- },
-
- {
- 25, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, -75, 134, 134, 134, 134, 134, 134,
-
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
-
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134
- },
-
- {
- 25, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
-
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, -76, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
-
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
-
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135
- },
-
- {
- 25, -77, -77, -77, -77, -77, -77, -77, -77, 77,
- 77, -77, -77, 77, -77, -77, -77, -77, -77, -77,
+ 39, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
+ -73, -73, -73, -73, -73, -73
+ },
+
+ {
+ 39, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
+ -74, -74, -74, -74, -74, -74
+
+ },
+
+ {
+ 39, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
+ -75, -75, -75, -75, -75, -75
+ },
+
+ {
+ 39, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
+ -76, -76, -76, -76, -76, -76
+ },
+
+ {
+ 39, -77, -77, -77, -77, -77, -77, -77, -77, -77,
+ -77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
-77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
-77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
-77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
@@ -2836,12 +2836,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ 39, -78, -78, -78, -78, -78, -78, -78, -78, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
- -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ -78, -78, -78, 149, -78, 150, -78, -78, 151, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
-78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
@@ -2868,7 +2868,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -79, -79, -79, -79, -79, -79, -79, -79, -79,
+ 39, -79, -79, -79, -79, -79, -79, -79, -79, -79,
-79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
-79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
-79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
@@ -2900,11 +2900,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -80, -80, -80, -80, -80, -80, -80, -80, -80,
+ 39, -80, -80, -80, -80, -80, -80, -80, -80, -80,
+ -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
- -80, -80, -80, -80, -80, -80, -80, 136, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
-80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
@@ -2931,7 +2931,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ 39, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
@@ -2963,38 +2963,38 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
+ 39, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, -82, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152
},
{
- 25, -83, -83, -83, -83, -83, -83, -83, -83, -83,
+ 39, -83, -83, -83, -83, -83, -83, -83, -83, -83,
-83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
-83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
@@ -3026,198 +3026,198 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
-
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
-
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, -84, -84
-
- },
-
- {
- 25, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
-
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
-
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
- -85, -85, -85, -85, -85, -85
- },
-
- {
- 25, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
-
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
-
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
-
- -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
- -86, -86, -86, -86, -86, -86
- },
-
- {
- 25, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
-
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
-
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87
- },
-
- {
- 25, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
-
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
-
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
-
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, -88
- },
-
- {
- 25, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
-
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
-
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
- -89, -89, -89, -89, -89, -89
-
- },
-
- {
- 25, -90, -90, -90, -90, -90, -90, -90, -90, -90,
- -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
+ 39, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, -84, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153
+
+ },
+
+ {
+ 39, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, -85, 154, 154, 154, 154, 154, 154,
+
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154
+ },
+
+ {
+ 39, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, -86, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155
+ },
+
+ {
+ 39, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, -87, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156
+ },
+
+ {
+ 39, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, -88, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157
+ },
+
+ {
+ 39, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ -89, 158, 158, -89, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158
+
+ },
+
+ {
+ 39, -90, -90, -90, -90, -90, -90, -90, -90, -90,
+ 159, -90, -90, 159, -90, -90, -90, -90, -90, -90,
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
@@ -3247,134 +3247,134 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
-
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
-
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
-
- -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
- -91, -91, -91, -91, -91, -91
- },
-
- {
- 25, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
-
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
-
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
- -92, -92, -92, -92, -92, -92
- },
-
- {
- 25, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
-
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
-
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
-
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93
- },
-
- {
- 25, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
-
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
-
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
- -94, -94, -94, -94, -94, -94
-
- },
-
- {
- 25, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ 39, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, -91, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160
+ },
+
+ {
+ 39, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, -92, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161
+ },
+
+ {
+ 39, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, -93, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162
+ },
+
+ {
+ 39, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, -94, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163
+
+ },
+
+ {
+ 39, -95, -95, -95, -95, -95, -95, -95, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
-95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
@@ -3405,13 +3405,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ 39, -96, -96, -96, -96, -96, -96, -96, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, 164, -96, 165, 165,
+ 165, 165, 165, 165, 165, 165, 165, 165, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
-96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
@@ -3437,12 +3437,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -97, -97, -97, -97, -97, -97, -97, -97, -97,
- -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
- -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
+ 39, -97, -97, -97, -97, -97, -97, -97, -97, -97,
-97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
-97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
-97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
+ -97, -97, -97, -97, -97, -97, -97, -97, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, -97, -97,
-97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
-97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
@@ -3468,19 +3468,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ 39, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, 167, -98, 165, 165,
+ 165, 165, 165, 165, 165, 165, 165, 165, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, 168, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- 137, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
@@ -3500,18 +3500,18 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -99, -99, -99, -99, -99, -99, -99, -99, -99,
- -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
- -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
+ 39, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
+ -99, -99, -99, -99, -99, -99, 169, -99, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
- -99, -99, -99, -99, -99, -99, -99, -99, 138, -99,
+ -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
@@ -3532,12 +3532,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -100, -100, -100, -100, -100, -100, -100, -100, -100,
- -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
- -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
+ 39, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
+ -100, -100, -100, -100, -100, -100, -100, -100, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
@@ -3563,17 +3563,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -101, -101, -101, -101, -101, -101, -101, -101, -101,
+ 39, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
+ -101, -101, -101, -101, -101, -101, 172, -101, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
- -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
- -101, -101, -101, -101, -101, -101, 139, -101, -101, -101,
- -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
+ -101, -101, -101, 173, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
@@ -3595,197 +3595,197 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, 140, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
- -102, -102, -102, -102, -102, -102
- },
-
- {
- 25, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, 141, -103,
-
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103
- },
-
- {
- 25, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, -104, -104, -104, -104, -104
-
- },
-
- {
- 25, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
- -105, -105, -105, -105, -105, -105
- },
-
- {
- 25, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, 142, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-
- -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
- -106, -106, -106, -106, -106, -106
- },
-
- {
- 25, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- 143, -107, -107, -107, -107, 144, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107
- },
-
- {
- 25, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ 39, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, -102,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, -102, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174
+ },
+
+ {
+ 39, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, -103, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175
+ },
+
+ {
+ 39, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, -104, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176
+
+ },
+
+ {
+ 39, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, -105,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, -105, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177
+ },
+
+ {
+ 39, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, -106, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178
+ },
+
+ {
+ 39, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, -107, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179
+ },
+
+ {
+ 39, -108, -108, -108, -108, -108, -108, -108, -108, 108,
+ 108, -108, -108, 108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
@@ -3795,8 +3795,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, 145,
- -108, -108, -108, -108, -108, -108, -108, -108, 146, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
@@ -3816,7 +3816,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -109, -109, -109, -109, -109, -109, -109, -109, -109,
+ 39, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
@@ -3827,8 +3827,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
- -109, -109, -109, -109, -109, -109, -109, -109, -109, 147,
- -109, -109, -109, -109, -109, -109, -109, -109, 148, -109,
+ -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
+ -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
@@ -3848,7 +3848,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -110, -110, -110, -110, -110, -110, -110, -110, -110,
+ 39, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
@@ -3859,8 +3859,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
- -110, -110, -110, -110, -110, -110, -110, -110, -110, 149,
- -110, -110, -110, -110, -110, -110, -110, -110, 150, -110,
+ -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
+ -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
@@ -3879,17 +3879,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -111, -111, -111, -111, -111, -111, -111, -111, -111,
+ 39, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
+ -111, -111, -111, -111, -111, -111, -111, 180, 117, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
- -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
- -111, -111, -111, -111, -111, -111, -111, -111, 151, 152,
+ -111, 181, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
@@ -3911,7 +3911,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -112, -112, -112, -112, -112, -112, -112, -112, -112,
+ 39, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
@@ -3921,7 +3921,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
- -112, -112, -112, -112, -112, -112, -112, -112, 153, -112,
+ -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
@@ -3942,13 +3942,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -113, -113, -113, -113, -113, -113, -113, -113, -113,
+ 39, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
- -113, -113, -113, -113, -113, -113, -113, -113, 113, 113,
- 113, 113, 113, 113, -113, -113, -113, -113, -113, -113,
+ -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
+ -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
@@ -3974,7 +3974,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -114, -114, -114, -114, -114, -114, -114, -114, -114,
+ 39, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
@@ -4006,7 +4006,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -115, -115, -115, -115, -115, -115, -115, -115, -115,
+ 39, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
@@ -4037,18 +4037,18 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -116, -116, -116, -116, -116, -116, -116, -116, -116,
+ 39, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
- -116, -116, -116, -116, -116, -116, -116, -116, -116, 154,
- 154, 154, 154, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
+ -116, 182, -116, -116, -116, -116, -116, -116, -116, -116,
+ -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
@@ -4069,7 +4069,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -117, -117, -117, -117, -117, -117, -117, -117, -117,
+ 39, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
@@ -4100,7 +4100,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -118, -118, -118, -118, -118, -118, -118, -118, -118,
+ 39, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
@@ -4132,7 +4132,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -119, -119, -119, -119, -119, -119, -119, -119, -119,
+ 39, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
@@ -4164,7 +4164,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -120, -120, -120, -120, -120, -120, -120, -120, -120,
+ 39, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
@@ -4176,7 +4176,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
- -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
+ 183, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
@@ -4195,7 +4195,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -121, -121, -121, -121, -121, -121, -121, -121, -121,
+ 39, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
@@ -4206,7 +4206,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
- -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
+ -121, -121, -121, -121, -121, -121, -121, -121, 184, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
@@ -4227,7 +4227,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -122, -122, -122, -122, -122, -122, -122, -122, -122,
+ 39, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
@@ -4258,7 +4258,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -123, -123, -123, -123, -123, -123, -123, -123, -123,
+ 39, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
@@ -4290,233 +4290,232 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
-
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, -124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
-
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124
-
- },
-
- {
- 25, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, -125, 125, 125, 125, 125, 125, 125,
-
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
-
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
- 125, 125, 125, 125, 125, 125
- },
-
- {
- 25, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, -126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
-
- 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 126, 126
- },
-
- {
- 25, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, -127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127
- },
-
- {
- 25, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, -128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128
- },
-
- {
- 25, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, -129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
-
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
- 129, 129, 129, 129, 129, 129
-
- },
-
- {
- 25, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- -130, 130, 130, -130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
-
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130
- },
-
- {
- 25, -131, -131, -131, -131, -131, -131, -131, -131, -131,
- 131, -131, -131, 131, -131, -131, -131, -131, -131, -131,
+ 39, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, 185,
+ 185, 185, 185, 185, -124, -124, -124, -124, -124, -124,
+
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, 186, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
+ -124, -124, -124, -124, -124, -124
+
+ },
+
+ {
+ 39, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, 187, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
+ -125, -125, -125, -125, -125, -125
+ },
+
+ {
+ 39, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, 188, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126
+ },
+
+ {
+ 39, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, 189, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
+ -127, -127, -127, -127, -127, -127
+ },
+
+ {
+ 39, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
+ -128, -128, -128, -128, -128, -128
+ },
+
+ {
+ 39, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
+ -129, -129, -129, -129, -129, -129
+
+ },
+
+ {
+ 39, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+
+ -130, -130, -130, -130, -130, -130, -130, -130, 190, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
+ -130, -130, -130, -130, -130, -130
+ },
+
+ {
+ 39, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
+
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
@@ -4524,6 +4523,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
+ 191, -131, -131, -131, -131, 192, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
@@ -4543,133 +4543,133 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
-
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, -132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
-
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132
- },
-
- {
- 25, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, -133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 133
- },
-
- {
- 25, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
-
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, -134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
-
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 134, 134, 134, 134, 134, 134
-
- },
-
- {
- 25, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, -135, 135, 135, 135, 135, 135, 135,
-
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
-
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135
- },
-
- {
- 25, -136, -136, -136, -136, -136, -136, -136, -136, -136,
+ 39, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, 193,
+ -132, -132, -132, -132, -132, -132, -132, -132, 194, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
+ -132, -132, -132, -132, -132, -132
+ },
+
+ {
+ 39, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, 195,
+ -133, -133, -133, -133, -133, -133, -133, -133, 196, -133,
+
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
+ -133, -133, -133, -133, -133, -133
+ },
+
+ {
+ 39, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, 197, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
+ -134, -134, -134, -134, -134, -134
+
+ },
+
+ {
+ 39, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+
+ -135, -135, -135, -135, -135, -135, -135, -135, 198, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135
+ },
+
+ {
+ 39, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
@@ -4680,8 +4680,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
- -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
- -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
+ -136, -136, -136, -136, -136, -136, -136, -136, -136, 199,
+ -136, -136, -136, -136, -136, -136, -136, -136, 200, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
@@ -4701,7 +4701,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -137, -137, -137, -137, -137, -137, -137, -137, -137,
+ 39, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
@@ -4711,9 +4711,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
- -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
- -137, -137, -137, -137, -137, -137, -137, -137, 155, -137,
- -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
+ -137, -137, -137, -137, -137, -137, -137, -137, 201, 202,
+ -137, -137, -137, -137, -137, -137, -137, -137, 203, -137,
+ -137, -137, -137, -137, -137, 204, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
@@ -4732,7 +4732,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -138, -138, -138, -138, -138, -138, -138, -138, -138,
+ 39, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
@@ -4742,9 +4742,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
- -138, -138, -138, -138, -138, -138, -138, -138, 156, -138,
- -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
- -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
+ -138, -138, -138, -138, -138, -138, -138, -138, 205, -138,
+ -138, -138, -138, -138, -138, -138, -138, -138, 206, -138,
+ -138, -138, -138, -138, -138, 207, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
@@ -4764,16 +4764,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -139, -139, -139, -139, -139, -139, -139, -139, -139,
- -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
- -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
+ 39, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
+ -139, -139, -139, -139, -139, -139, -139, -139, 139, 139,
+ 139, 139, 139, 139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
- -139, -139, -139, -139, -139, -139, 157, -139, -139, -139,
+ -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
@@ -4796,19 +4796,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -140, -140, -140, -140, -140, -140, -140, -140, -140,
+ 39, -140, -140, -140, -140, -140, -140, -140, -140, -140,
+ -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
- 158, -140, 158, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
- -140, -140, -140, -140, -140, 159, -140, -140, -140, -140,
+ -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
@@ -4827,7 +4827,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -141, -141, -141, -141, -141, -141, -141, -141, -141,
+ 39, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
@@ -4839,7 +4839,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
- -141, -141, -141, -141, -141, -141, -141, -141, 160, -141,
+ -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
@@ -4859,19 +4859,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -142, -142, -142, -142, -142, -142, -142, -142, -142,
- -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
- -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
+ 39, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
+ -142, -142, -142, -142, -142, -142, -142, -142, -142, 208,
+ 208, 208, 208, 208, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
- -142, -142, -142, -142, -142, -142, 161, -142, -142, -142,
+ -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
@@ -4890,13 +4890,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -143, -143, -143, -143, -143, -143, -143, -143, -143,
+ 39, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
- -143, -143, -143, -143, -143, -143, -143, -143, 162, -143,
+ -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
@@ -4922,12 +4922,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -144, -144, -144, -144, -144, -144, -144, -144, -144,
+ 39, -144, -144, -144, -144, -144, -144, -144, -144, -144,
+ -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
- -144, -144, -144, -144, -144, -144, -144, -144, 163, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
@@ -4954,12 +4954,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ 39, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
@@ -4985,13 +4985,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -146, -146, -146, -146, -146, -146, -146, -146, -146,
+ 39, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
- -146, -146, -146, -146, -146, -146, -146, -146, 165, -146,
+ -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
@@ -5017,12 +5017,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -147, -147, -147, -147, -147, -147, -147, -147, -147,
+ 39, -147, -147, -147, -147, -147, -147, -147, -147, -147,
+ -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
+ -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
- -147, -147, -147, -147, -147, -147, -147, -147, -147, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
@@ -5048,13 +5048,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -148, -148, -148, -148, -148, -148, -148, -148, -148,
+ 39, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
- -148, -148, -148, -148, -148, -148, -148, -148, 167, -148,
+ -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
@@ -5080,12 +5080,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -149, -149, -149, -149, -149, -149, -149, -149, -149,
+ 39, -149, -149, -149, -149, -149, -149, -149, -149, -149,
+ -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
+ -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
- -149, -149, -149, -149, -149, -149, -149, -149, -149, 168,
- 168, 168, 168, 168, 168, 168, 168, 168, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
@@ -5112,12 +5112,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -150, -150, -150, -150, -150, -150, -150, -150, -150,
+ 39, -150, -150, -150, -150, -150, -150, -150, -150, -150,
+ -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
- -150, -150, -150, -150, -150, -150, -150, -150, 169, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
@@ -5143,13 +5143,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -151, -151, -151, -151, -151, -151, -151, -151, -151,
+ 39, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
- -151, -151, -151, -151, -151, -151, -151, -151, 170, -151,
+ -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
@@ -5175,235 +5175,235 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, 171, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
- -152, -152, -152, -152, -152, -152
- },
-
- {
- 25, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, 172, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
- -153, -153, -153, -153, -153, -153
- },
-
- {
- 25, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
- -154, -154, -154, -154, -154, -154
-
- },
-
- {
- 25, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, 173, -155,
-
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
- -155, -155, -155, -155, -155, -155
- },
-
- {
- 25, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, 174, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-
- -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
- -156, -156, -156, -156, -156, -156
- },
-
- {
- 25, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
- -157, -157, -157, -157, -157, -157
- },
-
- {
- 25, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
- -158, -158, -158, -158, -158, -158
- },
-
- {
- 25, -159, -159, -159, -159, -159, -159, -159, -159, -159,
- -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ 39, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, -152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152
+ },
+
+ {
+ 39, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, -153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153
+ },
+
+ {
+ 39, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, -154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154
+
+ },
+
+ {
+ 39, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, -155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155
+ },
+
+ {
+ 39, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, -156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156
+ },
+
+ {
+ 39, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, -157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157
+ },
+
+ {
+ 39, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ -158, 158, 158, -158, 158, 158, 158, 158, 158, 158,
+
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 158, 158, 158, 158, 158
+ },
+
+ {
+ 39, -159, -159, -159, -159, -159, -159, -159, -159, -159,
+ 159, -159, -159, 159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
- 175, -159, 175, -159, -159, -159, -159, -159, -159, -159,
+ -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
@@ -5428,143 +5428,143 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
- -160, -160, -160, -160, -160, -160
- },
-
- {
- 25, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, 176, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, 177,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-
- -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
- -161, -161, -161, -161, -161, -161
- },
-
- {
- 25, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
- -162, -162, -162, -162, -162, -162
- },
-
- {
- 25, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
- -163, -163, -163, -163, -163, -163
- },
-
- {
- 25, -164, -164, -164, -164, -164, -164, -164, -164, -164,
- -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
- -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
+ 39, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, -160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160
+ },
+
+ {
+ 39, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, -161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161
+ },
+
+ {
+ 39, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, -162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162
+ },
+
+ {
+ 39, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, -163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 163, 163, 163, 163, 163, 163
+ },
+
+ {
+ 39, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
+ -164, -164, -164, -164, -164, -164, -164, -164, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
- -164, -164, -164, 178, -164, -164, -164, -164, -164, -164,
+ -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
@@ -5586,16 +5586,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -165, -165, -165, -165, -165, -165, -165, -165, -165,
- -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
- -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
- -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
+ 39, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
+ -165, -165, -165, -165, -165, -165, 167, -165, 165, 165,
+ 165, 165, 165, 165, 165, 165, 165, 165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
+ -165, -165, -165, 168, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
@@ -5617,17 +5617,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+ 39, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
+ -166, -166, -166, -166, -166, -166, -166, -166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
- -166, -166, -166, 179, -166, -166, -166, -166, -166, -166,
+ -166, -166, -166, 168, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
@@ -5649,17 +5649,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -167, -167, -167, -167, -167, -167, -167, -167, -167,
- -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
- -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
+ 39, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
+ -167, -167, -167, -167, -167, -167, -167, -167, 209, 209,
+ 209, 209, 209, 209, 209, 209, 209, 209, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
- -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
+ -167, -167, -167, 168, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
@@ -5680,7 +5680,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -168, -168, -168, -168, -168, -168, -168, -168, -168,
+ 39, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
@@ -5690,7 +5690,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
- -168, -168, -168, 180, -168, -168, -168, -168, -168, -168,
+ -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
@@ -5712,12 +5712,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -169, -169, -169, -169, -169, -169, -169, -169, -169,
- -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
- -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
+ 39, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
+ -169, -169, -169, -169, -169, -169, -169, -169, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, -169, -169,
-169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
@@ -5744,16 +5744,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -170, -170, -170, -170, -170, -170, -170, -170, -170,
- -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
- -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
+ 39, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
- -170, -170, -170, -170, -170, -170, -170, -170, 181, 181,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
+ -170, -170, -170, -170, -170, -170, 172, -170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
+ -170, -170, -170, 173, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
@@ -5775,17 +5775,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -171, -171, -171, -171, -171, -171, -171, -171, -171,
+ 39, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
+ -171, -171, -171, -171, -171, -171, -171, -171, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -171, -171, -171, -171, -171, -171, -171, 182, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
- -171, -171, -171, -171, -171, -171, -171, 183, -171, -171,
+ -171, -171, -171, 173, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
@@ -5807,17 +5807,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
+ 39, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, 184, 184,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
+ -172, -172, -172, -172, -172, -172, -172, -172, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
- -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
+ -172, -172, -172, 173, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
@@ -5838,7 +5838,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -173, -173, -173, -173, -173, -173, -173, -173, -173,
+ 39, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
@@ -5848,7 +5848,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
- -173, -173, -173, -173, -173, -173, -173, 185, -173, -173,
+ -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
@@ -5870,198 +5870,197 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-
- -174, -174, 186, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
- -174, -174, -174, -174, -174, -174
-
- },
-
- {
- 25, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
- -175, -175, -175, -175, -175, -175
- },
-
- {
- 25, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
- -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
- -176, -176, -176, -176, -176, -176
- },
-
- {
- 25, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, 187,
- 187, 187, 187, 187, 187, 187, 187, 187, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
- -177, -177, -177, -177, -177, -177
- },
-
- {
- 25, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, -178, -178, -178, -178
- },
-
- {
- 25, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
- -179, -179, -179, -179, -179, -179
-
- },
-
- {
- 25, -180, -180, -180, -180, -180, -180, -180, -180, -180,
- -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
+ 39, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, -174,
+
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, -174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 174, 174, 174
+
+ },
+
+ {
+ 39, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, -175, 175, 175, 175, 175, 175, 175,
+
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175
+ },
+
+ {
+ 39, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, -176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 176, 176, 176, 176, 176, 176
+ },
+
+ {
+ 39, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, -177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, -177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177
+ },
+
+ {
+ 39, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, -178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 178, 178, 178, 178, 178
+ },
+
+ {
+ 39, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, -179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 179
+
+ },
+
+ {
+ 39, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
@@ -6070,6 +6069,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
+ -180, 211, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
@@ -6091,20 +6091,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ 39, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
- -181, -181, -181, -181, -181, -181, -181, -181, -181, 188,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
- -181, -181, -181, 189, -181, 190, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
+ -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
@@ -6123,11 +6123,11 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ 39, -182, -182, -182, -182, -182, -182, -182, -182, -182,
+ -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
- -182, -182, -182, -182, -182, -182, -182, -182, 191, 191,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
@@ -6154,18 +6154,18 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ 39, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
- -183, -183, -183, -183, -183, -183, -183, -183, 192, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
+ -183, -183, -183, -183, -183, -183, -183, -183, 212, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
@@ -6186,20 +6186,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ 39, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
- -184, -184, -184, -184, -184, -184, -184, -184, -184, 193,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
+ -184, -184, -184, -184, -184, -184, -184, -184, 213, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
- -184, -184, -184, 194, -184, 195, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
@@ -6218,13 +6218,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ 39, -185, -185, -185, -185, -185, -185, -185, -185, -185,
+ -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
- -185, -185, 196, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
@@ -6249,13 +6249,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+ 39, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
- -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
- -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
+ -186, -186, -186, -186, -186, -186, -186, -186, -186, 214,
+ 214, 214, 214, 214, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
@@ -6281,7 +6281,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -187, -187, -187, -187, -187, -187, -187, -187, -187,
+ 39, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
@@ -6290,8 +6290,8 @@ static yyconst flex_int32_t yy_nxt[][256] =
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
+ -187, -187, -187, -187, -187, -187, 215, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
- -187, -187, -187, 197, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
@@ -6312,19 +6312,19 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -188, -188, -188, -188, -188, -188, -188, -188, -188,
+ 39, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
+ 216, -188, 216, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
+ -188, -188, -188, -188, -188, 217, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
@@ -6344,7 +6344,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -189, -189, -189, -189, -189, -189, -189, -189, -189,
+ 39, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
@@ -6354,9 +6354,9 @@ static yyconst flex_int32_t yy_nxt[][256] =
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
- -189, -189, -189, 198, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
+ -189, -189, -189, -189, -189, -189, -189, -189, 218, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
@@ -6376,7 +6376,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -190, -190, -190, -190, -190, -190, -190, -190, -190,
+ 39, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
@@ -6385,10 +6385,10 @@ static yyconst flex_int32_t yy_nxt[][256] =
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
- -190, -190, -190, 199, -190, -190, -190, -190, -190, -190,
-
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
+
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
+ -190, -190, -190, -190, -190, -190, 219, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
@@ -6407,20 +6407,20 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -191, -191, -191, -191, -191, -191, -191, -191, -191,
+ 39, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, -191, -191, -191, -191, -191, -191, 200,
+ -191, -191, -191, -191, -191, -191, -191, -191, 220, -191,
+ -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
- -191, -191, -191, 201, -191, 202, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
@@ -6439,12 +6439,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+ 39, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
- -192, -192, -192, -192, -192, -192, -192, -192, 203, 203,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+ -192, -192, -192, -192, -192, -192, -192, -192, 221, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
@@ -6470,13 +6470,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -193, -193, -193, -193, -193, -193, -193, -193, -193,
+ 39, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
- -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
- -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
+ -193, -193, -193, -193, -193, -193, -193, -193, -193, 222,
+ 222, 222, 222, 222, 222, 222, 222, 222, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
@@ -6502,17 +6502,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -194, -194, -194, -194, -194, -194, -194, -194, -194,
- -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
+ 39, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
+ -194, -194, -194, -194, -194, -194, -194, -194, 223, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
- -194, -194, -194, 204, -194, -194, -194, -194, -194, -194,
+ -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
@@ -6534,16 +6534,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -195, -195, -195, -195, -195, -195, -195, -195, -195,
+ 39, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
+ -195, -195, -195, -195, -195, -195, -195, -195, -195, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
- -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
- -195, -195, -195, 205, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
@@ -6565,13 +6565,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -196, -196, -196, -196, -196, -196, -196, -196, -196,
+ 39, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
- -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
+ -196, -196, -196, -196, -196, -196, -196, -196, 225, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
@@ -6597,12 +6597,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -197, -197, -197, -197, -197, -197, -197, -197, -197,
- -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
+ 39, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
+ -197, -197, -197, -197, -197, -197, -197, -197, 226, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
@@ -6628,13 +6628,13 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -198, -198, -198, -198, -198, -198, -198, -198, -198,
+ 39, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
- -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
+ -198, -198, -198, -198, -198, -198, -198, -198, 227, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
@@ -6660,12 +6660,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -199, -199, -199, -199, -199, -199, -199, -199, -199,
- -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
- -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
+ 39, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
+ -199, -199, -199, -199, -199, -199, -199, -199, -199, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
@@ -6692,12 +6692,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -200, -200, -200, -200, -200, -200, -200, -200, -200,
- -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
+ 39, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
+ -200, -200, -200, -200, -200, -200, -200, -200, 229, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
@@ -6723,17 +6723,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -201, -201, -201, -201, -201, -201, -201, -201, -201,
+ 39, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
+ -201, -201, -201, -201, -201, -201, -201, -201, 230, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
- -201, -201, -201, 206, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
@@ -6755,7 +6755,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -202, -202, -202, -202, -202, -202, -202, -202, -202,
+ 39, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
@@ -6765,7 +6765,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
- -202, -202, -202, 207, -202, -202, -202, -202, -202, -202,
+ -202, -202, -202, -202, -202, -202, -202, -202, 231, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
@@ -6786,21 +6786,21 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -203, -203, -203, -203, -203, -203, -203, -203, -203,
+ 39, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
- -203, -203, -203, -203, -203, -203, -203, -203, -203, 208,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
+ -203, -203, -203, -203, -203, -203, -203, -203, 232, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
- -203, -203, -203, 209, -203, 210, -203, -203, -203, -203,
+ -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
@@ -6818,7 +6818,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -204, -204, -204, -204, -204, -204, -204, -204, -204,
+ 39, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
@@ -6829,7 +6829,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
- -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
+ -204, -204, -204, -204, -204, -204, -204, -204, 233, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
@@ -6850,12 +6850,12 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -205, -205, -205, -205, -205, -205, -205, -205, -205,
- -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
+ 39, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
+ -205, -205, -205, -205, -205, -205, -205, -205, 234, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
@@ -6881,7 +6881,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -206, -206, -206, -206, -206, -206, -206, -206, -206,
+ 39, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
@@ -6892,7 +6892,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
- -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
+ -206, -206, -206, -206, -206, -206, -206, -206, 235, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
@@ -6913,7 +6913,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -207, -207, -207, -207, -207, -207, -207, -207, -207,
+ 39, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
@@ -6924,7 +6924,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
- -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
+ -207, -207, -207, -207, -207, -207, -207, -207, 236, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
@@ -6944,7 +6944,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ 39, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
@@ -6976,17 +6976,17 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ 39, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, -209, -209, -209, -209, -209, 209, 209,
+ 209, 209, 209, 209, 209, 209, 209, 209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, 211, -209, -209, -209, -209, -209, -209,
+ -209, -209, -209, 168, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
@@ -7008,16 +7008,16 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -210, -210, -210, -210, -210, -210, -210, -210, -210,
- -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
- -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
+ 39, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
+ -210, -210, -210, -210, -210, -210, -210, -210, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
- -210, -210, -210, 212, -210, -210, -210, -210, -210, -210,
+ -210, -210, -210, 173, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
@@ -7039,7 +7039,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -211, -211, -211, -211, -211, -211, -211, -211, -211,
+ 39, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
@@ -7071,7 +7071,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
},
{
- 25, -212, -212, -212, -212, -212, -212, -212, -212, -212,
+ 39, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
@@ -7081,7 +7081,7 @@ static yyconst flex_int32_t yy_nxt[][256] =
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
+ -212, -212, -212, -212, -212, -212, -212, -212, 237, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
@@ -7101,6 +7101,3293 @@ static yyconst flex_int32_t yy_nxt[][256] =
-212, -212, -212, -212, -212, -212
},
+ {
+ 39, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, 238, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
+ -213, -213, -213, -213, -213, -213
+ },
+
+ {
+ 39, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
+ -214, -214, -214, -214, -214, -214
+
+ },
+
+ {
+ 39, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
+ -215, -215, -215, -215, -215, -215
+ },
+
+ {
+ 39, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216
+ },
+
+ {
+ 39, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ 239, -217, 239, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
+ -217, -217, -217, -217, -217, -217
+ },
+
+ {
+ 39, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
+ -218, -218, -218, -218, -218, -218
+ },
+
+ {
+ 39, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, 240, -219,
+
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, 241,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
+ -219, -219, -219, -219, -219, -219
+
+ },
+
+ {
+ 39, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
+ -220, -220, -220, -220, -220, -220
+ },
+
+ {
+ 39, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+
+ -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
+ -221, -221, -221, -221, -221, -221
+ },
+
+ {
+ 39, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, 242, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
+ -222, -222, -222, -222, -222, -222
+ },
+
+ {
+ 39, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
+ -223, -223, -223, -223, -223, -223
+ },
+
+ {
+ 39, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, 243, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
+ -224, -224, -224, -224, -224, -224
+
+ },
+
+ {
+ 39, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
+ -225, -225, -225, -225, -225, -225
+ },
+
+ {
+ 39, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+
+ -226, -226, -226, -226, -226, -226, -226, -226, 244, 245,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+
+ -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, -226
+ },
+
+ {
+ 39, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, 246, 247,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
+ -227, -227, -227, -227, -227, -227
+ },
+
+ {
+ 39, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, 248, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
+ -228, -228, -228, -228, -228, -228
+ },
+
+ {
+ 39, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
+ -229, -229, -229, -229, -229, -229
+
+ },
+
+ {
+ 39, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, 249, 249,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
+ -230, -230, -230, -230, -230, -230
+ },
+
+ {
+ 39, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, 250, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, 251, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+
+ -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
+ -231, -231, -231, -231, -231, -231
+ },
+
+ {
+ 39, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, 252, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
+ -232, -232, -232, -232, -232, -232
+ },
+
+ {
+ 39, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, 253, -233, -233,
+
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
+ -233, -233, -233, -233, -233, -233
+ },
+
+ {
+ 39, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, 254, 254,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
+ -234, -234, -234, -234, -234, -234
+
+ },
+
+ {
+ 39, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, 255, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
+ -235, -235, -235, -235, -235, -235
+ },
+
+ {
+ 39, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, 256, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236
+ },
+
+ {
+ 39, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, 257, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
+ -237, -237, -237, -237, -237, -237
+ },
+
+ {
+ 39, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, 258, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
+ -238, -238, -238, -238, -238, -238
+ },
+
+ {
+ 39, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
+ -239, -239, -239, -239, -239, -239
+
+ },
+
+ {
+ 39, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
+ -240, -240, -240, -240, -240, -240
+ },
+
+ {
+ 39, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, 259,
+ 259, 259, 259, 259, 259, 259, 259, 259, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
+ -241, -241, -241, -241, -241, -241
+ },
+
+ {
+ 39, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
+ -242, -242, -242, -242, -242, -242
+ },
+
+ {
+ 39, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
+ -243, -243, -243, -243, -243, -243
+ },
+
+ {
+ 39, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, 260, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
+ -244, -244, -244, -244, -244, -244
+
+ },
+
+ {
+ 39, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, 261, -245, -245, -245, -245, -245, -245,
+
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
+ -245, -245, -245, -245, -245, -245
+ },
+
+ {
+ 39, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, 262, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+
+ -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
+ -246, -246, -246, -246, -246, -246
+ },
+
+ {
+ 39, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, 263, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
+ -247, -247, -247, -247, -247, -247
+ },
+
+ {
+ 39, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
+ -248, -248, -248, -248, -248, -248
+ },
+
+ {
+ 39, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, 264,
+
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, 265, -249, 266, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
+ -249, -249, -249, -249, -249, -249
+
+ },
+
+ {
+ 39, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, 267, 267,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
+ -250, -250, -250, -250, -250, -250
+ },
+
+ {
+ 39, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, 268, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+
+ -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
+ -251, -251, -251, -251, -251, -251
+ },
+
+ {
+ 39, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, 269, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
+ -252, -252, -252, -252, -252, -252
+ },
+
+ {
+ 39, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, 270, -253, -253, -253, -253, -253,
+
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
+ -253, -253, -253, -253, -253, -253
+ },
+
+ {
+ 39, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, 271,
+
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, 272, -254, 273, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
+ -254, -254, -254, -254, -254, -254
+
+ },
+
+ {
+ 39, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, 274, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
+ -255, -255, -255, -255, -255, -255
+ },
+
+ {
+ 39, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, 275, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+
+ -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
+ -256, -256, -256, -256, -256, -256
+ },
+
+ {
+ 39, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, 276, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
+ -257, -257, -257, -257, -257, -257
+ },
+
+ {
+ 39, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
+ -258, -258, -258, -258, -258, -258
+ },
+
+ {
+ 39, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, 277, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
+ -259, -259, -259, -259, -259, -259
+
+ },
+
+ {
+ 39, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
+ -260, -260, -260, -260, -260, -260
+ },
+
+ {
+ 39, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+
+ -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
+ -261, -261, -261, -261, -261, -261
+ },
+
+ {
+ 39, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
+ -262, -262, -262, -262, -262, -262
+ },
+
+ {
+ 39, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
+ -263, -263, -263, -263, -263, -263
+ },
+
+ {
+ 39, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
+ -264, -264, -264, -264, -264, -264
+
+ },
+
+ {
+ 39, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, 278, -265, -265, -265, -265, -265, -265,
+
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
+ -265, -265, -265, -265, -265, -265
+ },
+
+ {
+ 39, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, 279, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+
+ -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
+ -266, -266, -266, -266, -266, -266
+ },
+
+ {
+ 39, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, 280,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, 281, -267, 282, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
+ -267, -267, -267, -267, -267, -267
+ },
+
+ {
+ 39, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, 283, 283,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
+ -268, -268, -268, -268, -268, -268
+ },
+
+ {
+ 39, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, 284, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
+ -269, -269, -269, -269, -269, -269
+
+ },
+
+ {
+ 39, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, 285, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
+ -270, -270, -270, -270, -270, -270
+ },
+
+ {
+ 39, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
+ -271, -271, -271, -271, -271, -271
+ },
+
+ {
+ 39, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, 286, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
+ -272, -272, -272, -272, -272, -272
+ },
+
+ {
+ 39, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, 287, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
+ -273, -273, -273, -273, -273, -273
+ },
+
+ {
+ 39, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, 288, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
+ -274, -274, -274, -274, -274, -274
+
+ },
+
+ {
+ 39, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, 289, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
+ -275, -275, -275, -275, -275, -275
+ },
+
+ {
+ 39, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+
+ -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
+ -276, -276, -276, -276, -276, -276
+ },
+
+ {
+ 39, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
+ -277, -277, -277, -277, -277, -277
+ },
+
+ {
+ 39, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
+ -278, -278, -278, -278, -278, -278
+ },
+
+ {
+ 39, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
+ -279, -279, -279, -279, -279, -279
+
+ },
+
+ {
+ 39, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
+ -280, -280, -280, -280, -280, -280
+ },
+
+ {
+ 39, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, 290, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+
+ -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
+ -281, -281, -281, -281, -281, -281
+ },
+
+ {
+ 39, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, 291, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, -282
+ },
+
+ {
+ 39, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, 292,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+
+ -283, -283, -283, 293, -283, 294, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
+ -283, -283, -283, -283, -283, -283
+ },
+
+ {
+ 39, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
+ -284, -284, -284, -284, -284, -284
+
+ },
+
+ {
+ 39, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, 295, 295,
+ 295, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
+ -285, -285, -285, -285, -285, -285
+ },
+
+ {
+ 39, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+
+ -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
+ -286, -286, -286, -286, -286, -286
+ },
+
+ {
+ 39, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
+ -287, -287, -287, -287, -287, -287
+ },
+
+ {
+ 39, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
+ -288, -288, -288, -288, -288, -288
+ },
+
+ {
+ 39, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, 296, 296,
+ 296, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
+ -289, -289, -289, -289, -289, -289
+
+ },
+
+ {
+ 39, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
+ -290, -290, -290, -290, -290, -290
+ },
+
+ {
+ 39, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+
+ -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
+ -291, -291, -291, -291, -291, -291
+ },
+
+ {
+ 39, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, -292
+ },
+
+ {
+ 39, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, 297, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
+ -293, -293, -293, -293, -293, -293
+ },
+
+ {
+ 39, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, 298, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
+ -294, -294, -294, -294, -294, -294
+
+ },
+
+ {
+ 39, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, 299,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, 300, -295, 301, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
+ -295, -295, -295, -295, -295, -295
+ },
+
+ {
+ 39, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, 302,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, 303, -296, 304, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+
+ -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
+ -296, -296, -296, -296, -296, -296
+ },
+
+ {
+ 39, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
+ -297, -297, -297, -297, -297, -297
+ },
+
+ {
+ 39, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
+ -298, -298, -298, -298, -298, -298
+ },
+
+ {
+ 39, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, -299, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305
+
+ },
+
+ {
+ 39, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, 306, -300, -300, -300, -300, -300, -300,
+
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
+ -300, -300, -300, -300, -300, -300
+ },
+
+ {
+ 39, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 307, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301
+ },
+
+ {
+ 39, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, -302, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308
+ },
+
+ {
+ 39, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, 309, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
+ -303, -303, -303, -303, -303, -303
+ },
+
+ {
+ 39, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, 310, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304
+
+ },
+
+ {
+ 39, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 311, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305
+ },
+
+ {
+ 39, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+
+ -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
+ -306, -306, -306, -306, -306, -306
+ },
+
+ {
+ 39, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
+ -307, -307, -307, -307, -307, -307
+ },
+
+ {
+ 39, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 312, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308
+ },
+
+ {
+ 39, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
+ -309, -309, -309, -309, -309, -309
+
+ },
+
+ {
+ 39, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
+ -310, -310, -310, -310, -310, -310
+ },
+
+ {
+ 39, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, -311, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313
+ },
+
+ {
+ 39, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, -312, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314
+ },
+
+ {
+ 39, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 315, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313
+ },
+
+ {
+ 39, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 316, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314
+
+ },
+
+ {
+ 39, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
+ -315, -315, -315, -315, -315, -315
+ },
+
+ {
+ 39, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+
+ -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
+ -316, -316, -316, -316, -316, -316
+ },
+
} ;
static yy_state_type yy_get_previous_state (void );
@@ -7118,8 +10405,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 109
-#define YY_END_OF_BUFFER 110
+#define YY_NUM_RULES 134
+#define YY_END_OF_BUFFER 135
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -7127,63 +10414,85 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int32_t yy_accept[213] =
+static yyconst flex_int32_t yy_accept[317] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 110, 108, 42, 42, 78, 108,
- 1, 94, 49, 108, 96, 76, 63, 56, 99, 83,
- 98, 92, 102, 66, 106, 104, 45, 108, 95, 48,
- 92, 92, 92, 101, 100, 65, 107, 105, 103, 43,
- 39, 40, 97, 34, 38, 35, 36, 32, 33, 37,
- 3, 2, 28, 29, 30, 31, 42, 82, 81, 79,
- 94, 50, 51, 52, 53, 54, 55, 93, 96, 77,
- 64, 57, 58, 59, 60, 61, 62, 0, 0, 74,
-
- 0, 0, 0, 73, 75, 0, 0, 0, 0, 0,
- 0, 0, 95, 41, 46, 0, 67, 68, 69, 70,
- 71, 72, 44, 34, 35, 36, 32, 33, 37, 3,
- 2, 28, 29, 30, 31, 80, 0, 0, 86, 88,
- 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 47, 0, 0, 87, 89, 90, 85,
- 0, 5, 4, 0, 24, 0, 23, 0, 22, 0,
- 0, 0, 0, 0, 91, 25, 0, 20, 19, 18,
- 0, 0, 0, 0, 0, 26, 0, 6, 0, 0,
- 0, 0, 7, 0, 0, 27, 21, 10, 14, 8,
-
- 0, 0, 0, 11, 15, 12, 16, 9, 0, 0,
- 13, 17
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 135, 133,
+ 64, 64, 97, 133, 91, 1, 115, 77, 133, 117,
+ 94, 80, 79, 120, 103, 119, 133, 112, 123, 83,
+ 127, 125, 69, 133, 29, 116, 76, 112, 112, 122,
+ 121, 82, 128, 126, 124, 90, 92, 66, 61, 62,
+ 118, 36, 54, 37, 38, 34, 35, 39, 3, 2,
+ 30, 31, 32, 33, 134, 134, 134, 134, 134, 134,
+
+ 134, 46, 134, 134, 51, 134, 134, 64, 102, 101,
+ 98, 115, 78, 113, 117, 96, 93, 40, 81, 0,
+ 0, 114, 28, 114, 0, 0, 0, 70, 71, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 116, 63,
+ 72, 0, 84, 85, 86, 87, 88, 89, 67, 68,
+ 65, 36, 37, 38, 34, 35, 39, 3, 2, 30,
+ 31, 32, 33, 0, 0, 0, 0, 41, 0, 0,
+ 0, 0, 43, 46, 47, 48, 51, 52, 53, 100,
+ 42, 95, 0, 0, 74, 0, 106, 108, 104, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
+ 99, 0, 0, 75, 107, 109, 110, 105, 0, 5,
+ 4, 0, 24, 0, 23, 0, 0, 0, 22, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 111, 25,
+ 0, 20, 19, 0, 0, 0, 0, 18, 0, 0,
+ 0, 45, 0, 0, 50, 0, 0, 26, 0, 130,
+ 129, 132, 131, 6, 0, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0, 0, 27, 21, 10, 14, 8,
+ 0, 0, 0, 44, 0, 11, 15, 49, 0, 12,
+ 16, 9, 0, 0, 0, 0, 13, 17, 0, 0,
+
+ 0, 0, 0, 0, 0, 56, 57, 0, 59, 60,
+ 0, 0, 0, 0, 55, 58
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-static yyconst yy_state_type yy_NUL_trans[213] =
+static yyconst yy_state_type yy_NUL_trans[317] =
{ 0,
- 26, 26, 64, 64, 66, 66, 67, 67, 68, 68,
- 69, 69, 70, 70, 71, 71, 73, 73, 74, 74,
- 75, 75, 76, 76, 0, 0, 0, 0, 0, 78,
+ 40, 40, 82, 82, 84, 84, 85, 85, 86, 86,
+ 87, 87, 88, 88, 89, 89, 91, 91, 92, 92,
+ 93, 93, 94, 94, 95, 95, 95, 95, 102, 102,
+ 95, 95, 105, 105, 95, 95, 95, 95, 0, 0,
+ 0, 0, 0, 109, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 152, 0, 153, 154, 155, 156, 157, 158, 0,
+ 160, 161, 162, 163, 0, 0, 0, 0, 0, 0,
+
+ 0, 174, 175, 176, 177, 178, 179, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 124, 0, 125, 126, 127, 128, 129,
- 130, 0, 132, 133, 134, 135, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 152, 153, 154, 155, 156, 157, 158, 0, 160,
+ 161, 162, 163, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 174, 175, 176, 177, 178, 179, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 124, 125, 126, 127, 128, 129, 130,
- 0, 132, 133, 134, 135, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 305, 0,
+
+ 0, 308, 0, 0, 305, 0, 0, 308, 0, 0,
+ 313, 314, 313, 314, 0, 0
} ;
extern int gabc_notes_determination__flex_debug;
@@ -7242,12 +10551,35 @@ static char char_for_brace;
static unsigned int nbof_isolated_episema;
static char *notesmacros[10];
static char tempstr[256];
-static int brace_var_counter;
-static int overbrace_var, underbrace_var;
+static int brace_var_counter = 0;
+static int overbrace_var = 0, underbrace_var = 0;
static const char *overbrace_var_kind;
+static int before_ledger_type;
+static char *before_ledger_length = NULL;
+static int ledger_var[2] = { 0, 0 };
+static unsigned char staff_lines;
+static signed char highest_pitch;
+static bool legacy_oriscus_orientation;
+static int slur_var[2] = { 0, 0 };
+static char slur_shift[2] = { '\0', '\0' };
+static gregorio_note *slur_start[] = { NULL, NULL };
+
+typedef enum ledger_line_type {
+ LL_OVER = 0,
+ LL_UNDER = 1
+} ledger_line_type;
static __inline char pitch_letter_to_height(const char pitch) {
- return pitch - 'a' + LOWEST_PITCH;
+ char result = pitch - 'a' + LOWEST_PITCH;
+ if (pitch == 'p') {
+ --result;
+ }
+ if (result > highest_pitch) {
+ gregorio_messagef("pitch_letter_to_height", VERBOSITY_ERROR, 0,
+ _("invalid pitch for %u lines: %c"), (unsigned int)staff_lines,
+ pitch);
+ }
+ return result;
}
static gregorio_shape punctum(const char pitch)
@@ -7263,9 +10595,19 @@ static __inline void lex_add_note(int i, gregorio_shape shape, char signs,
char liquescentia)
{
nbof_isolated_episema = 0;
- gregorio_add_note(&current_note,
- pitch_letter_to_height(tolower((unsigned char)gabc_notes_determination_text[i])),
+ gregorio_add_note(&current_note, pitch_letter_to_height(
+ tolower((unsigned char)gabc_notes_determination_text[i])),
shape, signs, liquescentia, NULL, &notes_lloc);
+
+ if (ledger_var[LL_OVER]) {
+ current_note->supposed_high_ledger_line = true;
+ current_note->explicit_high_ledger_line = true;
+ }
+
+ if (ledger_var[LL_UNDER]) {
+ current_note->supposed_low_ledger_line = true;
+ current_note->explicit_low_ledger_line = true;
+ }
}
static __inline void add_bar_as_note(gregorio_bar bar)
@@ -7281,7 +10623,8 @@ static __inline void error(void)
gabc_notes_determination_text[3] - '0');
}
-static void add_h_episema(void) {
+static void add_h_episema(void)
+{
grehepisema_size size = H_NORMAL;
gregorio_vposition vposition = VPOS_AUTO;
bool disable_bridge = false;
@@ -7321,7 +10664,8 @@ static void add_h_episema(void) {
&nbof_isolated_episema);
}
-static void add_sign(gregorio_sign sign) {
+static void add_sign(gregorio_sign sign)
+{
gregorio_vposition vposition = VPOS_AUTO;
switch(gabc_notes_determination_text[1]) {
case '0':
@@ -7334,24 +10678,285 @@ static void add_sign(gregorio_sign sign) {
gregorio_add_sign(current_note, sign, vposition);
}
-static __inline void add_alteration(const gregorio_type type) {
- gregorio_add_alteration_as_note(&current_note, type,
- pitch_letter_to_height(gabc_notes_determination_text[0]),
- &notes_lloc);
+static void save_before_ledger(const char *const before_ledger)
+{
+ if (strcmp(before_ledger, "0") == 0) {
+ before_ledger_type = 0;
+ before_ledger_length = "";
+ } else if (strcmp(before_ledger, "1") == 0) {
+ before_ledger_type = 1;
+ before_ledger_length = "";
+ } else {
+ before_ledger_type = 2;
+ before_ledger_length = gregorio_strdup(before_ledger);
+ }
+}
+
+static void add_static_ledger(const ledger_line_type type, const char *length) {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreDrawAdditionalLine{%d}{%s}{%d}{%s}{0}{}",
+ type, length + 1, before_ledger_type, before_ledger_length);
+
+ if (before_ledger_type == 2) {
+ free(before_ledger_length);
+ before_ledger_length = NULL;
+ }
+
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+}
+
+static __inline const char *ledger_type_name(const ledger_line_type type) {
+ switch (type) {
+ case LL_OVER:
+ return "over";
+ case LL_UNDER:
+ return "under";
+ }
+ gregorio_messagef("ledger_type_name", VERBOSITY_ERROR, 0,
+ _("invalid ledger type %d"), type);
+ return NULL;
+}
+
+static void add_variable_ledger(const ledger_line_type type,
+ const char *after_ledger)
+{
+ if (ledger_var[type]) {
+ const char *const typename = ledger_type_name(type);
+ gregorio_messagef("add_variable_ledger", VERBOSITY_ERROR, 0,
+ _("variable %s-staff ledger line without termination of "
+ "previous %s-staff ledger line"), typename, typename);
+ } else {
+ int after_ledger_type;
+ const char *after_ledger_length;
+
+ ++after_ledger;
+
+ if (strcmp(after_ledger, "0") == 0) {
+ after_ledger_type = 0;
+ after_ledger_length = "";
+ } else if (strcmp(after_ledger, "1") == 0) {
+ after_ledger_type = 1;
+ after_ledger_length = "";
+ } else {
+ after_ledger_type = 2;
+ after_ledger_length = after_ledger;
+ }
+
+ ledger_var[type] = ++brace_var_counter;
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{0}{1}"
+ "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%d}}"
+ "{%d}{%s}{%d}{%s}",
+ ledger_var[type], type, ledger_var[type], before_ledger_type,
+ before_ledger_length, after_ledger_type, after_ledger_length);
+
+ if (before_ledger_type == 2) {
+ free(before_ledger_length);
+ before_ledger_length = NULL;
+ }
+
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+ }
+}
+
+static void end_variable_ledger(const ledger_line_type type)
+{
+ if (!ledger_var[type]) {
+ const char *const typename = ledger_type_name(type);
+ gregorio_messagef("end_variable_ledger", VERBOSITY_ERROR, 0,
+ _("variable %s-staff ledger line termination without variable "
+ "%s-staff ledger line start"), typename, typename);
+ } else {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{0}{2}", ledger_var[type]);
+ ledger_var[type] = 0;
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+ }
}
+static __inline int parse_clef_line(char line)
+{
+ line -= '0';
+ if (line < 0 || line > staff_lines) {
+ gregorio_messagef("parse_clef_line", VERBOSITY_ERROR, 0,
+ _("invalid clef line for %u lines: %d"),
+ (unsigned int)staff_lines, (int)line);
+ return 1;
+ }
+ return line;
+}
+static __inline gregorio_bar parse_dominican_bar(char bar)
+{
+ bar -= '0';
+ if (bar < 1 || bar > (2 * (staff_lines - 1))) {
+ gregorio_messagef("parse_dominican_line", VERBOSITY_ERROR, 0,
+ _("invalid dominican bar for %u lines: ;%d"),
+ (unsigned int)staff_lines, (int)bar);
+ }
+ switch (bar) {
+ case 1:
+ return B_DIVISIO_MINOR_D1;
+ case 2:
+ return B_DIVISIO_MINOR_D2;
+ case 3:
+ return B_DIVISIO_MINOR_D3;
+ case 4:
+ return B_DIVISIO_MINOR_D4;
+ case 5:
+ return B_DIVISIO_MINOR_D5;
+ case 6:
+ return B_DIVISIO_MINOR_D6;
+ case 7:
+ return B_DIVISIO_MINOR_D7;
+ case 8:
+ return B_DIVISIO_MINOR_D8;
+ }
+ gregorio_messagef("check_dominican_line", VERBOSITY_ERROR, 0,
+ _("invalid dominican bar: %d"), (int)bar);
+ return B_NO_BAR;
+}
+static __inline gregorio_clef letter_to_clef(char letter)
+{
+ switch (letter) {
+ case 'c':
+ return CLEF_C;
+ case 'f':
+ return CLEF_F;
+ }
+ gregorio_messagef("letter_to_clef", VERBOSITY_ERROR, 0,
+ _("invalid clef: %c"), letter);
+ return CLEF_C;
+}
+
+static __inline void slur_assert(char *fn, bool test) {
+ if (!test) {
+ gregorio_message(_("invalid slur text"), fn, VERBOSITY_FATAL, 0);
+ exit(1);
+ }
+}
+
+static char *parse_slur_shift(char *shift)
+{
+ char *c;
+
+ c = strchr(gabc_notes_determination_text, ':');
+ slur_assert("parse_slur_shift", c != NULL);
+ slur_assert("parse_slur_shift", *(++c) != '\0');
+ *shift = *c;
+ return c;
+}
+static void parse_slur(int direction)
+{
+ char shift, *width, *height, *end;
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "parse_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+ end = parse_slur_shift(&shift);
+ width = strchr(end, ';');
+ slur_assert("parse_slur", width != NULL);
+ height = strchr(++width, ',');
+ slur_assert("parse_slur", height != NULL);
+ *height = '\0';
+ end = strchr(++height, ']');
+ slur_assert("parse_slur", end != NULL);
+ *end = '\0';
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreSlur{%d}{%d}{%c}{%s}{%s}{}",
+ current_note->u.note.pitch + direction, direction, shift, width,
+ height);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
+}
+static void start_var_slur(int index)
+{
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "start_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+ if (slur_var[index]) {
+ gregorio_message(
+ _("variable slur without termination of previous slur"),
+ "start_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+ slur_var[index] = ++brace_var_counter;
+ parse_slur_shift(slur_shift + index);
+ slur_start[index] = current_note;
+}
-#line 7355 "gabc/gabc-notes-determination-l.c"
+static void end_var_slur(int direction, int index)
+{
+ char shift;
+
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "end_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (!slur_var[index] || !slur_shift[index] || !slur_start[index]) {
+ gregorio_message(_("variable slur end without variable slur start"),
+ "end_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ parse_slur_shift(&shift);
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{%c}{1}"
+ "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%d}}{}{%d}",
+ slur_var[index], slur_shift[index],
+ slur_start[index]->u.note.pitch + direction, direction,
+ slur_shift[index], slur_var[index],
+ current_note->u.note.pitch + direction);
+ gregorio_add_texverb_to_note(slur_start[index], gregorio_strdup(tempstr));
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{%c}{2}", slur_var[index], shift);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
+
+
+ slur_var[index] = 0;
+ slur_shift[index] = '\0';
+ slur_start[index] = NULL;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#line 10960 "gabc/gabc-notes-determination-l.c"
#define INITIAL 0
#define texverbnote 1
@@ -7365,6 +10970,13 @@ static __inline void add_alteration(const gregorio_type type) {
#define underbrace 9
#define overcurlybrace 10
#define overcurlyaccentusbrace 11
+#define space 12
+#define nbspace 13
+#define overledger 14
+#define overledger2 15
+#define underledger 16
+#define underledger2 17
+#define endledger 18
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -7573,9 +11185,9 @@ YY_DECL
}
{
-#line 172 "gabc/gabc-notes-determination.l"
+#line 468 "gabc/gabc-notes-determination.l"
-#line 7579 "gabc/gabc-notes-determination-l.c"
+#line 11191 "gabc/gabc-notes-determination-l.c"
while ( 1 ) /* loops until end-of-file is reached */
{
@@ -7622,7 +11234,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 173 "gabc/gabc-notes-determination.l"
+#line 469 "gabc/gabc-notes-determination.l"
{
BEGIN(comments);
}
@@ -7630,35 +11242,35 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 176 "gabc/gabc-notes-determination.l"
+#line 472 "gabc/gabc-notes-determination.l"
{
BEGIN(INITIAL);
}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 179 "gabc/gabc-notes-determination.l"
+#line 475 "gabc/gabc-notes-determination.l"
{
/* ignored */
}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 182 "gabc/gabc-notes-determination.l"
+#line 478 "gabc/gabc-notes-determination.l"
{
BEGIN(choralsign);
}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 185 "gabc/gabc-notes-determination.l"
+#line 481 "gabc/gabc-notes-determination.l"
{
BEGIN(choralnabc);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 188 "gabc/gabc-notes-determination.l"
+#line 484 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[4]-'0';
BEGIN(overbrace);
@@ -7666,7 +11278,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 192 "gabc/gabc-notes-determination.l"
+#line 488 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[4]-'0';
BEGIN(underbrace);
@@ -7674,7 +11286,7 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 196 "gabc/gabc-notes-determination.l"
+#line 492 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[5]-'0';
BEGIN(overcurlybrace);
@@ -7682,7 +11294,7 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 200 "gabc/gabc-notes-determination.l"
+#line 496 "gabc/gabc-notes-determination.l"
{
char_for_brace = gabc_notes_determination_text[6]-'0';
BEGIN(overcurlyaccentusbrace);
@@ -7690,7 +11302,7 @@ YY_RULE_SETUP
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 204 "gabc/gabc-notes-determination.l"
+#line 500 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7704,13 +11316,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 220 "gabc/gabc-notes-determination.l"
+#line 516 "gabc/gabc-notes-determination.l"
{
if (underbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7723,13 +11335,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreUnderBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}",
underbrace_var, char_for_brace, underbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 235 "gabc/gabc-notes-determination.l"
+#line 531 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7743,13 +11355,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{0}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 251 "gabc/gabc-notes-determination.l"
+#line 547 "gabc/gabc-notes-determination.l"
{
if (overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7763,13 +11375,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{1}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 267 "gabc/gabc-notes-determination.l"
+#line 563 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7786,13 +11398,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 286 "gabc/gabc-notes-determination.l"
+#line 582 "gabc/gabc-notes-determination.l"
{
if (!underbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7804,13 +11416,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{2}", underbrace_var,
char_for_brace);
underbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 300 "gabc/gabc-notes-determination.l"
+#line 596 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7827,13 +11439,13 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 319 "gabc/gabc-notes-determination.l"
+#line 615 "gabc/gabc-notes-determination.l"
{
if (!overbrace_var) {
gregorio_messagef("gabc_notes_determination", VERBOSITY_ERROR, 0,
@@ -7850,23 +11462,23 @@ YY_RULE_SETUP
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 338 "gabc/gabc-notes-determination.l"
+#line 634 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_to_note(&current_note,
+ gregorio_add_texverb_to_note(current_note,
gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']));
} else error();
}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 344 "gabc/gabc-notes-determination.l"
+#line 640 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
gregorio_add_texverb_as_note(&current_note,
@@ -7877,7 +11489,7 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 351 "gabc/gabc-notes-determination.l"
+#line 647 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
gregorio_add_texverb_as_note(&current_note,
@@ -7888,7 +11500,7 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 358 "gabc/gabc-notes-determination.l"
+#line 654 "gabc/gabc-notes-determination.l"
{
if (notesmacros[gabc_notes_determination_text[5]-'0']) {
gregorio_add_texverb_as_note(&current_note,
@@ -7899,683 +11511,916 @@ YY_RULE_SETUP
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 365 "gabc/gabc-notes-determination.l"
+#line 661 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbnote);
}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 368 "gabc/gabc-notes-determination.l"
+#line 664 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbglyph);
}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 371 "gabc/gabc-notes-determination.l"
+#line 667 "gabc/gabc-notes-determination.l"
{
BEGIN(texverbelement);
}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 374 "gabc/gabc-notes-determination.l"
+#line 670 "gabc/gabc-notes-determination.l"
{
BEGIN(alt);
}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 377 "gabc/gabc-notes-determination.l"
+#line 673 "gabc/gabc-notes-determination.l"
{
gregorio_add_nlba_as_note(&current_note, NLBA_BEGINNING, &notes_lloc);
}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 380 "gabc/gabc-notes-determination.l"
+#line 676 "gabc/gabc-notes-determination.l"
{
gregorio_add_nlba_as_note(&current_note, NLBA_END, &notes_lloc);
}
YY_BREAK
case 28:
-/* rule 28 can match eol */
YY_RULE_SETUP
-#line 383 "gabc/gabc-notes-determination.l"
+#line 679 "gabc/gabc-notes-determination.l"
{
- gregorio_snprintf(tempstr, sizeof tempstr,
- "\\GreOverBrace{%s}{0pt}{0pt}{%d}",
- gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_start_autofuse(&current_note, &notes_lloc);
}
YY_BREAK
case 29:
-/* rule 29 can match eol */
YY_RULE_SETUP
-#line 389 "gabc/gabc-notes-determination.l"
+#line 682 "gabc/gabc-notes-determination.l"
{
- gregorio_snprintf(tempstr, sizeof tempstr,
- "\\GreUnderBrace{%s}{0pt}{0pt}{%d}",
- gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_end_autofuse(&current_note, &notes_lloc);
}
YY_BREAK
case 30:
/* rule 30 can match eol */
YY_RULE_SETUP
-#line 395 "gabc/gabc-notes-determination.l"
+#line 685 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
- "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}",
+ "\\GreOverBrace{%s}{0pt}{0pt}{%d}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
YY_BREAK
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
-#line 401 "gabc/gabc-notes-determination.l"
+#line 691 "gabc/gabc-notes-determination.l"
{
gregorio_snprintf(tempstr, sizeof tempstr,
- "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}",
+ "\\GreUnderBrace{%s}{0pt}{0pt}{%d}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
YY_BREAK
case 32:
/* rule 32 can match eol */
YY_RULE_SETUP
-#line 407 "gabc/gabc-notes-determination.l"
+#line 697 "gabc/gabc-notes-determination.l"
{
- gregorio_add_cs_to_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text), false);
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}",
+ gabc_notes_determination_text, char_for_brace);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
YY_BREAK
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
-#line 411 "gabc/gabc-notes-determination.l"
+#line 703 "gabc/gabc-notes-determination.l"
{
- gregorio_add_cs_to_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text), true);
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}",
+ gabc_notes_determination_text, char_for_brace);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
YY_BREAK
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
-#line 415 "gabc/gabc-notes-determination.l"
+#line 709 "gabc/gabc-notes-determination.l"
{
- gregorio_add_texverb_to_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text));
+ gregorio_add_cs_to_note(&current_note,
+ gregorio_strdup(gabc_notes_determination_text), false);
}
YY_BREAK
case 35:
/* rule 35 can match eol */
YY_RULE_SETUP
-#line 419 "gabc/gabc-notes-determination.l"
+#line 713 "gabc/gabc-notes-determination.l"
{
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text),
- GRE_TEXVERB_GLYPH, &notes_lloc);
+ gregorio_add_cs_to_note(&current_note,
+ gregorio_strdup(gabc_notes_determination_text), true);
}
YY_BREAK
case 36:
/* rule 36 can match eol */
YY_RULE_SETUP
-#line 424 "gabc/gabc-notes-determination.l"
+#line 717 "gabc/gabc-notes-determination.l"
{
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ gregorio_add_texverb_to_note(current_note,
+ gregorio_strdup(gabc_notes_determination_text));
}
YY_BREAK
case 37:
/* rule 37 can match eol */
YY_RULE_SETUP
-#line 429 "gabc/gabc-notes-determination.l"
+#line 721 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup(gabc_notes_determination_text), GRE_ALT,
- &notes_lloc);
+ gregorio_strdup(gabc_notes_determination_text),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
}
YY_BREAK
case 38:
+/* rule 38 can match eol */
YY_RULE_SETUP
-#line 434 "gabc/gabc-notes-determination.l"
+#line 726 "gabc/gabc-notes-determination.l"
{
- BEGIN(INITIAL);
+ gregorio_add_texverb_as_note(&current_note,
+ gregorio_strdup(gabc_notes_determination_text),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
}
YY_BREAK
case 39:
+/* rule 39 can match eol */
YY_RULE_SETUP
-#line 437 "gabc/gabc-notes-determination.l"
+#line 731 "gabc/gabc-notes-determination.l"
{
gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT,
+ gregorio_strdup(gabc_notes_determination_text), GRE_ALT,
&notes_lloc);
}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 442 "gabc/gabc-notes-determination.l"
+#line 736 "gabc/gabc-notes-determination.l"
{
- gregorio_add_texverb_as_note(&current_note,
- gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "),
- GRE_TEXVERB_ELEMENT, &notes_lloc);
+ BEGIN(space);
}
YY_BREAK
case 41:
+*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 447 "gabc/gabc-notes-determination.l"
+#line 739 "gabc/gabc-notes-determination.l"
{
- gregorio_add_manual_custos_as_note(&current_note,
- pitch_letter_to_height(gabc_notes_determination_text[0]),
- &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE,
+ gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
}
YY_BREAK
case 42:
-/* rule 42 can match eol */
YY_RULE_SETUP
-#line 452 "gabc/gabc-notes-determination.l"
-/* ignore ends of line and tabs */;
+#line 743 "gabc/gabc-notes-determination.l"
+{
+ BEGIN(nbspace);
+ }
YY_BREAK
case 43:
+*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 453 "gabc/gabc-notes-determination.l"
+#line 746 "gabc/gabc-notes-determination.l"
{
- gregorio_add_end_of_line_as_note(&current_note, GRE_END_OF_LINE,
- &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE_NB,
+ gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 457 "gabc/gabc-notes-determination.l"
+#line 750 "gabc/gabc-notes-determination.l"
{
- gregorio_add_custo_as_note(&current_note, &notes_lloc);
+ end_variable_ledger(LL_OVER);
}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 460 "gabc/gabc-notes-determination.l"
+#line 753 "gabc/gabc-notes-determination.l"
{
- gregorio_add_end_of_line_as_note(&current_note, GRE_END_OF_PAR,
- &notes_lloc);
+ BEGIN(overledger);
}
YY_BREAK
case 46:
+/* rule 46 can match eol */
YY_RULE_SETUP
-#line 464 "gabc/gabc-notes-determination.l"
+#line 756 "gabc/gabc-notes-determination.l"
{
- if (gabc_notes_determination_text[0]=='c') {
- gregorio_add_clef_change_as_note(&current_note, GRE_C_KEY_CHANGE,
- gabc_notes_determination_text[1], &notes_lloc);
- } else {
- gregorio_add_clef_change_as_note(&current_note, GRE_F_KEY_CHANGE,
- gabc_notes_determination_text[1], &notes_lloc);
- }
+ save_before_ledger(gabc_notes_determination_text);
+ BEGIN(overledger2);
}
YY_BREAK
case 47:
+/* rule 47 can match eol */
YY_RULE_SETUP
-#line 473 "gabc/gabc-notes-determination.l"
+#line 760 "gabc/gabc-notes-determination.l"
{
- if (gabc_notes_determination_text[0]=='c') {
- gregorio_add_clef_change_as_note(&current_note,
- GRE_C_KEY_CHANGE_FLATED, gabc_notes_determination_text[2],
- &notes_lloc);
- } else {
- gregorio_add_clef_change_as_note(&current_note,
- GRE_F_KEY_CHANGE_FLATED, gabc_notes_determination_text[2],
- &notes_lloc);
- }
+ add_static_ledger(LL_OVER, gabc_notes_determination_text);
+ BEGIN(endledger);
}
YY_BREAK
case 48:
+/* rule 48 can match eol */
YY_RULE_SETUP
-#line 484 "gabc/gabc-notes-determination.l"
+#line 764 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_VIRGULA);
+ add_variable_ledger(LL_OVER, gabc_notes_determination_text);
+ BEGIN(endledger);
}
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 487 "gabc/gabc-notes-determination.l"
+#line 768 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINIMA);
+ end_variable_ledger(LL_UNDER);
}
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 490 "gabc/gabc-notes-determination.l"
+#line 771 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D1);
+ BEGIN(underledger);
}
YY_BREAK
case 51:
+/* rule 51 can match eol */
YY_RULE_SETUP
-#line 493 "gabc/gabc-notes-determination.l"
+#line 774 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D2);
+ save_before_ledger(gabc_notes_determination_text);
+ BEGIN(underledger2);
}
YY_BREAK
case 52:
+/* rule 52 can match eol */
YY_RULE_SETUP
-#line 496 "gabc/gabc-notes-determination.l"
+#line 778 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D3);
+ add_static_ledger(LL_UNDER, gabc_notes_determination_text);
+ BEGIN(endledger);
}
YY_BREAK
case 53:
+/* rule 53 can match eol */
YY_RULE_SETUP
-#line 499 "gabc/gabc-notes-determination.l"
+#line 782 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D4);
+ add_variable_ledger(LL_UNDER, gabc_notes_determination_text);
+ BEGIN(endledger);
}
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 502 "gabc/gabc-notes-determination.l"
+#line 786 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D5);
+ BEGIN(INITIAL);
}
YY_BREAK
case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
-#line 505 "gabc/gabc-notes-determination.l"
+#line 789 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D6);
+ parse_slur(1);
}
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 508 "gabc/gabc-notes-determination.l"
+#line 792 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR);
+ start_var_slur(0);
}
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 511 "gabc/gabc-notes-determination.l"
+#line 795 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D1);
+ end_var_slur(1, 0);
}
YY_BREAK
case 58:
+/* rule 58 can match eol */
YY_RULE_SETUP
-#line 514 "gabc/gabc-notes-determination.l"
+#line 798 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D2);
+ parse_slur(-1);
}
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 517 "gabc/gabc-notes-determination.l"
+#line 801 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D3);
+ start_var_slur(1);
}
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 520 "gabc/gabc-notes-determination.l"
+#line 804 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D4);
+ end_var_slur(-1, 1);
}
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 523 "gabc/gabc-notes-determination.l"
+#line 807 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D5);
+ gregorio_add_texverb_as_note(&current_note,
+ gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT,
+ &notes_lloc);
}
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 526 "gabc/gabc-notes-determination.l"
+#line 812 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MINOR_D6);
+ gregorio_add_texverb_as_note(&current_note,
+ gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "),
+ GRE_TEXVERB_ELEMENT, &notes_lloc);
}
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 529 "gabc/gabc-notes-determination.l"
+#line 817 "gabc/gabc-notes-determination.l"
{
- add_bar_as_note(B_DIVISIO_MAIOR);
+ gregorio_add_manual_custos_as_note(&current_note,
+ pitch_letter_to_height(gabc_notes_determination_text[0]),
+ &notes_lloc);
}
YY_BREAK
case 64:
+/* rule 64 can match eol */
YY_RULE_SETUP
-#line 532 "gabc/gabc-notes-determination.l"
-{
- add_bar_as_note(B_DIVISIO_FINALIS);
- }
+#line 822 "gabc/gabc-notes-determination.l"
+/* ignore ends of line and tabs */;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 535 "gabc/gabc-notes-determination.l"
+#line 823 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_PUNCTUM_CAVUM);
+ gregorio_add_custo_as_note(&current_note, &notes_lloc);
}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 538 "gabc/gabc-notes-determination.l"
+#line 826 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM);
+ gregorio_add_end_of_line_as_note(&current_note, false, false, false,
+ &notes_lloc);
}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 541 "gabc/gabc-notes-determination.l"
+#line 830 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM);
+ gregorio_add_end_of_line_as_note(&current_note, false, true, true,
+ &notes_lloc);
}
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 544 "gabc/gabc-notes-determination.l"
+#line 834 "gabc/gabc-notes-determination.l"
{
- gregorio_add_special_sign(current_note, _ACCENTUS);
+ gregorio_add_end_of_line_as_note(&current_note, false, true, false,
+ &notes_lloc);
}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 547 "gabc/gabc-notes-determination.l"
+#line 838 "gabc/gabc-notes-determination.l"
{
- gregorio_add_special_sign(current_note, _ACCENTUS_REVERSUS);
+ gregorio_add_end_of_line_as_note(&current_note, true, false, false,
+ &notes_lloc);
}
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 550 "gabc/gabc-notes-determination.l"
+#line 842 "gabc/gabc-notes-determination.l"
{
- gregorio_add_special_sign(current_note, _CIRCULUS);
+ gregorio_add_end_of_line_as_note(&current_note, true, true, true,
+ &notes_lloc);
}
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 553 "gabc/gabc-notes-determination.l"
+#line 846 "gabc/gabc-notes-determination.l"
{
- gregorio_add_special_sign(current_note, _SEMI_CIRCULUS);
+ gregorio_add_end_of_line_as_note(&current_note, true, true, false,
+ &notes_lloc);
}
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 556 "gabc/gabc-notes-determination.l"
+#line 850 "gabc/gabc-notes-determination.l"
{
- gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS);
+ gregorio_add_clef_as_note(&current_note,
+ letter_to_clef(gabc_notes_determination_text[0]),
+ parse_clef_line(gabc_notes_determination_text[1]), false,
+ &notes_lloc);
}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 559 "gabc/gabc-notes-determination.l"
+#line 856 "gabc/gabc-notes-determination.l"
{
- add_alteration(GRE_FLAT);
+ gregorio_add_clef_as_note(&current_note,
+ letter_to_clef(gabc_notes_determination_text[0]),
+ parse_clef_line(gabc_notes_determination_text[2]), true,
+ &notes_lloc);
}
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 562 "gabc/gabc-notes-determination.l"
+#line 862 "gabc/gabc-notes-determination.l"
{
- add_alteration(GRE_SHARP);
+ gregorio_add_secondary_clef_to_note(current_note,
+ letter_to_clef(gabc_notes_determination_text[1]),
+ parse_clef_line(gabc_notes_determination_text[2]), false);
}
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 565 "gabc/gabc-notes-determination.l"
+#line 867 "gabc/gabc-notes-determination.l"
{
- add_alteration(GRE_NATURAL);
+ gregorio_add_secondary_clef_to_note(current_note,
+ letter_to_clef(gabc_notes_determination_text[1]),
+ parse_clef_line(gabc_notes_determination_text[3]), true);
}
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 568 "gabc/gabc-notes-determination.l"
+#line 872 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, &notes_lloc);
+ add_bar_as_note(B_VIRGULA);
}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 571 "gabc/gabc-notes-determination.l"
+#line 875 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE, &notes_lloc);
+ add_bar_as_note(B_DIVISIO_MINIMA);
}
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 574 "gabc/gabc-notes-determination.l"
+#line 878 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE, &notes_lloc);
+ add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1]));
}
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 577 "gabc/gabc-notes-determination.l"
+#line 881 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB,
- &notes_lloc);
+ add_bar_as_note(B_DIVISIO_MINOR);
}
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 581 "gabc/gabc-notes-determination.l"
+#line 884 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE_NB,
- &notes_lloc);
+ add_bar_as_note(B_DIVISIO_MAIOR);
}
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 585 "gabc/gabc-notes-determination.l"
+#line 887 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE_NB,
- &notes_lloc);
+ add_bar_as_note(B_DIVISIO_FINALIS);
}
YY_BREAK
case 82:
-/* rule 82 can match eol */
-*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
-YY_LINENO_REWIND_TO(yy_bp + 1);
-(yy_c_buf_p) = yy_cp = yy_bp + 1;
-YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 589 "gabc/gabc-notes-determination.l"
+#line 890 "gabc/gabc-notes-determination.l"
{
- gregorio_add_space_as_note(&current_note, SP_ZERO_WIDTH, &notes_lloc);
+ gregorio_change_shape(current_note, S_PUNCTUM_CAVUM,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 592 "gabc/gabc-notes-determination.l"
+#line 894 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_LINEA);
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 595 "gabc/gabc-notes-determination.l"
+#line 898 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 598 "gabc/gabc-notes-determination.l"
+#line 902 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_add_special_sign(current_note, _ACCENTUS);
}
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 601 "gabc/gabc-notes-determination.l"
+#line 905 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_add_special_sign(current_note, _ACCENTUS_REVERSUS);
}
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 604 "gabc/gabc-notes-determination.l"
+#line 908 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_add_special_sign(current_note, _CIRCULUS);
}
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 607 "gabc/gabc-notes-determination.l"
+#line 911 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_add_special_sign(current_note, _SEMI_CIRCULUS);
}
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 610 "gabc/gabc-notes-determination.l"
+#line 914 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTA);
+ gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS);
}
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 613 "gabc/gabc-notes-determination.l"
+#line 917 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation);
}
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 616 "gabc/gabc-notes-determination.l"
+#line 920 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTA);
+ gregorio_change_shape(current_note, S_SHARP,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 619 "gabc/gabc-notes-determination.l"
+#line 924 "gabc/gabc-notes-determination.l"
{
- lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN,
- L_NO_LIQUESCENTIA);
+ gregorio_change_shape(current_note, S_NATURAL,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 623 "gabc/gabc-notes-determination.l"
+#line 928 "gabc/gabc-notes-determination.l"
{
- lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN,
- L_INITIO_DEBILIS);
+ gregorio_add_space_as_note(&current_note, SP_HALF_SPACE, NULL,
+ &notes_lloc);
}
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 627 "gabc/gabc-notes-determination.l"
+#line 932 "gabc/gabc-notes-determination.l"
{
- add_sign(_V_EPISEMA);
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
+ &notes_lloc);
}
YY_BREAK
case 95:
+*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 630 "gabc/gabc-notes-determination.l"
+#line 936 "gabc/gabc-notes-determination.l"
{
- add_h_episema();
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
+ &notes_lloc);
}
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 633 "gabc/gabc-notes-determination.l"
+#line 940 "gabc/gabc-notes-determination.l"
{
- add_sign(_PUNCTUM_MORA);
+ gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE, NULL,
+ &notes_lloc);
}
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 636 "gabc/gabc-notes-determination.l"
+#line 944 "gabc/gabc-notes-determination.l"
{
- gregorio_add_liquescentia(current_note, L_DEMINUTUS);
+ gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE, NULL,
+ &notes_lloc);
}
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 639 "gabc/gabc-notes-determination.l"
+#line 948 "gabc/gabc-notes-determination.l"
{
- gregorio_add_liquescentia(current_note, L_AUCTUS_DESCENDENS);
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
+ &notes_lloc);
}
YY_BREAK
case 99:
+*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
+(yy_c_buf_p) = yy_cp = yy_bp + 2;
+YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 642 "gabc/gabc-notes-determination.l"
+#line 952 "gabc/gabc-notes-determination.l"
{
- gregorio_add_liquescentia(current_note, L_AUCTUS_ASCENDENS);
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
+ &notes_lloc);
}
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 645 "gabc/gabc-notes-determination.l"
+#line 956 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_QUADRATUM);
+ gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE_NB, NULL,
+ &notes_lloc);
}
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 648 "gabc/gabc-notes-determination.l"
+#line 960 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_ORISCUS);
+ gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE_NB, NULL,
+ &notes_lloc);
}
YY_BREAK
case 102:
+/* rule 102 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up gabc_notes_determination_text */
+YY_LINENO_REWIND_TO(yy_bp + 1);
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up gabc_notes_determination_text again */
YY_RULE_SETUP
-#line 651 "gabc/gabc-notes-determination.l"
+#line 964 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_ORISCUS_SCAPUS);
+ gregorio_add_space_as_note(&current_note, SP_ZERO_WIDTH, NULL,
+ &notes_lloc);
}
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 654 "gabc/gabc-notes-determination.l"
+#line 968 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_QUILISMA);
+ gregorio_change_shape(current_note, S_LINEA,
+ legacy_oriscus_orientation);
}
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 657 "gabc/gabc-notes-determination.l"
+#line 972 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM);
+ lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 660 "gabc/gabc-notes-determination.l"
+#line 975 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_VIRGA);
+ lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 663 "gabc/gabc-notes-determination.l"
+#line 978 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_VIRGA_REVERSA);
+ lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 666 "gabc/gabc-notes-determination.l"
+#line 981 "gabc/gabc-notes-determination.l"
{
- gregorio_change_shape(current_note, S_STROPHA);
+ lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 669 "gabc/gabc-notes-determination.l"
+#line 984 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ }
+ YY_BREAK
+case 109:
+YY_RULE_SETUP
+#line 987 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
+ }
+ YY_BREAK
+case 110:
+YY_RULE_SETUP
+#line 990 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
+ }
+ YY_BREAK
+case 111:
+YY_RULE_SETUP
+#line 993 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
+ }
+ YY_BREAK
+case 112:
+YY_RULE_SETUP
+#line 996 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN,
+ L_NO_LIQUESCENTIA);
+ }
+ YY_BREAK
+case 113:
+YY_RULE_SETUP
+#line 1000 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN,
+ L_INITIO_DEBILIS);
+ }
+ YY_BREAK
+case 114:
+YY_RULE_SETUP
+#line 1004 "gabc/gabc-notes-determination.l"
+{
+ lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN,
+ L_FUSED);
+ }
+ YY_BREAK
+case 115:
+YY_RULE_SETUP
+#line 1008 "gabc/gabc-notes-determination.l"
+{
+ add_sign(_V_EPISEMA);
+ }
+ YY_BREAK
+case 116:
+YY_RULE_SETUP
+#line 1011 "gabc/gabc-notes-determination.l"
+{
+ add_h_episema();
+ }
+ YY_BREAK
+case 117:
+YY_RULE_SETUP
+#line 1014 "gabc/gabc-notes-determination.l"
+{
+ add_sign(_PUNCTUM_MORA);
+ }
+ YY_BREAK
+case 118:
+YY_RULE_SETUP
+#line 1017 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 1021 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 1025 "gabc/gabc-notes-determination.l"
+{
+ gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 1029 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_QUADRATUM,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 122:
+YY_RULE_SETUP
+#line 1033 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, legacy_oriscus_orientation
+ ? S_ORISCUS_ASCENDENS : S_ORISCUS_UNDETERMINED,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 123:
+YY_RULE_SETUP
+#line 1038 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_ORISCUS_SCAPUS,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 1042 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_QUILISMA,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 1046 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 1050 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_VIRGA,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 127:
+YY_RULE_SETUP
+#line 1054 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_VIRGA_REVERSA,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 128:
+YY_RULE_SETUP
+#line 1058 "gabc/gabc-notes-determination.l"
+{
+ gregorio_change_shape(current_note, S_STROPHA,
+ legacy_oriscus_orientation);
+ }
+ YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 1062 "gabc/gabc-notes-determination.l"
+{
+ current_note->supposed_high_ledger_line = true;
+ current_note->explicit_high_ledger_line = true;
+ }
+ YY_BREAK
+case 130:
+YY_RULE_SETUP
+#line 1066 "gabc/gabc-notes-determination.l"
+{
+ current_note->supposed_high_ledger_line = false;
+ current_note->explicit_high_ledger_line = true;
+ }
+ YY_BREAK
+case 131:
+YY_RULE_SETUP
+#line 1070 "gabc/gabc-notes-determination.l"
+{
+ current_note->supposed_low_ledger_line = true;
+ current_note->explicit_low_ledger_line = true;
+ }
+ YY_BREAK
+case 132:
+YY_RULE_SETUP
+#line 1074 "gabc/gabc-notes-determination.l"
+{
+ current_note->supposed_low_ledger_line = false;
+ current_note->explicit_low_ledger_line = true;
+ }
+ YY_BREAK
+case 133:
+YY_RULE_SETUP
+#line 1078 "gabc/gabc-notes-determination.l"
{
gregorio_messagef("det_notes_from_string", VERBOSITY_ERROR, 0,
_("unrecognized character: \"%c\""),
gabc_notes_determination_text[0]);
}
YY_BREAK
-case 109:
+case 134:
YY_RULE_SETUP
-#line 675 "gabc/gabc-notes-determination.l"
+#line 1084 "gabc/gabc-notes-determination.l"
ECHO;
YY_BREAK
-#line 8579 "gabc/gabc-notes-determination-l.c"
+#line 12424 "gabc/gabc-notes-determination-l.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(texverbnote):
case YY_STATE_EOF(texverbglyph):
@@ -8588,6 +12433,13 @@ case YY_STATE_EOF(overbrace):
case YY_STATE_EOF(underbrace):
case YY_STATE_EOF(overcurlybrace):
case YY_STATE_EOF(overcurlyaccentusbrace):
+case YY_STATE_EOF(space):
+case YY_STATE_EOF(nbspace):
+case YY_STATE_EOF(overledger):
+case YY_STATE_EOF(overledger2):
+case YY_STATE_EOF(underledger):
+case YY_STATE_EOF(underledger2):
+case YY_STATE_EOF(endledger):
yyterminate();
case YY_END_OF_BUFFER:
@@ -9547,12 +13399,12 @@ void gabc_notes_determination_free (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 675 "gabc/gabc-notes-determination.l"
+#line 1084 "gabc/gabc-notes-determination.l"
gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
- gregorio_scanner_location *loc)
+ gregorio_scanner_location *loc, const gregorio_score *const score)
{
int i;
YY_BUFFER_STATE buf;
@@ -9565,6 +13417,10 @@ gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
notes_lloc.last_column = loc->first_column;
notes_lloc.last_offset = loc->first_offset;
+ staff_lines = score->staff_lines;
+ highest_pitch = score->highest_pitch;
+ legacy_oriscus_orientation = score->legacy_oriscus_orientation;
+
/* a small optimization could uccur here: we could do it only once at the
* beginning of the score, not at each syllable */
for (i = 0; i < 10; i++) {
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l
index f48875aea4a..c3813238d43 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l
@@ -42,12 +42,35 @@ static char char_for_brace;
static unsigned int nbof_isolated_episema;
static char *notesmacros[10];
static char tempstr[256];
-static int brace_var_counter;
-static int overbrace_var, underbrace_var;
+static int brace_var_counter = 0;
+static int overbrace_var = 0, underbrace_var = 0;
static const char *overbrace_var_kind;
+static int before_ledger_type;
+static char *before_ledger_length = NULL;
+static int ledger_var[2] = { 0, 0 };
+static unsigned char staff_lines;
+static signed char highest_pitch;
+static bool legacy_oriscus_orientation;
+static int slur_var[2] = { 0, 0 };
+static char slur_shift[2] = { '\0', '\0' };
+static gregorio_note *slur_start[] = { NULL, NULL };
+
+typedef enum ledger_line_type {
+ LL_OVER = 0,
+ LL_UNDER = 1
+} ledger_line_type;
static __inline char pitch_letter_to_height(const char pitch) {
- return pitch - 'a' + LOWEST_PITCH;
+ char result = pitch - 'a' + LOWEST_PITCH;
+ if (pitch == 'p') {
+ --result;
+ }
+ if (result > highest_pitch) {
+ gregorio_messagef("pitch_letter_to_height", VERBOSITY_ERROR, 0,
+ _("invalid pitch for %u lines: %c"), (unsigned int)staff_lines,
+ pitch);
+ }
+ return result;
}
static gregorio_shape punctum(const char pitch)
@@ -63,9 +86,19 @@ static __inline void lex_add_note(int i, gregorio_shape shape, char signs,
char liquescentia)
{
nbof_isolated_episema = 0;
- gregorio_add_note(&current_note,
- pitch_letter_to_height(tolower((unsigned char)gabc_notes_determination_text[i])),
+ gregorio_add_note(&current_note, pitch_letter_to_height(
+ tolower((unsigned char)gabc_notes_determination_text[i])),
shape, signs, liquescentia, NULL, &notes_lloc);
+
+ if (ledger_var[LL_OVER]) {
+ current_note->supposed_high_ledger_line = true;
+ current_note->explicit_high_ledger_line = true;
+ }
+
+ if (ledger_var[LL_UNDER]) {
+ current_note->supposed_low_ledger_line = true;
+ current_note->explicit_low_ledger_line = true;
+ }
}
static __inline void add_bar_as_note(gregorio_bar bar)
@@ -81,7 +114,8 @@ static __inline void error(void)
gabc_notes_determination_text[3] - '0');
}
-static void add_h_episema(void) {
+static void add_h_episema(void)
+{
grehepisema_size size = H_NORMAL;
gregorio_vposition vposition = VPOS_AUTO;
bool disable_bridge = false;
@@ -121,7 +155,8 @@ static void add_h_episema(void) {
&nbof_isolated_episema);
}
-static void add_sign(gregorio_sign sign) {
+static void add_sign(gregorio_sign sign)
+{
gregorio_vposition vposition = VPOS_AUTO;
switch(gabc_notes_determination_text[1]) {
case '0':
@@ -134,10 +169,266 @@ static void add_sign(gregorio_sign sign) {
gregorio_add_sign(current_note, sign, vposition);
}
-static __inline void add_alteration(const gregorio_type type) {
- gregorio_add_alteration_as_note(&current_note, type,
- pitch_letter_to_height(gabc_notes_determination_text[0]),
- &notes_lloc);
+static void save_before_ledger(const char *const before_ledger)
+{
+ if (strcmp(before_ledger, "0") == 0) {
+ before_ledger_type = 0;
+ before_ledger_length = "";
+ } else if (strcmp(before_ledger, "1") == 0) {
+ before_ledger_type = 1;
+ before_ledger_length = "";
+ } else {
+ before_ledger_type = 2;
+ before_ledger_length = gregorio_strdup(before_ledger);
+ }
+}
+
+static void add_static_ledger(const ledger_line_type type, const char *length) {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreDrawAdditionalLine{%d}{%s}{%d}{%s}{0}{}",
+ type, length + 1, before_ledger_type, before_ledger_length);
+
+ if (before_ledger_type == 2) {
+ free(before_ledger_length);
+ before_ledger_length = NULL;
+ }
+
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+}
+
+static __inline const char *ledger_type_name(const ledger_line_type type) {
+ switch (type) {
+ case LL_OVER:
+ return "over";
+ case LL_UNDER:
+ return "under";
+ }
+ gregorio_messagef("ledger_type_name", VERBOSITY_ERROR, 0,
+ _("invalid ledger type %d"), type);
+ return NULL;
+}
+
+static void add_variable_ledger(const ledger_line_type type,
+ const char *after_ledger)
+{
+ if (ledger_var[type]) {
+ const char *const typename = ledger_type_name(type);
+ gregorio_messagef("add_variable_ledger", VERBOSITY_ERROR, 0,
+ _("variable %s-staff ledger line without termination of "
+ "previous %s-staff ledger line"), typename, typename);
+ } else {
+ int after_ledger_type;
+ const char *after_ledger_length;
+
+ ++after_ledger;
+
+ if (strcmp(after_ledger, "0") == 0) {
+ after_ledger_type = 0;
+ after_ledger_length = "";
+ } else if (strcmp(after_ledger, "1") == 0) {
+ after_ledger_type = 1;
+ after_ledger_length = "";
+ } else {
+ after_ledger_type = 2;
+ after_ledger_length = after_ledger;
+ }
+
+ ledger_var[type] = ++brace_var_counter;
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{0}{1}"
+ "\\GreDrawAdditionalLine{%d}{\\GreVarBraceLength{%d}}"
+ "{%d}{%s}{%d}{%s}",
+ ledger_var[type], type, ledger_var[type], before_ledger_type,
+ before_ledger_length, after_ledger_type, after_ledger_length);
+
+ if (before_ledger_type == 2) {
+ free(before_ledger_length);
+ before_ledger_length = NULL;
+ }
+
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+ }
+}
+
+static void end_variable_ledger(const ledger_line_type type)
+{
+ if (!ledger_var[type]) {
+ const char *const typename = ledger_type_name(type);
+ gregorio_messagef("end_variable_ledger", VERBOSITY_ERROR, 0,
+ _("variable %s-staff ledger line termination without variable "
+ "%s-staff ledger line start"), typename, typename);
+ } else {
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{0}{2}", ledger_var[type]);
+ ledger_var[type] = 0;
+ gregorio_add_texverb_as_note(&current_note, gregorio_strdup(tempstr),
+ GRE_TEXVERB_GLYPH, &notes_lloc);
+ }
+}
+
+static __inline int parse_clef_line(char line)
+{
+ line -= '0';
+ if (line < 0 || line > staff_lines) {
+ gregorio_messagef("parse_clef_line", VERBOSITY_ERROR, 0,
+ _("invalid clef line for %u lines: %d"),
+ (unsigned int)staff_lines, (int)line);
+ return 1;
+ }
+ return line;
+}
+
+static __inline gregorio_bar parse_dominican_bar(char bar)
+{
+ bar -= '0';
+ if (bar < 1 || bar > (2 * (staff_lines - 1))) {
+ gregorio_messagef("parse_dominican_line", VERBOSITY_ERROR, 0,
+ _("invalid dominican bar for %u lines: ;%d"),
+ (unsigned int)staff_lines, (int)bar);
+ }
+
+ switch (bar) {
+ case 1:
+ return B_DIVISIO_MINOR_D1;
+ case 2:
+ return B_DIVISIO_MINOR_D2;
+ case 3:
+ return B_DIVISIO_MINOR_D3;
+ case 4:
+ return B_DIVISIO_MINOR_D4;
+ case 5:
+ return B_DIVISIO_MINOR_D5;
+ case 6:
+ return B_DIVISIO_MINOR_D6;
+ case 7:
+ return B_DIVISIO_MINOR_D7;
+ case 8:
+ return B_DIVISIO_MINOR_D8;
+ }
+
+ gregorio_messagef("check_dominican_line", VERBOSITY_ERROR, 0,
+ _("invalid dominican bar: %d"), (int)bar);
+ return B_NO_BAR;
+}
+
+static __inline gregorio_clef letter_to_clef(char letter)
+{
+ switch (letter) {
+ case 'c':
+ return CLEF_C;
+ case 'f':
+ return CLEF_F;
+ }
+ gregorio_messagef("letter_to_clef", VERBOSITY_ERROR, 0,
+ _("invalid clef: %c"), letter);
+ return CLEF_C;
+}
+
+static __inline void slur_assert(char *fn, bool test) {
+ if (!test) {
+ gregorio_message(_("invalid slur text"), fn, VERBOSITY_FATAL, 0);
+ exit(1);
+ }
+}
+
+static char *parse_slur_shift(char *shift)
+{
+ char *c;
+
+ c = strchr(gabc_notes_determination_text, ':');
+ slur_assert("parse_slur_shift", c != NULL);
+ slur_assert("parse_slur_shift", *(++c) != '\0');
+ *shift = *c;
+ return c;
+}
+
+static void parse_slur(int direction)
+{
+ char shift, *width, *height, *end;
+
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "parse_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ end = parse_slur_shift(&shift);
+ width = strchr(end, ';');
+ slur_assert("parse_slur", width != NULL);
+ height = strchr(++width, ',');
+ slur_assert("parse_slur", height != NULL);
+ *height = '\0';
+ end = strchr(++height, ']');
+ slur_assert("parse_slur", end != NULL);
+ *end = '\0';
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreSlur{%d}{%d}{%c}{%s}{%s}{}",
+ current_note->u.note.pitch + direction, direction, shift, width,
+ height);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
+}
+
+static void start_var_slur(int index)
+{
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "start_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (slur_var[index]) {
+ gregorio_message(
+ _("variable slur without termination of previous slur"),
+ "start_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ slur_var[index] = ++brace_var_counter;
+ parse_slur_shift(slur_shift + index);
+ slur_start[index] = current_note;
+}
+
+static void end_var_slur(int direction, int index)
+{
+ char shift;
+
+ if (!current_note || current_note->type != GRE_NOTE) {
+ gregorio_message(
+ _("cannot add a slur to something that is not a note"),
+ "end_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (!slur_var[index] || !slur_shift[index] || !slur_start[index]) {
+ gregorio_message(_("variable slur end without variable slur start"),
+ "end_var_slur", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ parse_slur_shift(&shift);
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{%c}{1}"
+ "\\GreSlur{%d}{%d}{%c}{\\GreVarBraceLength{%d}}{}{%d}",
+ slur_var[index], slur_shift[index],
+ slur_start[index]->u.note.pitch + direction, direction,
+ slur_shift[index], slur_var[index],
+ current_note->u.note.pitch + direction);
+ gregorio_add_texverb_to_note(slur_start[index], gregorio_strdup(tempstr));
+
+ gregorio_snprintf(tempstr, sizeof tempstr,
+ "\\GreVarBraceSavePos{%d}{%c}{2}", slur_var[index], shift);
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
+
+
+ slur_var[index] = 0;
+ slur_shift[index] = '\0';
+ slur_start[index] = NULL;
}
%}
@@ -168,6 +459,11 @@ static __inline void add_alteration(const gregorio_type type) {
%x underbrace
%x overcurlybrace
%x overcurlyaccentusbrace
+%x space
+%x nbspace
+%x overledger overledger2
+%x underledger underledger2
+%x endledger
%%
<INITIAL>\% {
@@ -214,7 +510,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ub:[01]\{\] {
@@ -229,7 +525,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreUnderBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}",
underbrace_var, char_for_brace, underbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ocb:[01]\{\] {
@@ -245,7 +541,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{0}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ocba:[01]\{\] {
@@ -261,7 +557,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{1}"
"\\GreOverCurlyBrace{\\GreVarBraceLength{%d}}{0pt}{0pt}{%d}{1}",
overbrace_var, char_for_brace, overbrace_var, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ob:[01]\}\] {
@@ -280,7 +576,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ub:[01]\}\] {
@@ -294,7 +590,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{2}", underbrace_var,
char_for_brace);
underbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ocb:[01]\}\] {
@@ -313,7 +609,7 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[ocba:[01]\}\] {
@@ -332,12 +628,12 @@ static __inline void add_alteration(const gregorio_type type) {
"\\GreVarBraceSavePos{%d}{%d}{2}", overbrace_var,
char_for_brace);
overbrace_var = 0;
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
}
<INITIAL>\[nm[1-9]\] {
if (notesmacros[gabc_notes_determination_text[3]-'0']) {
- gregorio_add_texverb_to_note(&current_note,
+ gregorio_add_texverb_to_note(current_note,
gregorio_strdup(notesmacros[gabc_notes_determination_text[3]-'0']));
} else error();
}
@@ -380,29 +676,35 @@ static __inline void add_alteration(const gregorio_type type) {
<INITIAL><\/nlba> {
gregorio_add_nlba_as_note(&current_note, NLBA_END, &notes_lloc);
}
+<INITIAL>@\[ {
+ gregorio_start_autofuse(&current_note, &notes_lloc);
+ }
+<INITIAL>\] {
+ gregorio_end_autofuse(&current_note, &notes_lloc);
+ }
<overbrace>[^\]]+ {
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverBrace{%s}{0pt}{0pt}{%d}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
<underbrace>[^\]]+ {
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreUnderBrace{%s}{0pt}{0pt}{%d}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
<overcurlybrace>[^\]]+ {
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
<overcurlyaccentusbrace>[^\]]+ {
gregorio_snprintf(tempstr, sizeof tempstr,
"\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}",
gabc_notes_determination_text, char_for_brace);
- gregorio_add_texverb_to_note(&current_note, gregorio_strdup(tempstr));
+ gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr));
}
<choralsign>[^\]]+ {
gregorio_add_cs_to_note(&current_note,
@@ -413,7 +715,7 @@ static __inline void add_alteration(const gregorio_type type) {
gregorio_strdup(gabc_notes_determination_text), true);
}
<texverbnote>[^\]]+ {
- gregorio_add_texverb_to_note(&current_note,
+ gregorio_add_texverb_to_note(current_note,
gregorio_strdup(gabc_notes_determination_text));
}
<texverbglyph>[^\]]+ {
@@ -431,9 +733,77 @@ static __inline void add_alteration(const gregorio_type type) {
gregorio_strdup(gabc_notes_determination_text), GRE_ALT,
&notes_lloc);
}
-<texverbnote,texverbglyph,texverbelement,choralsign,choralnabc,alt,overcurlyaccentusbrace,overcurlybrace,overbrace,underbrace>\] {
+<INITIAL>\/\[ {
+ BEGIN(space);
+ }
+<space>-?(\.[0-9]+|[0-9]+(\.[0-9]*)?)/\] {
+ gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE,
+ gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
+ }
+<INITIAL>!\/\[ {
+ BEGIN(nbspace);
+ }
+<nbspace>-?(\.[0-9]+|[0-9]+(\.[0-9]*)?)/\] {
+ gregorio_add_space_as_note(&current_note, SP_AD_HOC_SPACE_NB,
+ gregorio_strdup(gabc_notes_determination_text), &notes_lloc);
+ }
+<INITIAL>\[oll:\}\] {
+ end_variable_ledger(LL_OVER);
+ }
+<INITIAL>\[oll: {
+ BEGIN(overledger);
+ }
+<overledger>[^;{]+ {
+ save_before_ledger(gabc_notes_determination_text);
+ BEGIN(overledger2);
+ }
+<overledger2>;[^\]]+ {
+ add_static_ledger(LL_OVER, gabc_notes_determination_text);
+ BEGIN(endledger);
+ }
+<overledger2>\{[^\]]+ {
+ add_variable_ledger(LL_OVER, gabc_notes_determination_text);
+ BEGIN(endledger);
+ }
+<INITIAL>\[ull:\}\] {
+ end_variable_ledger(LL_UNDER);
+ }
+<INITIAL>\[ull: {
+ BEGIN(underledger);
+ }
+<underledger>[^;{]+ {
+ save_before_ledger(gabc_notes_determination_text);
+ BEGIN(underledger2);
+ }
+<underledger2>;[^\]]+ {
+ add_static_ledger(LL_UNDER, gabc_notes_determination_text);
+ BEGIN(endledger);
+ }
+<underledger2>\{[^\]]+ {
+ add_variable_ledger(LL_UNDER, gabc_notes_determination_text);
+ BEGIN(endledger);
+ }
+<texverbnote,texverbglyph,texverbelement,choralsign,choralnabc,alt,overcurlyaccentusbrace,overcurlybrace,overbrace,underbrace,space,nbspace,endledger>\] {
BEGIN(INITIAL);
}
+<INITIAL>\[oslur:[012];[^,]+,[^\]]+\] {
+ parse_slur(1);
+ }
+<INITIAL>\[oslur:[012]\{\] {
+ start_var_slur(0);
+ }
+<INITIAL>\[oslur:[012]\}\] {
+ end_var_slur(1, 0);
+ }
+<INITIAL>\[uslur:[012];[^,]+,[^\]]+\] {
+ parse_slur(-1);
+ }
+<INITIAL>\[uslur:[012]\{\] {
+ start_var_slur(1);
+ }
+<INITIAL>\[uslur:[012]\}\] {
+ end_var_slur(-1, 1);
+ }
\{ {
gregorio_add_texverb_as_note(&current_note,
gregorio_strdup("\\hbox to 0pt{"), GRE_TEXVERB_ELEMENT,
@@ -444,88 +814,73 @@ static __inline void add_alteration(const gregorio_type type) {
gregorio_strdup("\\hss%\n}%\n\\GreNoBreak\\relax "),
GRE_TEXVERB_ELEMENT, &notes_lloc);
}
-[a-m]\+ {
+[a-np]\+ {
gregorio_add_manual_custos_as_note(&current_note,
pitch_letter_to_height(gabc_notes_determination_text[0]),
&notes_lloc);
}
[\t\r\n]+ /* ignore ends of line and tabs */;
+z0 {
+ gregorio_add_custo_as_note(&current_note, &notes_lloc);
+ }
z {
- gregorio_add_end_of_line_as_note(&current_note, GRE_END_OF_LINE,
+ gregorio_add_end_of_line_as_note(&current_note, false, false, false,
&notes_lloc);
}
-z0 {
- gregorio_add_custo_as_note(&current_note, &notes_lloc);
+z\+ {
+ gregorio_add_end_of_line_as_note(&current_note, false, true, true,
+ &notes_lloc);
}
-Z {
- gregorio_add_end_of_line_as_note(&current_note, GRE_END_OF_PAR,
+z- {
+ gregorio_add_end_of_line_as_note(&current_note, false, true, false,
&notes_lloc);
}
-(c|f)[1-4] {
- if (gabc_notes_determination_text[0]=='c') {
- gregorio_add_clef_change_as_note(&current_note, GRE_C_KEY_CHANGE,
- gabc_notes_determination_text[1], &notes_lloc);
- } else {
- gregorio_add_clef_change_as_note(&current_note, GRE_F_KEY_CHANGE,
- gabc_notes_determination_text[1], &notes_lloc);
- }
+Z {
+ gregorio_add_end_of_line_as_note(&current_note, true, false, false,
+ &notes_lloc);
}
-(cb|fb)[1-4] {
- if (gabc_notes_determination_text[0]=='c') {
- gregorio_add_clef_change_as_note(&current_note,
- GRE_C_KEY_CHANGE_FLATED, gabc_notes_determination_text[2],
- &notes_lloc);
- } else {
- gregorio_add_clef_change_as_note(&current_note,
- GRE_F_KEY_CHANGE_FLATED, gabc_notes_determination_text[2],
- &notes_lloc);
- }
+Z\+ {
+ gregorio_add_end_of_line_as_note(&current_note, true, true, true,
+ &notes_lloc);
}
-` {
- add_bar_as_note(B_VIRGULA);
+Z- {
+ gregorio_add_end_of_line_as_note(&current_note, true, true, false,
+ &notes_lloc);
}
-, {
- add_bar_as_note(B_DIVISIO_MINIMA);
+[cf][1-5] {
+ gregorio_add_clef_as_note(&current_note,
+ letter_to_clef(gabc_notes_determination_text[0]),
+ parse_clef_line(gabc_notes_determination_text[1]), false,
+ &notes_lloc);
}
-,1 {
- add_bar_as_note(B_DIVISIO_MINOR_D1);
+[cf]b[1-5] {
+ gregorio_add_clef_as_note(&current_note,
+ letter_to_clef(gabc_notes_determination_text[0]),
+ parse_clef_line(gabc_notes_determination_text[2]), true,
+ &notes_lloc);
}
-,2 {
- add_bar_as_note(B_DIVISIO_MINOR_D2);
+@[cf][1-5] {
+ gregorio_add_secondary_clef_to_note(current_note,
+ letter_to_clef(gabc_notes_determination_text[1]),
+ parse_clef_line(gabc_notes_determination_text[2]), false);
}
-,3 {
- add_bar_as_note(B_DIVISIO_MINOR_D3);
+@[cf]b[1-5] {
+ gregorio_add_secondary_clef_to_note(current_note,
+ letter_to_clef(gabc_notes_determination_text[1]),
+ parse_clef_line(gabc_notes_determination_text[3]), true);
}
-,4 {
- add_bar_as_note(B_DIVISIO_MINOR_D4);
+` {
+ add_bar_as_note(B_VIRGULA);
}
-,5 {
- add_bar_as_note(B_DIVISIO_MINOR_D5);
+, {
+ add_bar_as_note(B_DIVISIO_MINIMA);
}
-,6 {
- add_bar_as_note(B_DIVISIO_MINOR_D6);
+[,;][1-8] {
+ add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1]));
}
; {
add_bar_as_note(B_DIVISIO_MINOR);
}
-;1 {
- add_bar_as_note(B_DIVISIO_MINOR_D1);
- }
-;2 {
- add_bar_as_note(B_DIVISIO_MINOR_D2);
- }
-;3 {
- add_bar_as_note(B_DIVISIO_MINOR_D3);
- }
-;4 {
- add_bar_as_note(B_DIVISIO_MINOR_D4);
- }
-;5 {
- add_bar_as_note(B_DIVISIO_MINOR_D5);
- }
-;6 {
- add_bar_as_note(B_DIVISIO_MINOR_D6);
- }
: {
add_bar_as_note(B_DIVISIO_MAIOR);
}
@@ -533,13 +888,16 @@ Z {
add_bar_as_note(B_DIVISIO_FINALIS);
}
r {
- gregorio_change_shape(current_note, S_PUNCTUM_CAVUM);
+ gregorio_change_shape(current_note, S_PUNCTUM_CAVUM,
+ legacy_oriscus_orientation);
}
R {
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM);
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM,
+ legacy_oriscus_orientation);
}
r0 {
- gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM);
+ gregorio_change_shape(current_note, S_LINEA_PUNCTUM_CAVUM,
+ legacy_oriscus_orientation);
}
r1 {
gregorio_add_special_sign(current_note, _ACCENTUS);
@@ -556,74 +914,97 @@ r4 {
r5 {
gregorio_add_special_sign(current_note, _SEMI_CIRCULUS_REVERSUS);
}
-[a-mA-M]x {
- add_alteration(GRE_FLAT);
+x {
+ gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation);
}
-[a-mA-M]# {
- add_alteration(GRE_SHARP);
+# {
+ gregorio_change_shape(current_note, S_SHARP,
+ legacy_oriscus_orientation);
}
-[a-mA-M]y {
- add_alteration(GRE_NATURAL);
+y {
+ gregorio_change_shape(current_note, S_NATURAL,
+ legacy_oriscus_orientation);
+ }
+!?\/0 {
+ gregorio_add_space_as_note(&current_note, SP_HALF_SPACE, NULL,
+ &notes_lloc);
}
\/ {
- gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
+ &notes_lloc);
+ }
+\//\/\[ {
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT, NULL,
+ &notes_lloc);
}
\/\/ {
- gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE, &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE, NULL,
+ &notes_lloc);
}
\ {
- gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE, &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE, NULL,
+ &notes_lloc);
}
!\/ {
- gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB,
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
+ &notes_lloc);
+ }
+!\//\/\[ {
+ gregorio_add_space_as_note(&current_note, SP_NEUMATIC_CUT_NB, NULL,
&notes_lloc);
}
!\/\/ {
- gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE_NB,
+ gregorio_add_space_as_note(&current_note, SP_LARGER_SPACE_NB, NULL,
&notes_lloc);
}
!\ {
- gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE_NB,
+ gregorio_add_space_as_note(&current_note, SP_GLYPH_SPACE_NB, NULL,
&notes_lloc);
}
!/[^\/ ] {
- gregorio_add_space_as_note(&current_note, SP_ZERO_WIDTH, &notes_lloc);
+ gregorio_add_space_as_note(&current_note, SP_ZERO_WIDTH, NULL,
+ &notes_lloc);
}
= {
- gregorio_change_shape(current_note, S_LINEA);
+ gregorio_change_shape(current_note, S_LINEA,
+ legacy_oriscus_orientation);
}
-[a-mA-M]vv {
+[a-npA-NP]vv {
lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]vvv {
+[a-npA-NP]vvv {
lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]VV {
+[a-npA-NP]VV {
lex_add_note(0, S_BIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]VVV {
+[a-npA-NP]VVV {
lex_add_note(0, S_TRIVIRGA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]ss {
+[a-npA-NP]ss {
lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]ss(\<|\>) {
- lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTA);
+[a-npA-NP]ss(\<|\>) {
+ lex_add_note(0, S_DISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
}
-[a-mA-M]sss {
+[a-npA-NP]sss {
lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_NO_LIQUESCENTIA);
}
-[a-mA-M]sss(\<|\>) {
- lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTA);
+[a-npA-NP]sss(\<|\>) {
+ lex_add_note(0, S_TRISTROPHA, _NO_SIGN, L_AUCTUS_ASCENDENS);
}
-[a-mA-M] {
+[a-npA-NP] {
lex_add_note(0, punctum(gabc_notes_determination_text[0]), _NO_SIGN,
L_NO_LIQUESCENTIA);
}
--[a-mA-M] {
+-[a-npA-NP] {
lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN,
L_INITIO_DEBILIS);
}
+@[a-npA-NP] {
+ lex_add_note(1, punctum(gabc_notes_determination_text[1]), _NO_SIGN,
+ L_FUSED);
+ }
\'[01]? {
add_sign(_V_EPISEMA);
}
@@ -634,37 +1015,65 @@ _[0-5]* {
add_sign(_PUNCTUM_MORA);
}
~ {
- gregorio_add_liquescentia(current_note, L_DEMINUTUS);
+ gregorio_add_tail_liquescentia(current_note, L_DEMINUTUS,
+ legacy_oriscus_orientation);
}
> {
- gregorio_add_liquescentia(current_note, L_AUCTUS_DESCENDENS);
+ gregorio_add_tail_liquescentia(current_note, L_AUCTUS_DESCENDENS,
+ legacy_oriscus_orientation);
}
\< {
- gregorio_add_liquescentia(current_note, L_AUCTUS_ASCENDENS);
+ gregorio_add_tail_liquescentia(current_note, L_AUCTUS_ASCENDENS,
+ legacy_oriscus_orientation);
}
q {
- gregorio_change_shape(current_note, S_QUADRATUM);
+ gregorio_change_shape(current_note, S_QUADRATUM,
+ legacy_oriscus_orientation);
}
o {
- gregorio_change_shape(current_note, S_ORISCUS);
+ gregorio_change_shape(current_note, legacy_oriscus_orientation
+ ? S_ORISCUS_ASCENDENS : S_ORISCUS_UNDETERMINED,
+ legacy_oriscus_orientation);
}
O {
- gregorio_change_shape(current_note, S_ORISCUS_SCAPUS);
+ gregorio_change_shape(current_note, S_ORISCUS_SCAPUS,
+ legacy_oriscus_orientation);
}
w {
- gregorio_change_shape(current_note, S_QUILISMA);
+ gregorio_change_shape(current_note, S_QUILISMA,
+ legacy_oriscus_orientation);
}
W {
- gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM);
+ gregorio_change_shape(current_note, S_QUILISMA_QUADRATUM,
+ legacy_oriscus_orientation);
}
v {
- gregorio_change_shape(current_note, S_VIRGA);
+ gregorio_change_shape(current_note, S_VIRGA,
+ legacy_oriscus_orientation);
}
V {
- gregorio_change_shape(current_note, S_VIRGA_REVERSA);
+ gregorio_change_shape(current_note, S_VIRGA_REVERSA,
+ legacy_oriscus_orientation);
}
s {
- gregorio_change_shape(current_note, S_STROPHA);
+ gregorio_change_shape(current_note, S_STROPHA,
+ legacy_oriscus_orientation);
+ }
+\[hl:1\] {
+ current_note->supposed_high_ledger_line = true;
+ current_note->explicit_high_ledger_line = true;
+ }
+\[hl:0\] {
+ current_note->supposed_high_ledger_line = false;
+ current_note->explicit_high_ledger_line = true;
+ }
+\[ll:1\] {
+ current_note->supposed_low_ledger_line = true;
+ current_note->explicit_low_ledger_line = true;
+ }
+\[ll:0\] {
+ current_note->supposed_low_ledger_line = false;
+ current_note->explicit_low_ledger_line = true;
}
. {
gregorio_messagef("det_notes_from_string", VERBOSITY_ERROR, 0,
@@ -675,7 +1084,7 @@ s {
%%
gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
- gregorio_scanner_location *loc)
+ gregorio_scanner_location *loc, const gregorio_score *const score)
{
int i;
YY_BUFFER_STATE buf;
@@ -688,6 +1097,10 @@ gregorio_note *gabc_det_notes_from_string(char *str, char *newmacros[10],
notes_lloc.last_column = loc->first_column;
notes_lloc.last_offset = loc->first_offset;
+ staff_lines = score->staff_lines;
+ highest_pitch = score->highest_pitch;
+ legacy_oriscus_orientation = score->legacy_oriscus_orientation;
+
/* a small optimization could uccur here: we could do it only once at the
* beginning of the score, not at each syllable */
for (i = 0; i < 10; i++) {
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c
index fe52c82613f..03994f45487 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-l.c
@@ -384,8 +384,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 83
-#define YY_END_OF_BUFFER 84
+#define YY_NUM_RULES 70
+#define YY_END_OF_BUFFER 71
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -393,55 +393,42 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int32_t yy_accept[430] =
+static yyconst flex_int32_t yy_accept[307] =
{ 0,
- 0, 1, 7, 7, 0, 0, 78, 78, 59, 59,
- 65, 65, 62, 62, 5, 5, 70, 70, 84, 41,
- 83, 41, 41, 6, 41, 41, 41, 41, 41, 41,
- 41, 41, 41, 41, 41, 41, 41, 41, 2, 2,
- 3, 3, 1, 7, 7, 83, 42, 60, 77, 66,
- 75, 76, 67, 68, 78, 79, 81, 80, 59, 66,
- 65, 66, 62, 61, 5, 4, 70, 66, 40, 0,
- 39, 6, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2, 1, 7,
-
- 7, 0, 7, 7, 0, 7, 8, 8, 42, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 78, 82, 59, 0, 65, 0, 62, 61, 5,
- 4, 70, 0, 39, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7, 0, 0, 0, 53, 51, 0, 43, 0, 0,
- 0, 0, 0, 63, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 28, 0, 0, 24,
- 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
-
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 72, 0, 55, 57, 47, 49, 54, 52,
- 46, 0, 0, 0, 0, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 34, 0, 0, 0, 73,
- 0, 69, 0, 56, 58, 48, 50, 0, 0, 0,
- 23, 0, 0, 9, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 71, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 45, 0, 18, 0, 0, 0, 0, 0, 0,
- 0, 32, 0, 0, 0, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
- 17, 0, 0, 0, 0, 0, 25, 37, 0, 0,
- 0, 0, 0, 38, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 14, 0, 29, 0, 0, 0, 0,
- 19, 30, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
- 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 12, 0, 0, 31, 36, 0,
- 0, 10, 0, 35, 0, 0, 0, 0, 0, 33,
- 0, 0, 26, 0, 0, 0, 0, 27, 0
+ 0, 1, 7, 7, 0, 0, 65, 65, 46, 46,
+ 52, 52, 49, 49, 5, 5, 57, 57, 71, 27,
+ 70, 27, 27, 24, 6, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 2, 2, 3, 3, 1, 7,
+ 7, 70, 28, 47, 64, 29, 53, 62, 63, 54,
+ 55, 65, 66, 68, 67, 46, 53, 52, 53, 49,
+ 48, 5, 4, 57, 53, 26, 0, 25, 0, 24,
+ 6, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 2, 1, 7, 7, 0, 7, 7,
+ 0, 7, 8, 8, 28, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 65, 69, 46,
+ 0, 52, 0, 49, 48, 5, 4, 57, 0, 25,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 7, 0, 0, 0, 40, 38,
+ 0, 30, 0, 0, 0, 0, 0, 50, 61, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 24, 0,
+ 24, 24, 24, 15, 24, 11, 24, 24, 24, 24,
+ 0, 0, 0, 59, 0, 42, 44, 34, 36, 41,
+ 39, 33, 0, 0, 0, 0, 51, 0, 24, 24,
+ 24, 0, 24, 24, 0, 0, 24, 24, 24, 24,
+
+ 60, 0, 56, 0, 43, 45, 35, 37, 0, 24,
+ 19, 9, 24, 24, 24, 24, 24, 24, 24, 24,
+ 0, 0, 0, 31, 58, 24, 24, 24, 24, 24,
+ 24, 24, 0, 24, 24, 24, 32, 24, 24, 0,
+ 20, 24, 24, 24, 24, 0, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 18, 24,
+ 24, 24, 24, 22, 0, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 21, 24, 24, 24, 24,
+ 24, 24, 24, 24, 14, 24, 16, 24, 24, 24,
+ 13, 24, 24, 24, 24, 24, 24, 24, 12, 17,
+
+ 10, 24, 24, 24, 23, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -452,305 +439,291 @@ static yyconst flex_int32_t yy_ec[256] =
1, 5, 1, 1, 6, 1, 7, 8, 1, 9,
10, 1, 1, 1, 11, 1, 12, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 14, 15, 16,
- 1, 17, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 17, 1, 1, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 19, 1, 20, 1, 18, 1, 21, 22, 23, 24,
+
+ 25, 26, 27, 28, 29, 18, 18, 30, 31, 32,
+ 33, 34, 18, 35, 36, 37, 38, 39, 18, 18,
+ 40, 18, 41, 42, 43, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 18, 1, 19, 1, 1, 1, 20, 21, 22, 23,
-
- 24, 25, 26, 27, 28, 1, 29, 30, 31, 32,
- 33, 34, 1, 35, 36, 37, 38, 39, 1, 40,
- 41, 1, 42, 43, 44, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 45, 1, 1, 1,
- 46, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 44, 1, 1, 1,
+ 45, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 47, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 46, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[48] =
+static yyconst flex_int32_t yy_meta[47] =
{ 0,
1, 1, 2, 3, 1, 1, 4, 5, 4, 5,
- 1, 1, 1, 1, 6, 7, 1, 4, 4, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 8, 5, 8, 1, 1, 1
+ 6, 1, 7, 1, 8, 9, 1, 7, 4, 4,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 10, 5, 10, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_base[451] =
+static yyconst flex_int32_t yy_base[329] =
{ 0,
- 0, 37, 1, 9, 70, 78, 7, 19, 3, 36,
- 634, 633, 5, 31, 50, 52, 632, 631, 646, 651,
- 651, 88, 634, 639, 66, 610, 48, 22, 82, 610,
- 621, 83, 70, 39, 78, 605, 603, 610, 106, 115,
- 651, 120, 83, 122, 128, 130, 0, 651, 651, 134,
- 625, 651, 651, 651, 0, 651, 136, 651, 0, 124,
- 0, 624, 0, 146, 0, 148, 0, 623, 156, 160,
- 0, 651, 602, 598, 595, 598, 598, 598, 591, 602,
- 605, 593, 600, 595, 590, 589, 583, 596, 90, 587,
- 595, 591, 582, 573, 593, 588, 576, 165, 129, 174,
-
- 176, 178, 595, 180, 0, 182, 184, 651, 0, 81,
- 579, 591, 590, 568, 588, 574, 113, 566, 572, 584,
- 581, 0, 196, 0, 181, 0, 560, 0, 201, 0,
- 203, 0, 578, 0, 564, 576, 568, 565, 556, 561,
- 567, 579, 567, 564, 561, 549, 559, 546, 559, 558,
- 559, 556, 558, 558, 549, 541, 545, 542, 538, 546,
- 556, 532, 539, 531, 651, 651, 550, 651, 545, 548,
- 547, 546, 545, 651, 651, 544, 543, 542, 131, 521,
- 527, 539, 525, 517, 521, 519, 651, 527, 526, 651,
- 518, 537, 512, 513, 517, 506, 507, 507, 651, 530,
-
- 651, 516, 503, 516, 513, 512, 499, 523, 495, 515,
- 510, 513, 651, 509, 651, 651, 651, 651, 651, 651,
- 651, 511, 510, 509, 508, 651, 487, 503, 496, 486,
- 485, 487, 505, 27, 497, 481, 495, 494, 491, 651,
- 482, 476, 482, 485, 497, 651, 485, 474, 475, 651,
- 484, 651, 486, 651, 651, 651, 651, 485, 464, 476,
- 651, 471, 461, 651, 464, 472, 458, 466, 463, 466,
- 456, 462, 478, 455, 476, 464, 450, 451, 463, 465,
- 651, 651, 453, 445, 447, 458, 443, 441, 451, 441,
- 462, 448, 443, 438, 436, 436, 433, 433, 437, 427,
-
- 452, 651, 429, 651, 435, 425, 418, 422, 434, 419,
- 419, 651, 420, 429, 427, 651, 431, 416, 187, 425,
- 414, 415, 435, 404, 409, 415, 431, 417, 403, 402,
- 402, 426, 401, 394, 410, 396, 396, 398, 651, 394,
- 651, 401, 395, 406, 386, 384, 413, 651, 384, 385,
- 386, 385, 391, 651, 382, 395, 390, 383, 373, 402,
- 382, 175, 378, 651, 382, 651, 376, 380, 380, 379,
- 651, 651, 380, 380, 379, 365, 373, 374, 367, 361,
- 373, 359, 362, 651, 369, 360, 370, 364, 379, 361,
- 357, 651, 355, 362, 348, 347, 331, 333, 322, 324,
-
- 310, 309, 308, 285, 651, 200, 184, 651, 651, 191,
- 188, 651, 175, 651, 164, 170, 168, 168, 150, 651,
- 133, 108, 651, 69, 73, 49, 1, 651, 651, 221,
- 229, 237, 245, 253, 261, 269, 277, 285, 293, 301,
- 309, 317, 323, 331, 337, 345, 353, 361, 369, 377
+ 0, 44, 49, 51, 84, 121, 50, 55, 33, 40,
+ 688, 687, 58, 64, 66, 68, 686, 685, 700, 705,
+ 705, 75, 688, 687, 692, 48, 62, 64, 66, 73,
+ 85, 88, 94, 96, 98, 107, 705, 109, 76, 120,
+ 135, 139, 0, 705, 705, 705, 153, 684, 705, 705,
+ 705, 0, 705, 142, 705, 0, 136, 0, 683, 0,
+ 111, 0, 148, 0, 682, 152, 156, 0, 0, 682,
+ 705, 138, 97, 142, 95, 155, 147, 156, 166, 162,
+ 158, 161, 160, 192, 154, 198, 200, 202, 677, 204,
+ 0, 206, 208, 705, 0, 191, 661, 673, 672, 650,
+
+ 670, 656, 191, 648, 654, 666, 662, 0, 224, 0,
+ 208, 0, 642, 0, 229, 0, 231, 0, 659, 0,
+ 668, 209, 211, 667, 213, 227, 230, 236, 232, 237,
+ 238, 239, 241, 240, 662, 638, 645, 637, 705, 705,
+ 656, 705, 650, 654, 653, 652, 651, 705, 705, 650,
+ 649, 648, 231, 627, 633, 645, 631, 242, 245, 629,
+ 648, 248, 247, 647, 646, 645, 256, 257, 258, 260,
+ 638, 632, 636, 705, 631, 705, 705, 705, 705, 705,
+ 705, 705, 634, 633, 632, 631, 705, 610, 252, 259,
+ 261, 623, 271, 276, 260, 613, 277, 278, 616, 613,
+
+ 705, 587, 705, 590, 705, 705, 705, 705, 581, 282,
+ 586, 583, 284, 279, 287, 289, 288, 291, 561, 290,
+ 542, 533, 429, 705, 705, 293, 294, 434, 285, 297,
+ 300, 295, 410, 430, 292, 302, 705, 296, 304, 404,
+ 428, 319, 321, 322, 323, 405, 324, 325, 327, 326,
+ 328, 329, 330, 331, 423, 335, 332, 337, 422, 340,
+ 341, 342, 344, 421, 392, 349, 352, 353, 355, 360,
+ 363, 368, 364, 369, 357, 419, 372, 373, 374, 380,
+ 381, 384, 385, 365, 417, 388, 416, 390, 392, 393,
+ 207, 394, 397, 396, 398, 403, 400, 407, 175, 172,
+
+ 125, 408, 409, 415, 120, 705, 447, 457, 467, 477,
+ 487, 497, 507, 517, 522, 529, 539, 549, 559, 567,
+ 577, 585, 595, 605, 615, 625, 50, 635
} ;
-static yyconst flex_int32_t yy_def[451] =
+static yyconst flex_int32_t yy_def[329] =
{ 0,
- 430, 430, 431, 431, 432, 432, 433, 433, 434, 434,
- 435, 435, 436, 436, 437, 437, 438, 438, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 439, 440, 441, 442, 429, 429, 429,
- 429, 429, 429, 429, 443, 429, 429, 429, 444, 50,
- 445, 429, 446, 429, 447, 429, 448, 429, 429, 429,
- 449, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 439,
-
- 440, 441, 440, 440, 450, 441, 429, 429, 442, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 443, 429, 444, 429, 445, 429, 446, 429, 447,
- 429, 448, 429, 449, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 450, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
-
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
-
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
-
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 0, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429
+ 306, 1, 307, 307, 308, 308, 309, 309, 310, 310,
+ 311, 311, 312, 312, 313, 313, 314, 314, 306, 306,
+ 306, 306, 306, 315, 306, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 306, 306, 306, 306, 306, 316,
+ 317, 318, 319, 306, 306, 306, 306, 306, 306, 306,
+ 306, 320, 306, 306, 306, 321, 47, 322, 306, 323,
+ 306, 324, 306, 325, 306, 306, 306, 326, 327, 315,
+ 306, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 306, 306, 316, 317, 318, 317, 317,
+ 328, 318, 306, 306, 319, 306, 306, 306, 306, 306,
+
+ 306, 306, 306, 306, 306, 306, 306, 320, 306, 321,
+ 306, 322, 306, 323, 306, 324, 306, 325, 306, 326,
+ 327, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 328, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 315, 315, 327,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 315, 315,
+ 327, 327, 315, 315, 327, 327, 315, 315, 315, 315,
+
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 315,
+ 315, 327, 327, 315, 315, 327, 327, 327, 315, 315,
+ 327, 327, 306, 306, 306, 315, 327, 315, 315, 327,
+ 327, 327, 327, 315, 327, 327, 306, 315, 327, 327,
+ 315, 327, 327, 327, 327, 327, 327, 327, 315, 327,
+ 327, 327, 327, 327, 327, 327, 327, 327, 315, 327,
+ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
+ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
+ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
+ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
+
+ 327, 327, 327, 327, 327, 0, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306
} ;
-static yyconst flex_int32_t yy_nxt[699] =
+static yyconst flex_int32_t yy_nxt[752] =
{ 0,
- 429, 429, 21, 45, 45, 429, 22, 64, 64, 429,
- 23, 45, 45, 24, 56, 46, 57, 429, 60, 25,
- 26, 27, 28, 46, 428, 29, 56, 30, 57, 31,
- 32, 33, 34, 64, 64, 35, 36, 37, 38, 39,
- 40, 79, 41, 42, 53, 80, 54, 23, 265, 58,
- 24, 60, 66, 66, 66, 66, 25, 26, 27, 28,
- 91, 58, 29, 92, 30, 266, 31, 32, 33, 34,
- 427, 77, 35, 36, 37, 38, 48, 53, 49, 54,
- 78, 43, 43, 43, 48, 50, 49, 51, 52, 89,
- 69, 69, 426, 50, 70, 51, 52, 73, 425, 93,
-
- 74, 81, 86, 75, 162, 82, 87, 90, 98, 98,
- 151, 53, 163, 54, 94, 88, 83, 98, 98, 53,
- 152, 54, 69, 69, 101, 101, 70, 99, 99, 99,
- 104, 104, 107, 107, 170, 125, 102, 123, 123, 123,
- 123, 424, 105, 429, 108, 110, 171, 429, 129, 129,
- 131, 131, 222, 111, 112, 113, 423, 114, 69, 69,
- 422, 115, 69, 69, 223, 116, 70, 98, 98, 117,
- 118, 119, 120, 99, 99, 99, 101, 101, 104, 104,
- 429, 429, 104, 104, 101, 101, 107, 107, 102, 421,
- 105, 420, 429, 419, 105, 418, 102, 123, 123, 123,
-
- 123, 176, 177, 129, 129, 131, 131, 335, 178, 375,
- 376, 417, 163, 416, 415, 414, 179, 180, 181, 413,
- 336, 20, 20, 20, 20, 20, 20, 20, 20, 44,
- 44, 44, 44, 44, 44, 44, 44, 47, 47, 47,
- 47, 47, 47, 47, 47, 55, 55, 55, 55, 55,
- 55, 55, 55, 59, 59, 59, 59, 59, 59, 59,
- 59, 61, 61, 61, 61, 61, 61, 61, 61, 63,
- 63, 63, 63, 63, 63, 63, 63, 65, 65, 65,
- 65, 65, 65, 65, 65, 67, 67, 67, 67, 67,
- 67, 67, 67, 100, 100, 100, 100, 100, 100, 100,
-
- 100, 103, 103, 103, 103, 103, 103, 103, 103, 106,
- 106, 106, 106, 106, 106, 106, 106, 109, 109, 109,
- 412, 109, 109, 122, 122, 122, 122, 411, 122, 122,
- 122, 124, 124, 124, 124, 124, 124, 126, 126, 126,
- 126, 126, 126, 410, 126, 128, 409, 408, 128, 128,
- 128, 128, 128, 130, 407, 406, 130, 130, 130, 130,
- 130, 132, 132, 132, 132, 132, 132, 405, 132, 134,
- 404, 134, 134, 134, 134, 134, 134, 161, 161, 161,
- 161, 161, 403, 161, 161, 402, 401, 400, 399, 398,
- 397, 396, 395, 394, 393, 392, 391, 390, 389, 388,
-
- 387, 386, 385, 384, 383, 382, 381, 380, 379, 378,
- 377, 374, 373, 372, 371, 370, 369, 368, 367, 366,
- 365, 364, 363, 362, 361, 360, 359, 358, 357, 356,
- 355, 354, 353, 352, 351, 350, 349, 348, 347, 346,
- 345, 344, 343, 342, 341, 340, 339, 338, 337, 334,
- 333, 332, 331, 330, 329, 328, 327, 326, 325, 324,
- 323, 322, 321, 320, 319, 318, 317, 316, 315, 314,
- 313, 312, 311, 310, 309, 308, 307, 306, 305, 304,
- 303, 302, 301, 300, 299, 298, 297, 296, 295, 294,
- 293, 292, 291, 290, 289, 288, 287, 286, 285, 284,
-
- 283, 282, 281, 280, 279, 278, 277, 276, 275, 274,
- 273, 272, 271, 270, 269, 268, 267, 264, 263, 262,
- 261, 260, 259, 258, 257, 256, 255, 254, 253, 252,
- 251, 250, 249, 248, 247, 246, 245, 244, 243, 242,
- 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
- 231, 230, 229, 228, 227, 226, 225, 224, 221, 220,
- 219, 218, 217, 216, 215, 214, 213, 212, 211, 210,
- 105, 209, 208, 207, 206, 205, 204, 203, 202, 201,
- 200, 199, 198, 197, 196, 195, 194, 193, 192, 191,
- 190, 189, 188, 187, 186, 185, 184, 183, 182, 175,
-
- 174, 173, 172, 169, 168, 167, 166, 165, 164, 105,
- 160, 159, 158, 157, 156, 155, 154, 153, 150, 149,
- 148, 147, 146, 145, 144, 143, 142, 141, 140, 139,
- 138, 137, 136, 135, 133, 127, 121, 97, 96, 95,
- 85, 84, 76, 72, 71, 429, 68, 68, 62, 62,
- 19, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429
-
+ 20, 20, 21, 20, 20, 20, 22, 20, 20, 20,
+ 23, 20, 24, 25, 20, 20, 20, 24, 20, 20,
+ 26, 24, 24, 27, 24, 24, 28, 24, 29, 30,
+ 31, 32, 33, 24, 24, 34, 24, 24, 24, 24,
+ 20, 20, 20, 20, 20, 20, 35, 36, 57, 37,
+ 38, 41, 41, 41, 41, 57, 121, 53, 69, 54,
+ 61, 61, 53, 42, 54, 42, 61, 61, 63, 63,
+ 63, 63, 69, 50, 69, 51, 69, 66, 66, 72,
+ 50, 67, 51, 69, 75, 73, 74, 39, 39, 39,
+ 44, 55, 45, 77, 46, 69, 55, 76, 69, 47,
+
+ 84, 84, 48, 49, 69, 69, 69, 69, 79, 84,
+ 84, 66, 66, 115, 115, 67, 125, 78, 82, 85,
+ 85, 85, 87, 87, 50, 80, 51, 44, 81, 45,
+ 69, 46, 83, 123, 88, 69, 47, 90, 90, 48,
+ 49, 93, 93, 109, 109, 109, 109, 111, 69, 91,
+ 117, 117, 69, 94, 66, 66, 306, 69, 66, 66,
+ 306, 50, 67, 51, 96, 69, 69, 124, 69, 122,
+ 69, 69, 69, 97, 98, 99, 69, 100, 127, 128,
+ 134, 101, 69, 126, 102, 69, 132, 129, 103, 104,
+ 105, 106, 131, 133, 84, 84, 130, 85, 85, 85,
+
+ 87, 87, 90, 90, 306, 306, 90, 90, 87, 87,
+ 93, 93, 88, 144, 91, 136, 306, 69, 91, 69,
+ 88, 69, 137, 69, 145, 109, 109, 109, 109, 150,
+ 151, 115, 115, 117, 117, 161, 152, 69, 159, 137,
+ 69, 158, 69, 153, 154, 155, 69, 69, 69, 69,
+ 69, 69, 69, 183, 165, 69, 163, 69, 69, 167,
+ 164, 166, 69, 162, 184, 170, 69, 69, 69, 69,
+ 69, 69, 210, 212, 168, 169, 193, 190, 189, 198,
+ 197, 69, 199, 216, 194, 200, 69, 69, 69, 69,
+ 217, 214, 69, 211, 69, 69, 215, 69, 69, 69,
+
+ 69, 69, 69, 69, 69, 69, 69, 69, 228, 241,
+ 69, 219, 69, 229, 69, 220, 227, 230, 226, 232,
+ 231, 238, 242, 243, 247, 234, 244, 239, 249, 69,
+ 248, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 250, 252, 69, 254, 69, 255, 253,
+ 69, 69, 69, 262, 69, 263, 258, 257, 259, 69,
+ 260, 268, 69, 69, 261, 69, 264, 69, 269, 266,
+ 69, 267, 272, 69, 69, 69, 271, 274, 69, 69,
+ 270, 277, 69, 69, 69, 283, 275, 279, 276, 278,
+ 69, 69, 280, 282, 69, 69, 281, 285, 69, 284,
+
+ 69, 291, 69, 69, 69, 286, 69, 69, 69, 288,
+ 69, 290, 293, 69, 287, 289, 298, 69, 69, 69,
+ 295, 297, 296, 300, 292, 69, 69, 69, 294, 69,
+ 273, 69, 69, 265, 299, 301, 303, 256, 69, 251,
+ 246, 304, 245, 302, 240, 237, 305, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 43, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56, 58, 58, 58,
+ 58, 58, 58, 58, 58, 58, 58, 60, 60, 60,
+
+ 60, 60, 60, 60, 60, 60, 60, 62, 62, 62,
+ 62, 62, 62, 62, 62, 62, 62, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 70, 70, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 95,
+ 95, 95, 236, 95, 235, 95, 95, 108, 108, 108,
+ 108, 233, 108, 108, 108, 108, 108, 110, 110, 110,
+ 110, 110, 110, 110, 110, 112, 112, 112, 112, 112,
+ 112, 112, 112, 69, 112, 114, 69, 225, 114, 114,
+
+ 114, 114, 114, 114, 114, 116, 224, 223, 116, 116,
+ 116, 116, 116, 116, 116, 118, 118, 118, 118, 118,
+ 118, 118, 118, 222, 118, 120, 221, 120, 120, 120,
+ 120, 120, 120, 120, 120, 135, 135, 135, 135, 135,
+ 135, 135, 218, 135, 135, 213, 209, 208, 207, 206,
+ 205, 204, 203, 202, 201, 69, 196, 195, 192, 191,
+ 188, 187, 186, 185, 182, 181, 180, 179, 178, 177,
+ 176, 175, 174, 173, 172, 171, 91, 160, 69, 157,
+ 156, 149, 148, 147, 146, 143, 142, 141, 140, 139,
+ 138, 91, 69, 119, 113, 107, 71, 69, 68, 306,
+
+ 65, 65, 59, 59, 19, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306
} ;
-static yyconst flex_int32_t yy_chk[699] =
+static yyconst flex_int32_t yy_chk[752] =
{ 0,
- 0, 0, 1, 3, 3, 0, 1, 13, 13, 0,
- 1, 4, 4, 1, 7, 3, 7, 0, 9, 1,
- 1, 1, 1, 4, 427, 1, 8, 1, 8, 1,
- 1, 1, 1, 14, 14, 1, 1, 1, 1, 2,
- 2, 28, 2, 2, 9, 28, 9, 2, 234, 7,
- 2, 10, 15, 15, 16, 16, 2, 2, 2, 2,
- 34, 8, 2, 34, 2, 234, 2, 2, 2, 2,
- 426, 27, 2, 2, 2, 2, 5, 10, 5, 10,
- 27, 2, 2, 2, 6, 5, 6, 5, 5, 33,
- 22, 22, 425, 6, 22, 6, 6, 25, 424, 35,
-
- 25, 29, 32, 25, 110, 29, 32, 33, 39, 39,
- 89, 5, 110, 5, 35, 32, 29, 40, 40, 6,
- 89, 6, 42, 42, 44, 44, 42, 43, 43, 43,
- 45, 45, 46, 46, 117, 60, 44, 57, 57, 57,
- 57, 422, 45, 60, 46, 50, 117, 60, 64, 64,
- 66, 66, 179, 50, 50, 50, 421, 50, 69, 69,
- 419, 50, 70, 70, 179, 50, 70, 98, 98, 50,
- 50, 50, 50, 99, 99, 99, 100, 100, 101, 101,
- 102, 102, 104, 104, 106, 106, 107, 107, 100, 418,
- 101, 417, 102, 416, 104, 415, 106, 123, 123, 123,
-
- 123, 125, 125, 129, 129, 131, 131, 319, 125, 362,
- 362, 413, 125, 411, 410, 407, 125, 125, 125, 406,
- 319, 430, 430, 430, 430, 430, 430, 430, 430, 431,
- 431, 431, 431, 431, 431, 431, 431, 432, 432, 432,
- 432, 432, 432, 432, 432, 433, 433, 433, 433, 433,
- 433, 433, 433, 434, 434, 434, 434, 434, 434, 434,
- 434, 435, 435, 435, 435, 435, 435, 435, 435, 436,
- 436, 436, 436, 436, 436, 436, 436, 437, 437, 437,
- 437, 437, 437, 437, 437, 438, 438, 438, 438, 438,
- 438, 438, 438, 439, 439, 439, 439, 439, 439, 439,
-
- 439, 440, 440, 440, 440, 440, 440, 440, 440, 441,
- 441, 441, 441, 441, 441, 441, 441, 442, 442, 442,
- 404, 442, 442, 443, 443, 443, 443, 403, 443, 443,
- 443, 444, 444, 444, 444, 444, 444, 445, 445, 445,
- 445, 445, 445, 402, 445, 446, 401, 400, 446, 446,
- 446, 446, 446, 447, 399, 398, 447, 447, 447, 447,
- 447, 448, 448, 448, 448, 448, 448, 397, 448, 449,
- 396, 449, 449, 449, 449, 449, 449, 450, 450, 450,
- 450, 450, 395, 450, 450, 394, 393, 391, 390, 389,
- 388, 387, 386, 385, 383, 382, 381, 380, 379, 378,
-
- 377, 376, 375, 374, 373, 370, 369, 368, 367, 365,
- 363, 361, 360, 359, 358, 357, 356, 355, 353, 352,
- 351, 350, 349, 347, 346, 345, 344, 343, 342, 340,
- 338, 337, 336, 335, 334, 333, 332, 331, 330, 329,
- 328, 327, 326, 325, 324, 323, 322, 321, 320, 318,
- 317, 315, 314, 313, 311, 310, 309, 308, 307, 306,
- 305, 303, 301, 300, 299, 298, 297, 296, 295, 294,
- 293, 292, 291, 290, 289, 288, 287, 286, 285, 284,
- 283, 280, 279, 278, 277, 276, 275, 274, 273, 272,
- 271, 270, 269, 268, 267, 266, 265, 263, 262, 260,
-
- 259, 258, 253, 251, 249, 248, 247, 245, 244, 243,
- 242, 241, 239, 238, 237, 236, 235, 233, 232, 231,
- 230, 229, 228, 227, 225, 224, 223, 222, 214, 212,
- 211, 210, 209, 208, 207, 206, 205, 204, 203, 202,
- 200, 198, 197, 196, 195, 194, 193, 192, 191, 189,
- 188, 186, 185, 184, 183, 182, 181, 180, 178, 177,
- 176, 173, 172, 171, 170, 169, 167, 164, 163, 162,
- 161, 160, 159, 158, 157, 156, 155, 154, 153, 152,
- 151, 150, 149, 148, 147, 146, 145, 144, 143, 142,
- 141, 140, 139, 138, 137, 136, 135, 133, 127, 121,
-
- 120, 119, 118, 116, 115, 114, 113, 112, 111, 103,
- 97, 96, 95, 94, 93, 92, 91, 90, 88, 87,
- 86, 85, 84, 83, 82, 81, 80, 79, 78, 77,
- 76, 75, 74, 73, 68, 62, 51, 38, 37, 36,
- 31, 30, 26, 24, 23, 19, 18, 17, 12, 11,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429
-
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 2, 2, 9, 2,
+ 2, 3, 3, 4, 4, 10, 327, 7, 26, 7,
+ 13, 13, 8, 3, 8, 4, 14, 14, 15, 15,
+ 16, 16, 27, 9, 28, 9, 29, 22, 22, 26,
+ 10, 22, 10, 30, 28, 26, 27, 2, 2, 2,
+ 5, 7, 5, 30, 5, 31, 8, 29, 32, 5,
+
+ 35, 35, 5, 5, 33, 75, 34, 73, 32, 36,
+ 36, 38, 38, 61, 61, 38, 75, 31, 34, 39,
+ 39, 39, 40, 40, 5, 32, 5, 6, 33, 6,
+ 305, 6, 34, 73, 40, 301, 6, 41, 41, 6,
+ 6, 42, 42, 54, 54, 54, 54, 57, 72, 41,
+ 63, 63, 74, 42, 66, 66, 57, 77, 67, 67,
+ 57, 6, 67, 6, 47, 76, 78, 74, 81, 72,
+ 83, 82, 80, 47, 47, 47, 79, 47, 77, 78,
+ 83, 47, 300, 76, 47, 299, 81, 79, 47, 47,
+ 47, 47, 80, 82, 84, 84, 79, 85, 85, 85,
+
+ 86, 86, 87, 87, 88, 88, 90, 90, 92, 92,
+ 93, 93, 86, 103, 87, 96, 88, 291, 90, 122,
+ 92, 123, 96, 125, 103, 109, 109, 109, 109, 111,
+ 111, 115, 115, 117, 117, 125, 111, 126, 123, 111,
+ 127, 122, 129, 111, 111, 111, 128, 130, 131, 132,
+ 134, 133, 158, 153, 129, 159, 127, 163, 162, 131,
+ 128, 130, 189, 126, 153, 134, 167, 168, 169, 190,
+ 170, 191, 189, 191, 132, 133, 162, 159, 158, 168,
+ 167, 193, 169, 195, 163, 170, 194, 197, 198, 214,
+ 195, 193, 210, 190, 213, 229, 194, 215, 217, 216,
+
+ 220, 218, 235, 226, 227, 232, 238, 230, 214, 229,
+ 231, 197, 236, 215, 239, 198, 213, 216, 210, 218,
+ 217, 226, 230, 231, 235, 220, 232, 227, 238, 242,
+ 236, 243, 244, 245, 247, 248, 250, 249, 251, 252,
+ 253, 254, 257, 239, 242, 256, 244, 258, 245, 243,
+ 260, 261, 262, 252, 263, 253, 248, 247, 249, 266,
+ 250, 258, 267, 268, 251, 269, 254, 275, 260, 256,
+ 270, 257, 263, 271, 273, 284, 262, 266, 272, 274,
+ 261, 269, 277, 278, 279, 275, 267, 271, 268, 270,
+ 280, 281, 272, 274, 282, 283, 273, 278, 286, 277,
+
+ 288, 284, 289, 290, 292, 279, 294, 293, 295, 281,
+ 297, 283, 288, 296, 280, 282, 294, 298, 302, 303,
+ 290, 293, 292, 296, 286, 304, 287, 285, 289, 276,
+ 265, 264, 259, 255, 295, 297, 302, 246, 241, 240,
+ 234, 303, 233, 298, 228, 223, 304, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 309, 309, 309,
+ 309, 309, 309, 309, 309, 309, 309, 310, 310, 310,
+ 310, 310, 310, 310, 310, 310, 310, 311, 311, 311,
+ 311, 311, 311, 311, 311, 311, 311, 312, 312, 312,
+
+ 312, 312, 312, 312, 312, 312, 312, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 315, 315, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 317,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 318,
+ 318, 318, 318, 318, 318, 318, 318, 318, 318, 319,
+ 319, 319, 222, 319, 221, 319, 319, 320, 320, 320,
+ 320, 219, 320, 320, 320, 320, 320, 321, 321, 321,
+ 321, 321, 321, 321, 321, 322, 322, 322, 322, 322,
+ 322, 322, 322, 212, 322, 323, 211, 209, 323, 323,
+
+ 323, 323, 323, 323, 323, 324, 204, 202, 324, 324,
+ 324, 324, 324, 324, 324, 325, 325, 325, 325, 325,
+ 325, 325, 325, 200, 325, 326, 199, 326, 326, 326,
+ 326, 326, 326, 326, 326, 328, 328, 328, 328, 328,
+ 328, 328, 196, 328, 328, 192, 188, 186, 185, 184,
+ 183, 175, 173, 172, 171, 166, 165, 164, 161, 160,
+ 157, 156, 155, 154, 152, 151, 150, 147, 146, 145,
+ 144, 143, 141, 138, 137, 136, 135, 124, 121, 119,
+ 113, 107, 106, 105, 104, 102, 101, 100, 99, 98,
+ 97, 89, 70, 65, 59, 48, 25, 24, 23, 19,
+
+ 18, 17, 12, 11, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+ 306
} ;
static yy_state_type yy_last_accepting_state;
@@ -798,6 +771,7 @@ char *gabc_score_determination_text;
#include <string.h>
#include "struct.h"
#include "messages.h"
+#include "bool.h"
#include "support.h"
#include "gabc.h"
@@ -805,6 +779,7 @@ char *gabc_score_determination_text;
#include "gabc-score-determination-y.h"
static unsigned char style_stack = 0;
+static bool eof_found = false;
#define YY_NO_INPUT
@@ -853,7 +828,7 @@ static unsigned char style_stack = 0;
for (a) single-line values, ending with a semicolon at end of line or a
double semicolon, (b) multi-line values, which end at a double
semicolon. */
-#line 857 "gabc/gabc-score-determination-l.c"
+#line 832 "gabc/gabc-score-determination-l.c"
#define INITIAL 0
#define attribute 1
@@ -1075,9 +1050,9 @@ YY_DECL
}
{
-#line 106 "gabc/gabc-score-determination.l"
+#line 108 "gabc/gabc-score-determination.l"
-#line 1081 "gabc/gabc-score-determination-l.c"
+#line 1056 "gabc/gabc-score-determination-l.c"
while ( 1 ) /* loops until end-of-file is reached */
{
@@ -1105,13 +1080,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 430 )
+ if ( yy_current_state >= 307 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 651 );
+ while ( yy_base[yy_current_state] != 705 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1137,7 +1112,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 107 "gabc/gabc-score-determination.l"
+#line 109 "gabc/gabc-score-determination.l"
{
/* BOM written by a lot of windows softwares when they write UTF-8 */
}
@@ -1145,14 +1120,14 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 110 "gabc/gabc-score-determination.l"
+#line 112 "gabc/gabc-score-determination.l"
{
/* ignoring empty lines */
}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 113 "gabc/gabc-score-determination.l"
+#line 115 "gabc/gabc-score-determination.l"
{
BEGIN(inicomments);
}
@@ -1160,21 +1135,21 @@ YY_RULE_SETUP
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 116 "gabc/gabc-score-determination.l"
+#line 118 "gabc/gabc-score-determination.l"
{
BEGIN(INITIAL);
}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 119 "gabc/gabc-score-determination.l"
+#line 121 "gabc/gabc-score-determination.l"
{
/* ignored */
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 122 "gabc/gabc-score-determination.l"
+#line 124 "gabc/gabc-score-determination.l"
{
BEGIN(attribute);
return COLON;
@@ -1183,7 +1158,7 @@ YY_RULE_SETUP
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
-#line 126 "gabc/gabc-score-determination.l"
+#line 128 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
@@ -1193,7 +1168,7 @@ YY_RULE_SETUP
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 131 "gabc/gabc-score-determination.l"
+#line 133 "gabc/gabc-score-determination.l"
{
BEGIN(INITIAL);
return SEMICOLON;
@@ -1201,7 +1176,7 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 135 "gabc/gabc-score-determination.l"
+#line 137 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.character = gabc_score_determination_text[5];
return DEF_MACRO;
@@ -1209,268 +1184,206 @@ YY_RULE_SETUP
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 139 "gabc/gabc-score-determination.l"
+#line 141 "gabc/gabc-score-determination.l"
{
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return NUMBER_OF_VOICES;
}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 142 "gabc/gabc-score-determination.l"
+#line 146 "gabc/gabc-score-determination.l"
{
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return NAME;
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 145 "gabc/gabc-score-determination.l"
+#line 151 "gabc/gabc-score-determination.l"
{
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return SCORE_COPYRIGHT;
}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 148 "gabc/gabc-score-determination.l"
+#line 156 "gabc/gabc-score-determination.l"
{
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return GABC_COPYRIGHT;
}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 151 "gabc/gabc-score-determination.l"
+#line 161 "gabc/gabc-score-determination.l"
{
- return OFFICE_PART;
+ /* DEPRECATED by 4.1 */
+ return INITIAL_STYLE;
}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 154 "gabc/gabc-score-determination.l"
+#line 165 "gabc/gabc-score-determination.l"
{
- return OCCASION;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return MODE;
}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 157 "gabc/gabc-score-determination.l"
+#line 170 "gabc/gabc-score-determination.l"
{
- return METER;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return MODE_MODIFIER;
}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 160 "gabc/gabc-score-determination.l"
+#line 175 "gabc/gabc-score-determination.l"
{
- return COMMENTARY;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return MODE_DIFFERENTIA;
}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 163 "gabc/gabc-score-determination.l"
+#line 180 "gabc/gabc-score-determination.l"
{
- return ARRANGER;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ANNOTATION;
}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 166 "gabc/gabc-score-determination.l"
+#line 185 "gabc/gabc-score-determination.l"
{
- return GABC_VERSION;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return AUTHOR;
}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 169 "gabc/gabc-score-determination.l"
+#line 190 "gabc/gabc-score-determination.l"
{
- return INITIAL_STYLE;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return LANGUAGE;
}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 172 "gabc/gabc-score-determination.l"
+#line 195 "gabc/gabc-score-determination.l"
{
- return MODE;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return STAFF_LINES;
}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 175 "gabc/gabc-score-determination.l"
+#line 200 "gabc/gabc-score-determination.l"
{
- return ANNOTATION;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return NABC_LINES;
}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 178 "gabc/gabc-score-determination.l"
+#line 205 "gabc/gabc-score-determination.l"
{
- return AUTHOR;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ORISCUS_ORIENTATION;
}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 181 "gabc/gabc-score-determination.l"
+#line 210 "gabc/gabc-score-determination.l"
{
- return DATE;
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return OTHER_HEADER;
}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 184 "gabc/gabc-score-determination.l"
-{
- return MANUSCRIPT;
- }
- YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 187 "gabc/gabc-score-determination.l"
-{
- return MANUSCRIPT_REFERENCE;
- }
- YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 190 "gabc/gabc-score-determination.l"
-{
- return MANUSCRIPT_STORAGE_PLACE;
- }
- YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 193 "gabc/gabc-score-determination.l"
-{
- return BOOK;
- }
- YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 196 "gabc/gabc-score-determination.l"
-{
- return TRANSCRIBER;
- }
- YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 199 "gabc/gabc-score-determination.l"
-{
- return GENERATED_BY;
- }
- YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 202 "gabc/gabc-score-determination.l"
-{
- return CENTERING_SCHEME;
- }
- YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 205 "gabc/gabc-score-determination.l"
-{
- return LANGUAGE;
- }
- YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 208 "gabc/gabc-score-determination.l"
-{
- return TRANSCRIPTION_DATE;
- }
- YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 211 "gabc/gabc-score-determination.l"
-{
- return STYLE;
- }
- YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 214 "gabc/gabc-score-determination.l"
-{
- return VIRGULA_POSITION;
- }
- YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 217 "gabc/gabc-score-determination.l"
-{
- return GREGORIOTEX_FONT;
- }
- YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 220 "gabc/gabc-score-determination.l"
-{
- return NABC_LINES;
- }
- YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 223 "gabc/gabc-score-determination.l"
-{
- return USER_NOTES;
- }
- YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 226 "gabc/gabc-score-determination.l"
+#line 215 "gabc/gabc-score-determination.l"
{
return VOICE_CHANGE;
}
YY_BREAK
-case 40:
-/* rule 40 can match eol */
+case 26:
+/* rule 26 can match eol */
YY_RULE_SETUP
-#line 229 "gabc/gabc-score-determination.l"
+#line 218 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return END_OF_DEFINITIONS;
}
YY_BREAK
-case 41:
+case 27:
YY_RULE_SETUP
-#line 233 "gabc/gabc-score-determination.l"
+#line 222 "gabc/gabc-score-determination.l"
{
gregorio_messagef("det_score", VERBOSITY_ERROR, 0,
_("unrecognized character: \"%c\" in definition part"),
gabc_score_determination_text[0]);
}
YY_BREAK
-case 42:
-/* rule 42 can match eol */
+case 28:
+/* rule 28 can match eol */
YY_RULE_SETUP
-#line 238 "gabc/gabc-score-determination.l"
+#line 227 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
YY_BREAK
-case 43:
+case 29:
YY_RULE_SETUP
-#line 243 "gabc/gabc-score-determination.l"
+#line 232 "gabc/gabc-score-determination.l"
+{
+ return HYPHEN;
+ }
+ YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 235 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return I_BEGINNING;
}
YY_BREAK
-case 44:
+case 31:
YY_RULE_SETUP
-#line 248 "gabc/gabc-score-determination.l"
+#line 240 "gabc/gabc-score-determination.l"
{
return BNLBA;
}
YY_BREAK
-case 45:
+case 32:
YY_RULE_SETUP
-#line 251 "gabc/gabc-score-determination.l"
+#line 243 "gabc/gabc-score-determination.l"
{
return ENLBA;
}
YY_BREAK
-case 46:
+case 33:
YY_RULE_SETUP
-#line 254 "gabc/gabc-score-determination.l"
+#line 246 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1479,18 +1392,18 @@ YY_RULE_SETUP
return I_END;
}
YY_BREAK
-case 47:
+case 34:
YY_RULE_SETUP
-#line 261 "gabc/gabc-score-determination.l"
+#line 253 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return TT_BEGINNING;
}
YY_BREAK
-case 48:
+case 35:
YY_RULE_SETUP
-#line 266 "gabc/gabc-score-determination.l"
+#line 258 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1499,18 +1412,18 @@ YY_RULE_SETUP
return TT_END;
}
YY_BREAK
-case 49:
+case 36:
YY_RULE_SETUP
-#line 273 "gabc/gabc-score-determination.l"
+#line 265 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return UL_BEGINNING;
}
YY_BREAK
-case 50:
+case 37:
YY_RULE_SETUP
-#line 278 "gabc/gabc-score-determination.l"
+#line 270 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1519,18 +1432,18 @@ YY_RULE_SETUP
return UL_END;
}
YY_BREAK
-case 51:
+case 38:
YY_RULE_SETUP
-#line 285 "gabc/gabc-score-determination.l"
+#line 277 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return C_BEGINNING;
}
YY_BREAK
-case 52:
+case 39:
YY_RULE_SETUP
-#line 290 "gabc/gabc-score-determination.l"
+#line 282 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1539,18 +1452,18 @@ YY_RULE_SETUP
return C_END;
}
YY_BREAK
-case 53:
+case 40:
YY_RULE_SETUP
-#line 297 "gabc/gabc-score-determination.l"
+#line 289 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return B_BEGINNING;
}
YY_BREAK
-case 54:
+case 41:
YY_RULE_SETUP
-#line 302 "gabc/gabc-score-determination.l"
+#line 294 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1559,18 +1472,18 @@ YY_RULE_SETUP
return B_END;
}
YY_BREAK
-case 55:
+case 42:
YY_RULE_SETUP
-#line 309 "gabc/gabc-score-determination.l"
+#line 301 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return SC_BEGINNING;
}
YY_BREAK
-case 56:
+case 43:
YY_RULE_SETUP
-#line 314 "gabc/gabc-score-determination.l"
+#line 306 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1579,18 +1492,18 @@ YY_RULE_SETUP
return SC_END;
}
YY_BREAK
-case 57:
+case 44:
YY_RULE_SETUP
-#line 321 "gabc/gabc-score-determination.l"
+#line 313 "gabc/gabc-score-determination.l"
{
BEGIN(style);
style_stack ++;
return SP_BEGINNING;
}
YY_BREAK
-case 58:
+case 45:
YY_RULE_SETUP
-#line 326 "gabc/gabc-score-determination.l"
+#line 318 "gabc/gabc-score-determination.l"
{
style_stack --;
if (style_stack == 0) {
@@ -1599,49 +1512,49 @@ YY_RULE_SETUP
return SP_END;
}
YY_BREAK
-case 59:
-/* rule 59 can match eol */
+case 46:
+/* rule 46 can match eol */
YY_RULE_SETUP
-#line 333 "gabc/gabc-score-determination.l"
+#line 325 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
YY_BREAK
-case 60:
+case 47:
YY_RULE_SETUP
-#line 338 "gabc/gabc-score-determination.l"
+#line 330 "gabc/gabc-score-determination.l"
{
BEGIN(comments);
}
YY_BREAK
-case 61:
-/* rule 61 can match eol */
+case 48:
+/* rule 48 can match eol */
YY_RULE_SETUP
-#line 341 "gabc/gabc-score-determination.l"
+#line 333 "gabc/gabc-score-determination.l"
{
BEGIN(score);
}
YY_BREAK
-case 62:
+case 49:
YY_RULE_SETUP
-#line 344 "gabc/gabc-score-determination.l"
+#line 336 "gabc/gabc-score-determination.l"
{
/* ignored */
}
YY_BREAK
-case 63:
+case 50:
YY_RULE_SETUP
-#line 347 "gabc/gabc-score-determination.l"
+#line 339 "gabc/gabc-score-determination.l"
{
BEGIN(verb);
return VERB_BEGINNING;
}
YY_BREAK
-case 64:
+case 51:
YY_RULE_SETUP
-#line 351 "gabc/gabc-score-determination.l"
+#line 343 "gabc/gabc-score-determination.l"
{
if (style_stack == 0) {
BEGIN(score);
@@ -1651,155 +1564,149 @@ YY_RULE_SETUP
return VERB_END;
}
YY_BREAK
-case 65:
-/* rule 65 can match eol */
+case 52:
+/* rule 52 can match eol */
YY_RULE_SETUP
-#line 359 "gabc/gabc-score-determination.l"
+#line 351 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
YY_BREAK
-case 66:
+case 53:
YY_RULE_SETUP
-#line 364 "gabc/gabc-score-determination.l"
+#line 356 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
YY_BREAK
-case 67:
+case 54:
YY_RULE_SETUP
-#line 369 "gabc/gabc-score-determination.l"
+#line 361 "gabc/gabc-score-determination.l"
{
return CENTER_BEGINNING;
}
YY_BREAK
-case 68:
+case 55:
YY_RULE_SETUP
-#line 372 "gabc/gabc-score-determination.l"
+#line 364 "gabc/gabc-score-determination.l"
{
return CENTER_END;
}
YY_BREAK
-case 69:
+case 56:
YY_RULE_SETUP
-#line 375 "gabc/gabc-score-determination.l"
+#line 367 "gabc/gabc-score-determination.l"
{
BEGIN(alt);
return ALT_BEGIN;
}
YY_BREAK
-case 70:
-/* rule 70 can match eol */
+case 57:
+/* rule 57 can match eol */
YY_RULE_SETUP
-#line 379 "gabc/gabc-score-determination.l"
+#line 371 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
YY_BREAK
-case 71:
+case 58:
YY_RULE_SETUP
-#line 384 "gabc/gabc-score-determination.l"
+#line 376 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return ALT_END;
}
YY_BREAK
-case 72:
+case 59:
YY_RULE_SETUP
-#line 388 "gabc/gabc-score-determination.l"
+#line 380 "gabc/gabc-score-determination.l"
{
return EUOUAE_B;
}
YY_BREAK
-case 73:
+case 60:
YY_RULE_SETUP
-#line 391 "gabc/gabc-score-determination.l"
+#line 383 "gabc/gabc-score-determination.l"
{
return EUOUAE_E;
}
YY_BREAK
-case 74:
+case 61:
YY_RULE_SETUP
-#line 394 "gabc/gabc-score-determination.l"
+#line 386 "gabc/gabc-score-determination.l"
{
return TRANSLATION_CENTER_END;
}
YY_BREAK
-case 75:
+case 62:
YY_RULE_SETUP
-#line 397 "gabc/gabc-score-determination.l"
+#line 389 "gabc/gabc-score-determination.l"
{
return TRANSLATION_BEGINNING;
}
YY_BREAK
-case 76:
+case 63:
YY_RULE_SETUP
-#line 400 "gabc/gabc-score-determination.l"
+#line 392 "gabc/gabc-score-determination.l"
{
return TRANSLATION_END;
}
YY_BREAK
-case 77:
+case 64:
YY_RULE_SETUP
-#line 403 "gabc/gabc-score-determination.l"
+#line 395 "gabc/gabc-score-determination.l"
{
BEGIN(notes);
return OPENING_BRACKET;
}
YY_BREAK
-case 78:
-/* rule 78 can match eol */
+case 65:
+/* rule 65 can match eol */
YY_RULE_SETUP
-#line 407 "gabc/gabc-score-determination.l"
+#line 399 "gabc/gabc-score-determination.l"
{
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return NOTES;
}
YY_BREAK
-case 79:
+case 66:
YY_RULE_SETUP
-#line 412 "gabc/gabc-score-determination.l"
+#line 404 "gabc/gabc-score-determination.l"
{
return VOICE_CUT;
}
YY_BREAK
-case 80:
+case 67:
YY_RULE_SETUP
-#line 415 "gabc/gabc-score-determination.l"
+#line 407 "gabc/gabc-score-determination.l"
{
return NABC_CUT;
}
YY_BREAK
-case 81:
+case 68:
YY_RULE_SETUP
-#line 418 "gabc/gabc-score-determination.l"
+#line 410 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return CLOSING_BRACKET;
}
YY_BREAK
-case 82:
-/* rule 82 can match eol */
+case 69:
+/* rule 69 can match eol */
YY_RULE_SETUP
-#line 422 "gabc/gabc-score-determination.l"
+#line 414 "gabc/gabc-score-determination.l"
{
BEGIN(score);
return CLOSING_BRACKET_WITH_SPACE;
}
YY_BREAK
-case 83:
-YY_RULE_SETUP
-#line 426 "gabc/gabc-score-determination.l"
-ECHO;
- YY_BREAK
-#line 1803 "gabc/gabc-score-determination-l.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(attribute):
case YY_STATE_EOF(score):
@@ -1809,7 +1716,22 @@ case YY_STATE_EOF(verb):
case YY_STATE_EOF(comments):
case YY_STATE_EOF(inicomments):
case YY_STATE_EOF(alt):
- yyterminate();
+#line 418 "gabc/gabc-score-determination.l"
+{
+ if (!eof_found) {
+ eof_found = true;
+ return END_OF_FILE;
+ } else {
+ yyterminate();
+ }
+ }
+ YY_BREAK
+case 70:
+YY_RULE_SETUP
+#line 426 "gabc/gabc-score-determination.l"
+ECHO;
+ YY_BREAK
+#line 1735 "gabc/gabc-score-determination-l.c"
case YY_END_OF_BUFFER:
{
@@ -2101,7 +2023,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 430 )
+ if ( yy_current_state >= 307 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2129,11 +2051,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 430 )
+ if ( yy_current_state >= 307 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 429);
+ yy_is_jam = (yy_current_state == 306);
return yy_is_jam ? 0 : yy_current_state;
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c
index f3ecdfb6f08..2f27b7c54d1 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.c
@@ -168,8 +168,9 @@ static int voice;
static gregorio_center_determination center_is_determined;
/* current_key is... the current key... updated by each notes determination
* (for key changes) */
-static int current_key = DEFAULT_KEY;
+static int current_key;
static bool got_language = false;
+static bool got_staff_lines = false;
static bool started_first_word = false;
static struct sha1_ctx digester;
@@ -187,7 +188,7 @@ static void gabc_score_determination_error(const char *error_str)
VERBOSITY_ERROR, 0);
}
-static void gabc_fix_custos(gregorio_score *score_to_check)
+static void fix_custos(gregorio_score *score_to_check)
{
gregorio_syllable *current_syllable;
gregorio_element *current_element;
@@ -200,7 +201,8 @@ static void gabc_fix_custos(gregorio_score *score_to_check)
|| !score_to_check->first_voice_info) {
return;
}
- current_key = score_to_check->first_voice_info->initial_key;
+ current_key = gregorio_calculate_new_key(
+ score_to_check->first_voice_info->initial_clef);
current_syllable = score_to_check->first_syllable;
while (current_syllable) {
current_element = (current_syllable->elements)[0];
@@ -210,55 +212,34 @@ static void gabc_fix_custos(gregorio_score *score_to_check)
pitch = custo_element->u.misc.pitched.pitch;
/* we look for the key */
while (current_element) {
- switch (current_element->type) {
- case GRE_C_KEY_CHANGE:
- case GRE_C_KEY_CHANGE_FLATED:
- pitch = gregorio_determine_next_pitch(current_syllable,
+ if (current_element->type == GRE_CLEF) {
+ pitch = gregorio_determine_next_pitch( current_syllable,
current_element, NULL);
- newkey = gregorio_calculate_new_key(C_KEY,
- current_element->u.misc.pitched.pitch - '0');
+ newkey = gregorio_calculate_new_key(
+ current_element->u.misc.clef);
pitch_difference = (char) newkey - (char) current_key;
pitch -= pitch_difference;
current_key = newkey;
- break;
- case GRE_F_KEY_CHANGE:
- case GRE_F_KEY_CHANGE_FLATED:
- pitch = gregorio_determine_next_pitch(current_syllable,
- current_element, NULL);
- newkey = gregorio_calculate_new_key(F_KEY,
- current_element->u.misc.pitched.pitch - '0');
- pitch_difference = (char) newkey - (char) current_key;
- pitch -= pitch_difference;
- current_key = newkey;
- break;
- default:
- break;
}
if (!custo_element->u.misc.pitched.force_pitch) {
while (pitch < LOWEST_PITCH) {
pitch += 7;
}
- while (pitch > HIGHEST_PITCH) {
+ while (pitch > score_to_check->highest_pitch) {
pitch -= 7;
}
custo_element->u.misc.pitched.pitch = pitch;
}
assert(custo_element->u.misc.pitched.pitch >= LOWEST_PITCH
&& custo_element->u.misc.pitched.pitch
- <= HIGHEST_PITCH);
+ <= score_to_check->highest_pitch);
current_element = current_element->next;
}
}
if (current_element) {
- if (current_element->type == GRE_C_KEY_CHANGE
- || current_element->type == GRE_C_KEY_CHANGE_FLATED) {
- current_key = gregorio_calculate_new_key(C_KEY,
- current_element->u.misc.pitched.pitch - '0');
- }
- if (current_element->type == GRE_F_KEY_CHANGE
- || current_element->type == GRE_F_KEY_CHANGE_FLATED) {
- current_key = gregorio_calculate_new_key(F_KEY,
- current_element->u.misc.pitched.pitch - '0');
+ if (current_element->type == GRE_CLEF) {
+ current_key = gregorio_calculate_new_key(
+ current_element->u.misc.clef);
}
current_element = current_element->next;
}
@@ -317,9 +298,12 @@ static void initialize_variables(void)
no_linebreak_area = NLBA_NORMAL;
euouae = EUOUAE_NORMAL;
center_is_determined = CENTER_NOT_DETERMINED;
+ current_key = gregorio_calculate_new_key(gregorio_default_clef);
for (i = 0; i < 10; i++) {
macros[i] = NULL;
}
+ got_language = false;
+ got_staff_lines = false;
started_first_word = false;
}
@@ -340,8 +324,7 @@ static void free_variables(void)
/* see whether a voice_info is empty */
static int voice_info_is_not_empty(const gregorio_voice_info *voice_info)
{
- return (voice_info->initial_key != 5 || voice_info->style
- || voice_info->virgula_position);
+ return (voice_info->initial_clef.line);
}
/*
@@ -492,24 +475,23 @@ static void gregorio_set_translation_center_beginning(
static void rebuild_characters(void)
{
- bool has_initial = score->initial_style != NO_INITIAL;
-
/* we rebuild the first syllable text if it is the first syllable, or if
* it is the second when the first has no text.
* it is a patch for cases like (c4) Al(ab)le(ab) */
- if ((!score->first_syllable && has_initial && current_character)
+ if ((!score->first_syllable && current_character)
|| (current_syllable && !current_syllable->previous_syllable
&& !current_syllable->text && current_character)) {
- gregorio_rebuild_first_syllable(&current_character, has_initial);
+ /* leave the first syllable text untouched at this time */
+ gregorio_go_to_first_character_c(&current_character);
started_first_word = true;
- }
-
- gregorio_rebuild_characters(&current_character, center_is_determined,
- has_initial);
+ } else {
+ gregorio_rebuild_characters(&current_character, center_is_determined,
+ false);
- if (started_first_word) {
- gregorio_set_first_word(&current_character);
+ if (started_first_word) {
+ gregorio_set_first_word(&current_character);
+ }
}
}
@@ -597,26 +579,6 @@ static void gregorio_gabc_add_text(char *mbcharacters)
}
/*
- * the function called when centering_scheme is seen in gabc
- */
-static void set_centering_scheme(char *sc)
-{
- gregorio_message("\"centering-scheme\" header is deprecated. Please use "
- "\\gresetlyriccentering in TeX instead.", "set_centering_scheme",
- VERBOSITY_DEPRECATION, 0);
- if (strncmp((const char *) sc, "latine", 6) == 0) {
- score->centering = SCHEME_VOWEL;
- return;
- }
- if (strncmp((const char *) sc, "english", 6) == 0) {
- score->centering = SCHEME_SYLLABLE;
- return;
- }
- gregorio_message("centering-scheme unknown value: must be \"latine\" "
- "or \"english\"", "set_centering_scheme", VERBOSITY_WARNING, 0);
-}
-
-/*
*
* The two functions called when lex returns a style, we simply add it. All the
* complex things will be done by the function after...
@@ -638,6 +600,96 @@ void gabc_digest(const void *const buf, const size_t size)
sha1_process_bytes(buf, size, &digester);
}
+static void determine_oriscus_orientation(gregorio_score *score) {
+ gregorio_syllable *syllable;
+ gregorio_element *element;
+ gregorio_glyph *glyph;
+ gregorio_note *note;
+ gregorio_note *oriscus = NULL;
+
+ for (syllable = score->first_syllable; syllable;
+ syllable = syllable->next_syllable) {
+ for (element = syllable->elements[0]; element;
+ element = element->next) {
+ if (element->type == GRE_ELEMENT) {
+ for (glyph = element->u.first_glyph; glyph;
+ glyph = glyph->next) {
+ if (glyph->type == GRE_GLYPH) {
+ for (note = glyph->u.notes.first_note; note;
+ note = note->next) {
+ if (note->type == GRE_NOTE) {
+ if (oriscus) {
+ if (note->u.note.pitch
+ < oriscus->u.note.pitch) {
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_DESCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_CAVUM_DESCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"),
+ "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ } else { /* ascending or the same */
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_ASCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_CAVUM_ASCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"),
+ "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ }
+ oriscus = NULL;
+ }
+
+ switch (note->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus = note;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (oriscus) {
+ /* oriscus at the end of the score */
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape = S_ORISCUS_DESCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"), "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ }
+}
+
/*
* The "main" function. It is the function that is called when we have to read
* a gabc file. It takes a file descriptor, that is to say a file that is
@@ -662,8 +714,11 @@ gregorio_score *gabc_read_score(FILE *f_in)
/* the flex/bison main call, it will build the score (that we have
* initialized) */
gabc_score_determination_parse();
- gregorio_fix_initial_keys(score, DEFAULT_KEY);
- gabc_fix_custos(score);
+ if (!score->legacy_oriscus_orientation) {
+ determine_oriscus_orientation(score);
+ }
+ gregorio_fix_initial_keys(score, gregorio_default_clef);
+ fix_custos(score);
free_variables();
/* the we check the validity and integrity of the score we have built. */
if (!check_score_integrity(score)) {
@@ -685,11 +740,11 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
if (nabc_state == 0) {
if (!elements[voice]) {
elements[voice] = gabc_det_elements_from_string(notes,
- &current_key, macros, &loc);
+ &current_key, macros, &loc, score);
current_element = elements[voice];
} else {
new_elements = gabc_det_elements_from_string(notes,
- &current_key, macros, &loc);
+ &current_key, macros, &loc, score);
last_element = elements[voice];
while(last_element->next) {
last_element = last_element->next;
@@ -716,7 +771,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
}
}
-#line 720 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
+#line 775 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
@@ -751,35 +806,35 @@ extern int gabc_score_determination_debug;
# define YYTOKENTYPE
enum yytokentype
{
- ATTRIBUTE = 258,
- COLON = 259,
- SEMICOLON = 260,
- OFFICE_PART = 261,
- ANNOTATION = 262,
- AUTHOR = 263,
- DATE = 264,
- MANUSCRIPT = 265,
- MANUSCRIPT_REFERENCE = 266,
- MANUSCRIPT_STORAGE_PLACE = 267,
- TRANSCRIBER = 268,
- TRANSCRIPTION_DATE = 269,
- BOOK = 270,
- STYLE = 271,
- VIRGULA_POSITION = 272,
- INITIAL_STYLE = 273,
- MODE = 274,
- GREGORIOTEX_FONT = 275,
- GENERATED_BY = 276,
- NAME = 277,
- OPENING_BRACKET = 278,
- NOTES = 279,
- VOICE_CUT = 280,
- CLOSING_BRACKET = 281,
- NUMBER_OF_VOICES = 282,
- VOICE_CHANGE = 283,
- END_OF_DEFINITIONS = 284,
- SPACE = 285,
- CHARACTERS = 286,
+ NAME = 258,
+ AUTHOR = 259,
+ GABC_COPYRIGHT = 260,
+ SCORE_COPYRIGHT = 261,
+ NUMBER_OF_VOICES = 262,
+ LANGUAGE = 263,
+ STAFF_LINES = 264,
+ ORISCUS_ORIENTATION = 265,
+ DEF_MACRO = 266,
+ OTHER_HEADER = 267,
+ ANNOTATION = 268,
+ MODE = 269,
+ MODE_MODIFIER = 270,
+ MODE_DIFFERENTIA = 271,
+ INITIAL_STYLE = 272,
+ VOICE_CUT = 273,
+ VOICE_CHANGE = 274,
+ END_OF_DEFINITIONS = 275,
+ END_OF_FILE = 276,
+ COLON = 277,
+ SEMICOLON = 278,
+ SPACE = 279,
+ CHARACTERS = 280,
+ NOTES = 281,
+ HYPHEN = 282,
+ ATTRIBUTE = 283,
+ OPENING_BRACKET = 284,
+ CLOSING_BRACKET = 285,
+ CLOSING_BRACKET_WITH_SPACE = 286,
I_BEGINNING = 287,
I_END = 288,
TT_BEGINNING = 289,
@@ -799,61 +854,49 @@ extern int gabc_score_determination_debug;
VERB_END = 303,
CENTER_BEGINNING = 304,
CENTER_END = 305,
- CLOSING_BRACKET_WITH_SPACE = 306,
- TRANSLATION_BEGINNING = 307,
- TRANSLATION_END = 308,
- GABC_COPYRIGHT = 309,
- SCORE_COPYRIGHT = 310,
- OCCASION = 311,
- METER = 312,
- COMMENTARY = 313,
- ARRANGER = 314,
- GABC_VERSION = 315,
- USER_NOTES = 316,
- DEF_MACRO = 317,
- ALT_BEGIN = 318,
- ALT_END = 319,
- CENTERING_SCHEME = 320,
- TRANSLATION_CENTER_END = 321,
- BNLBA = 322,
- ENLBA = 323,
- EUOUAE_B = 324,
- EUOUAE_E = 325,
- NABC_CUT = 326,
- NABC_LINES = 327,
- LANGUAGE = 328
+ TRANSLATION_BEGINNING = 306,
+ TRANSLATION_END = 307,
+ TRANSLATION_CENTER_END = 308,
+ ALT_BEGIN = 309,
+ ALT_END = 310,
+ BNLBA = 311,
+ ENLBA = 312,
+ EUOUAE_B = 313,
+ EUOUAE_E = 314,
+ NABC_CUT = 315,
+ NABC_LINES = 316
};
#endif
/* Tokens. */
-#define ATTRIBUTE 258
-#define COLON 259
-#define SEMICOLON 260
-#define OFFICE_PART 261
-#define ANNOTATION 262
-#define AUTHOR 263
-#define DATE 264
-#define MANUSCRIPT 265
-#define MANUSCRIPT_REFERENCE 266
-#define MANUSCRIPT_STORAGE_PLACE 267
-#define TRANSCRIBER 268
-#define TRANSCRIPTION_DATE 269
-#define BOOK 270
-#define STYLE 271
-#define VIRGULA_POSITION 272
-#define INITIAL_STYLE 273
-#define MODE 274
-#define GREGORIOTEX_FONT 275
-#define GENERATED_BY 276
-#define NAME 277
-#define OPENING_BRACKET 278
-#define NOTES 279
-#define VOICE_CUT 280
-#define CLOSING_BRACKET 281
-#define NUMBER_OF_VOICES 282
-#define VOICE_CHANGE 283
-#define END_OF_DEFINITIONS 284
-#define SPACE 285
-#define CHARACTERS 286
+#define NAME 258
+#define AUTHOR 259
+#define GABC_COPYRIGHT 260
+#define SCORE_COPYRIGHT 261
+#define NUMBER_OF_VOICES 262
+#define LANGUAGE 263
+#define STAFF_LINES 264
+#define ORISCUS_ORIENTATION 265
+#define DEF_MACRO 266
+#define OTHER_HEADER 267
+#define ANNOTATION 268
+#define MODE 269
+#define MODE_MODIFIER 270
+#define MODE_DIFFERENTIA 271
+#define INITIAL_STYLE 272
+#define VOICE_CUT 273
+#define VOICE_CHANGE 274
+#define END_OF_DEFINITIONS 275
+#define END_OF_FILE 276
+#define COLON 277
+#define SEMICOLON 278
+#define SPACE 279
+#define CHARACTERS 280
+#define NOTES 281
+#define HYPHEN 282
+#define ATTRIBUTE 283
+#define OPENING_BRACKET 284
+#define CLOSING_BRACKET 285
+#define CLOSING_BRACKET_WITH_SPACE 286
#define I_BEGINNING 287
#define I_END 288
#define TT_BEGINNING 289
@@ -873,29 +916,17 @@ extern int gabc_score_determination_debug;
#define VERB_END 303
#define CENTER_BEGINNING 304
#define CENTER_END 305
-#define CLOSING_BRACKET_WITH_SPACE 306
-#define TRANSLATION_BEGINNING 307
-#define TRANSLATION_END 308
-#define GABC_COPYRIGHT 309
-#define SCORE_COPYRIGHT 310
-#define OCCASION 311
-#define METER 312
-#define COMMENTARY 313
-#define ARRANGER 314
-#define GABC_VERSION 315
-#define USER_NOTES 316
-#define DEF_MACRO 317
-#define ALT_BEGIN 318
-#define ALT_END 319
-#define CENTERING_SCHEME 320
-#define TRANSLATION_CENTER_END 321
-#define BNLBA 322
-#define ENLBA 323
-#define EUOUAE_B 324
-#define EUOUAE_E 325
-#define NABC_CUT 326
-#define NABC_LINES 327
-#define LANGUAGE 328
+#define TRANSLATION_BEGINNING 306
+#define TRANSLATION_END 307
+#define TRANSLATION_CENTER_END 308
+#define ALT_BEGIN 309
+#define ALT_END 310
+#define BNLBA 311
+#define ENLBA 312
+#define EUOUAE_B 313
+#define EUOUAE_E 314
+#define NABC_CUT 315
+#define NABC_LINES 316
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -927,7 +958,7 @@ int gabc_score_determination_parse (void);
/* Copy the second part of user declarations. */
-#line 931 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
+#line 962 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -1171,21 +1202,21 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 4
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 194
+#define YYLAST 175
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 74
+#define YYNTOKENS 62
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 51
+#define YYNNTS 23
/* YYNRULES -- Number of rules. */
-#define YYNRULES 118
+#define YYNRULES 82
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 162
+#define YYNSTATES 117
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 328
+#define YYMAXUTOK 316
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1225,26 +1256,22 @@ static const yytype_uint8 yytranslate[] =
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73
+ 55, 56, 57, 58, 59, 60, 61
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 672, 672, 676, 681, 682, 686, 699, 706, 717,
- 724, 733, 740, 747, 757, 764, 771, 778, 785, 792,
- 802, 812, 823, 832, 843, 850, 857, 864, 872, 880,
- 887, 894, 902, 913, 926, 933, 939, 943, 949, 950,
- 951, 952, 953, 954, 955, 956, 957, 958, 959, 960,
- 961, 962, 963, 964, 965, 966, 967, 968, 969, 970,
- 971, 972, 973, 974, 975, 976, 977, 978, 979, 984,
- 985, 989, 1011, 1034, 1047, 1060, 1065, 1074, 1077, 1080,
- 1083, 1086, 1089, 1092, 1095, 1098, 1107, 1110, 1113, 1116,
- 1119, 1122, 1125, 1128, 1131, 1140, 1143, 1149, 1152, 1158,
- 1159, 1162, 1163, 1164, 1165, 1168, 1169, 1173, 1179, 1182,
- 1188, 1194, 1199, 1205, 1208, 1214, 1215, 1218, 1219
+ 0, 736, 736, 740, 745, 746, 750, 754, 760, 770,
+ 775, 784, 790, 795, 800, 805, 810, 815, 823, 831,
+ 841, 850, 855, 859, 862, 867, 868, 872, 894, 917,
+ 930, 943, 948, 957, 958, 959, 963, 966, 969, 972,
+ 975, 978, 981, 984, 987, 996, 999, 1002, 1005, 1008,
+ 1011, 1014, 1017, 1020, 1029, 1032, 1038, 1041, 1047, 1048,
+ 1051, 1052, 1053, 1054, 1058, 1061, 1066, 1067, 1068, 1072,
+ 1078, 1081, 1087, 1093, 1098, 1106, 1109, 1118, 1121, 1127,
+ 1128, 1131, 1132
};
#endif
@@ -1253,40 +1280,25 @@ static const yytype_uint16 yyrline[] =
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "ATTRIBUTE", "COLON", "SEMICOLON",
- "OFFICE_PART", "ANNOTATION", "AUTHOR", "DATE", "MANUSCRIPT",
- "MANUSCRIPT_REFERENCE", "MANUSCRIPT_STORAGE_PLACE", "TRANSCRIBER",
- "TRANSCRIPTION_DATE", "BOOK", "STYLE", "VIRGULA_POSITION",
- "INITIAL_STYLE", "MODE", "GREGORIOTEX_FONT", "GENERATED_BY", "NAME",
- "OPENING_BRACKET", "NOTES", "VOICE_CUT", "CLOSING_BRACKET",
- "NUMBER_OF_VOICES", "VOICE_CHANGE", "END_OF_DEFINITIONS", "SPACE",
- "CHARACTERS", "I_BEGINNING", "I_END", "TT_BEGINNING", "TT_END",
- "UL_BEGINNING", "UL_END", "C_BEGINNING", "C_END", "B_BEGINNING", "B_END",
- "SC_BEGINNING", "SC_END", "SP_BEGINNING", "SP_END", "VERB_BEGINNING",
- "VERB", "VERB_END", "CENTER_BEGINNING", "CENTER_END",
- "CLOSING_BRACKET_WITH_SPACE", "TRANSLATION_BEGINNING", "TRANSLATION_END",
- "GABC_COPYRIGHT", "SCORE_COPYRIGHT", "OCCASION", "METER", "COMMENTARY",
- "ARRANGER", "GABC_VERSION", "USER_NOTES", "DEF_MACRO", "ALT_BEGIN",
- "ALT_END", "CENTERING_SCHEME", "TRANSLATION_CENTER_END", "BNLBA",
- "ENLBA", "EUOUAE_B", "EUOUAE_E", "NABC_CUT", "NABC_LINES", "LANGUAGE",
- "$accept", "score", "all_definitions", "definitions",
- "number_of_voices_definition", "macro_definition", "name_definition",
- "centering_scheme_definition", "language_definition",
- "gabc_copyright_definition", "score_copyright_definition",
- "gregoriotex_font_definition", "office_part_definition",
- "occasion_definition", "meter_definition", "commentary_definition",
- "arranger_definition", "gabc_version_definition", "mode_definition",
- "nabc_lines_definition", "initial_style_definition",
- "annotation_definition", "author_definition", "date_definition",
- "manuscript_definition", "manuscript_reference_definition",
- "manuscript_storage_place_definition", "book_definition",
- "transcriber_definition", "transcription_date_definition",
- "style_definition", "virgula_position_definition",
- "generated_by_definition", "user_notes_definition", "attribute",
- "definition", "notes", "note", "style_beginning", "style_end", "euouae",
- "linebreak_area", "character", "text", "translation_beginning",
- "translation", "above_line_text", "syllable_with_notes",
- "notes_without_word", "syllable", "syllables", YY_NULLPTR
+ "$end", "error", "$undefined", "NAME", "AUTHOR", "GABC_COPYRIGHT",
+ "SCORE_COPYRIGHT", "NUMBER_OF_VOICES", "LANGUAGE", "STAFF_LINES",
+ "ORISCUS_ORIENTATION", "DEF_MACRO", "OTHER_HEADER", "ANNOTATION", "MODE",
+ "MODE_MODIFIER", "MODE_DIFFERENTIA", "INITIAL_STYLE", "VOICE_CUT",
+ "VOICE_CHANGE", "END_OF_DEFINITIONS", "END_OF_FILE", "COLON",
+ "SEMICOLON", "SPACE", "CHARACTERS", "NOTES", "HYPHEN", "ATTRIBUTE",
+ "OPENING_BRACKET", "CLOSING_BRACKET", "CLOSING_BRACKET_WITH_SPACE",
+ "I_BEGINNING", "I_END", "TT_BEGINNING", "TT_END", "UL_BEGINNING",
+ "UL_END", "C_BEGINNING", "C_END", "B_BEGINNING", "B_END", "SC_BEGINNING",
+ "SC_END", "SP_BEGINNING", "SP_END", "VERB_BEGINNING", "VERB", "VERB_END",
+ "CENTER_BEGINNING", "CENTER_END", "TRANSLATION_BEGINNING",
+ "TRANSLATION_END", "TRANSLATION_CENTER_END", "ALT_BEGIN", "ALT_END",
+ "BNLBA", "ENLBA", "EUOUAE_B", "EUOUAE_E", "NABC_CUT", "NABC_LINES",
+ "$accept", "score", "all_definitions", "definitions", "attribute",
+ "definition", "notes", "note", "closing_bracket_with_space",
+ "style_beginning", "style_end", "euouae", "linebreak_area", "character",
+ "text_hyphen", "text", "translation_beginning", "translation",
+ "above_line_text", "syllable_with_notes", "notes_without_word",
+ "syllable", "syllables", YY_NULLPTR
};
#endif
@@ -1301,15 +1313,14 @@ static const yytype_uint16 yytoknum[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328
+ 315, 316
};
# endif
-#define YYPACT_NINF -83
+#define YYPACT_NINF -55
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-83)))
+ (!!((Yystate) == (-55)))
#define YYTABLE_NINF -3
@@ -1320,23 +1331,18 @@ static const yytype_uint16 yytoknum[] =
STATE-NUM. */
static const yytype_int8 yypact[] =
{
- -83, 20, -83, -6, -83, 17, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, -83, -83, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, 53, -83, 2, -83, -83, -83, 21, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, 6,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -2, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- 8, -83, 93, -83, 28, -83, -7, -83, -83, -83,
- 6, -30, -83, -83, 6, -83, -83, -83, -83, -83,
- -83, 6
+ -55, 26, -55, -1, -55, 1, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, -55, -55, 5, -55, -55, -55, -55, 36, -55,
+ 2, -55, -55, -55, 0, -55, -55, -55, -55, -55,
+ -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
+ -55, -6, -55, -8, -55, -55, -55, -55, -55, -55,
+ -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
+ -55, -55, -55, 7, -55, -55, -55, -55, -55, -55,
+ -55, -55, -55, 99, 8, -55, 71, -55, -55, 6,
+ 4, 15, 17, -55, -55, -55, 10, -6, -15, -55,
+ -55, -55, -55, -55, -6, -55, -55, 15, -55, -55,
+ -55, -55, -6, -55, -55, -6, -6
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1344,153 +1350,127 @@ static const yytype_int8 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 117, 0, 1, 105, 0, 0, 0, 0,
+ 4, 0, 81, 0, 1, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 38, 40,
- 39, 66, 67, 41, 42, 64, 56, 57, 58, 59,
- 60, 61, 63, 52, 62, 55, 54, 53, 50, 49,
- 48, 51, 47, 46, 45, 44, 43, 65, 5, 69,
- 107, 109, 0, 105, 0, 115, 116, 118, 0, 14,
- 23, 24, 25, 26, 27, 28, 30, 31, 29, 32,
- 33, 22, 20, 13, 34, 8, 6, 11, 12, 15,
- 16, 17, 18, 19, 35, 7, 9, 21, 10, 113,
- 69, 100, 77, 86, 78, 87, 79, 88, 80, 89,
- 81, 90, 82, 91, 84, 93, 83, 92, 85, 94,
- 0, 97, 98, 95, 96, 101, 102, 104, 103, 106,
- 0, 99, 0, 69, 0, 37, 0, 75, 76, 70,
- 111, 0, 69, 108, 114, 36, 73, 71, 72, 74,
- 110, 112
+ 0, 24, 3, 0, 5, 25, 69, 71, 0, 66,
+ 0, 79, 80, 82, 0, 10, 21, 12, 13, 8,
+ 11, 17, 22, 9, 23, 20, 14, 15, 16, 19,
+ 18, 77, 59, 64, 25, 36, 45, 37, 46, 38,
+ 47, 39, 48, 40, 49, 41, 50, 43, 52, 42,
+ 51, 44, 53, 0, 56, 57, 54, 55, 60, 61,
+ 63, 62, 67, 0, 0, 58, 0, 25, 7, 0,
+ 0, 31, 33, 26, 32, 25, 0, 73, 0, 65,
+ 68, 25, 64, 70, 78, 6, 29, 27, 30, 28,
+ 35, 34, 74, 25, 72, 75, 76
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
- -83, -83, -83, -83, 157, -83, -82, -83, -83, -83,
- -83, -83, -83, -38, -83, -36, -83, -83, -83, -83,
- -83
+ -55, -55, -55, -55, 152, -55, -54, -55, -46, -55,
+ -55, -55, -55, -37, -55, 19, -55, -11, -55, -55,
+ -55, -55, -55
};
/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
+static const yytype_int8 yydefgoto[] =
{
- -1, 1, 2, 3, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 79, 68, 109, 149, 135, 136,
- 137, 138, 139, 72, 73, 74, 141, 75, 76, 77,
- 5
+ -1, 1, 2, 3, 35, 24, 51, 93, 94, 78,
+ 79, 80, 81, 82, 83, 28, 29, 30, 85, 31,
+ 32, 33, 5
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
-static const yytype_int16 yytable[] =
+static const yytype_int8 yytable[] =
{
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, -2, 156, 157,
- 4, 23, 24, 25, 144, 143, 145, 78, 150, 151,
- 146, 152, 147, 155, 160, 142, 140, 0, 0, 0,
- 69, 0, 0, 0, 158, 0, 0, 0, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, 148, 0, 35,
- 0, 154, 0, 0, 159, 0, 36, 37, 0, 70,
- 161, 0, 0, 0, 0, 0, 110, 0, 0, 0,
- 0, 0, 0, 71, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 0, 127, 128, 129, 0, 70, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 130, 0, 0, 71,
- 131, 132, 133, 134, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 0, 127, 128, 129, 0, 0, 153, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 130, 0, 0, 0,
- 131, 132, 133, 134, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 0, 0, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108
+ 97, -2, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 84, 21, 22,
+ 90, 95, 106, 88, 91, 92, 4, 34, 89, 105,
+ 25, 87, 98, 104, 107, 92, 110, 101, 111, 113,
+ 114, 112, 96, 26, 109, 27, 100, 115, 86, 0,
+ 0, 0, 26, 0, 27, 0, 0, 0, 0, 116,
+ 23, 52, 0, 53, 108, 54, 0, 0, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 0, 70, 71, 72, 26, 0, 27,
+ 73, 0, 74, 75, 76, 77, 52, 0, 102, 0,
+ 0, 0, 0, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 0, 70,
+ 71, 72, 0, 103, 52, 73, 99, 74, 75, 76,
+ 77, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 0, 70, 71, 72,
+ 0, 0, 0, 73, 0, 74, 75, 76, 77, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 50
};
-static const yytype_int16 yycheck[] =
+static const yytype_int8 yycheck[] =
{
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 0, 25, 26,
- 0, 27, 28, 29, 3, 23, 5, 4, 110, 31,
- 24, 23, 26, 5, 64, 73, 72, -1, -1, -1,
- 23, -1, -1, -1, 51, -1, -1, -1, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 51, -1, 65,
- -1, 143, -1, -1, 71, -1, 72, 73, -1, 52,
- 152, -1, -1, -1, -1, -1, 23, -1, -1, -1,
- -1, -1, -1, 66, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, -1, 52, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 63, -1, -1, 66,
- 67, 68, 69, 70, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- -1, 48, 49, 50, -1, -1, 53, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 63, -1, -1, -1,
- 67, 68, 69, 70, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, -1, -1, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37
+ 54, 0, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 28, 19, 20,
+ 26, 29, 18, 23, 30, 31, 0, 22, 28, 23,
+ 29, 29, 25, 87, 30, 31, 21, 29, 21, 29,
+ 55, 95, 53, 51, 90, 53, 83, 101, 29, -1,
+ -1, -1, 51, -1, 53, -1, -1, -1, -1, 113,
+ 61, 25, -1, 27, 60, 29, -1, -1, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, -1, 48, 49, 50, 51, -1, 53,
+ 54, -1, 56, 57, 58, 59, 25, -1, 27, -1,
+ -1, -1, -1, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
+ 49, 50, -1, 52, 25, 54, 27, 56, 57, 58,
+ 59, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
+ -1, -1, -1, 54, -1, 56, 57, 58, 59, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, -1, -1, 23
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 75, 76, 77, 0, 124, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 27, 28, 29, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 65, 72, 73, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 104, 105, 106, 107, 109, 23,
- 52, 66, 117, 118, 119, 121, 122, 123, 4, 108,
- 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 108, 108, 108, 108, 108, 108, 108, 108, 108, 110,
- 23, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 48, 49, 50,
- 63, 67, 68, 69, 70, 112, 113, 114, 115, 116,
- 119, 120, 117, 23, 3, 5, 24, 26, 51, 111,
- 110, 31, 23, 53, 110, 5, 25, 26, 51, 71,
- 64, 110
+ 0, 63, 64, 65, 0, 84, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 19, 20, 61, 67, 29, 51, 53, 77, 78,
+ 79, 81, 82, 83, 22, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 68, 25, 27, 29, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 48, 49, 50, 54, 56, 57, 58, 59, 71, 72,
+ 73, 74, 75, 76, 79, 80, 77, 29, 23, 28,
+ 26, 30, 31, 69, 70, 29, 79, 68, 25, 27,
+ 75, 29, 27, 52, 68, 23, 18, 30, 60, 70,
+ 21, 21, 68, 29, 55, 68, 68
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 74, 75, 76, 77, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 108, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
- 109, 109, 109, 109, 109, 109, 109, 109, 109, 110,
- 110, 111, 111, 111, 111, 111, 111, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 114, 114, 115, 115, 116,
- 116, 116, 116, 116, 116, 117, 117, 118, 119, 119,
- 120, 121, 121, 122, 122, 123, 123, 124, 124
+ 0, 62, 63, 64, 65, 65, 66, 66, 67, 67,
+ 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
+ 67, 67, 67, 67, 67, 68, 68, 69, 69, 69,
+ 69, 69, 69, 70, 70, 70, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 72, 72, 72, 72, 72,
+ 72, 72, 72, 72, 73, 73, 74, 74, 75, 75,
+ 75, 75, 75, 75, 76, 76, 77, 77, 77, 78,
+ 79, 79, 80, 81, 81, 81, 81, 82, 82, 83,
+ 83, 84, 84
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
- 0, 2, 2, 2, 0, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 0, 2, 2, 2, 0, 2, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 2, 1, 1,
+ 2, 2, 2, 2, 1, 0, 2, 2, 2, 2,
+ 2, 1, 1, 1, 2, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 2, 1, 3, 1,
- 3, 3, 4, 2, 3, 1, 1, 0, 2
+ 1, 1, 1, 1, 1, 2, 0, 2, 3, 1,
+ 3, 1, 3, 3, 4, 4, 5, 2, 3, 1,
+ 1, 0, 2
};
@@ -2076,7 +2056,7 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
/* User initialization code. */
-#line 646 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
+#line 701 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
{
yylloc.first_line = 1;
yylloc.first_column = 0;
@@ -2086,7 +2066,7 @@ yyparse (void)
yylloc.last_offset = 0;
}
-#line 2090 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
+#line 2070 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
yylsp[0] = yylloc;
goto yysetstate;
@@ -2273,351 +2253,221 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 676 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 740 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_definitions();
}
-#line 2281 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2261 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 6:
-#line 686 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 750 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
+ (yyval).text = (yyvsp[-1]).text;
+ }
+#line 2269 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 7:
+#line 754 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ (yyval).text = NULL;
+ }
+#line 2277 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 8:
+#line 760 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
number_of_voices=atoi((yyvsp[0]).text);
- free((yyvsp[0]).text);
if (number_of_voices > MAX_NUMBER_OF_VOICES) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("can't define %d voices, maximum is %d"),
number_of_voices, MAX_NUMBER_OF_VOICES);
}
- gregorio_set_score_number_of_voices (score, number_of_voices);
+ score->number_of_voices = number_of_voices;
}
-#line 2296 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2292 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 7:
-#line 699 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 9:
+#line 770 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
+ /* these definitions are not passed through */
free(macros[(yyvsp[-1]).character - '0']);
macros[(yyvsp[-1]).character - '0'] = (yyvsp[0]).text;
}
-#line 2305 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2302 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 8:
-#line 706 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 10:
+#line 775 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- if ((yyvsp[0]).text==NULL) {
+ if ((yyvsp[0]).text == NULL) {
gregorio_message("name can't be empty","det_score",
VERBOSITY_WARNING, 0);
}
check_multiple("name", score->name != NULL);
- gregorio_set_score_name (score, (yyvsp[0]).text);
- }
-#line 2318 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 9:
-#line 717 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- set_centering_scheme((yyvsp[0]).text);
- free((yyvsp[0]).text);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->name = (yyvsp[0]).text;
}
-#line 2327 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2316 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 10:
-#line 724 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 11:
+#line 784 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("language", got_language);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
gregorio_set_centering_language((yyvsp[0]).text);
- free((yyvsp[0]).text);
got_language = true;
}
-#line 2338 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 11:
-#line 733 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("gabc-copyright", score->gabc_copyright != NULL);
- gregorio_set_score_gabc_copyright (score, (yyvsp[0]).text);
- }
-#line 2347 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2327 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 12:
-#line 740 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 790 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- check_multiple("score_copyright", score->score_copyright != NULL);
- gregorio_set_score_score_copyright (score, (yyvsp[0]).text);
+ check_multiple("gabc-copyright", score->gabc_copyright != NULL);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->gabc_copyright = (yyvsp[0]).text;
}
-#line 2356 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2337 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 13:
-#line 747 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 795 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- gregorio_message("\"gregoriotex-font\" header is deprecated. "
- "Please use \\gresetgregoriofont in TeX instead.",
- "set_gregoriotex_font", VERBOSITY_DEPRECATION, 0);
- check_multiple("GregorioTeX font", score->gregoriotex_font != NULL);
- score->gregoriotex_font=(yyvsp[0]).text;
+ check_multiple("score_copyright", score->score_copyright != NULL);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->score_copyright = (yyvsp[0]).text;
}
-#line 2368 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2347 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 14:
-#line 757 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 800 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- check_multiple("office part", score->office_part != NULL);
- gregorio_set_score_office_part (score, (yyvsp[0]).text);
+ check_multiple("mode", score->mode != 0);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->mode = (yyvsp[0]).text;
}
-#line 2377 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2357 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 15:
-#line 764 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 805 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- check_multiple("occasion", score->occasion != NULL);
- gregorio_set_score_occasion (score, (yyvsp[0]).text);
+ check_multiple("mode-modifier", score->mode_modifier != NULL);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->mode_modifier = (yyvsp[0]).text;
}
-#line 2386 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2367 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 16:
-#line 771 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 810 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- check_multiple("meter", score->meter != NULL);
- gregorio_set_score_meter (score, (yyvsp[0]).text);
+ check_multiple("mode-differentia", score->mode_differentia != NULL);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->mode_differentia = (yyvsp[0]).text;
}
-#line 2395 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2377 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 17:
-#line 778 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("commentary", score->commentary != NULL);
- gregorio_set_score_commentary (score, (yyvsp[0]).text);
- }
-#line 2404 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 18:
-#line 785 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("arranger", score->arranger != NULL);
- gregorio_set_score_arranger (score, (yyvsp[0]).text);
- }
-#line 2413 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 19:
-#line 792 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 815 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- /* Deprecated */
- gregorio_message("\"gabc-version\" header is deprecated and will be "
- "ignored.", "gabc_score_determination_parse",
- VERBOSITY_DEPRECATION, 0);
- free((yyvsp[0]).text);
- }
-#line 2425 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 20:
-#line 802 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("mode", score->mode != 0);
+ check_multiple("staff-lines", got_staff_lines);
if ((yyvsp[0]).text) {
- score->mode=atoi((yyvsp[0]).text);
- free((yyvsp[0]).text);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ gregorio_set_score_staff_lines(score, atoi((yyvsp[0]).text));
+ got_staff_lines = true;
}
}
-#line 2437 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2390 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 21:
-#line 812 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 18:
+#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("nabc lines", score->nabc_lines != 0);
if ((yyvsp[0]).text) {
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
nabc_lines=atoi((yyvsp[0]).text);
score->nabc_lines=nabc_lines;
- free((yyvsp[0]).text);
}
}
-#line 2450 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2403 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 22:
-#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 19:
+#line 831 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if ((yyvsp[0]).text) {
- score->initial_style=atoi((yyvsp[0]).text);
+ /* DEPRECATED by 4.1 */
+ gregorio_message("\"initial-style\" header is deprecated. Please "
+ "use \\gresetinitiallines in TeX instead.",
+ "gabc_score_determination_parse", VERBOSITY_DEPRECATION, 0);
+ score->initial_style = atoi((yyvsp[0]).text);
free((yyvsp[0]).text);
}
}
-#line 2461 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2418 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 23:
-#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 20:
+#line 841 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (score->annotation [MAX_ANNOTATIONS - 1]) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("too many definitions of annotation found, only the "
"first %d will be taken"), MAX_ANNOTATIONS);
}
- gregorio_set_score_annotation (score, (yyvsp[0]).text);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ gregorio_set_score_annotation(score, (yyvsp[0]).text);
}
-#line 2474 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2432 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 24:
-#line 843 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("author", score->si.author != NULL);
- gregorio_set_score_author (score, (yyvsp[0]).text);
- }
-#line 2483 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 25:
+ case 21:
#line 850 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- check_multiple("date", score->si.date != NULL);
- gregorio_set_score_date (score, (yyvsp[0]).text);
- }
-#line 2492 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 26:
-#line 857 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("manuscript", score->si.manuscript != NULL);
- gregorio_set_score_manuscript (score, (yyvsp[0]).text);
+ check_multiple("author", score->author != NULL);
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->author = (yyvsp[0]).text;
}
-#line 2501 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2442 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 27:
-#line 864 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("manuscript-reference",
- score->si.manuscript_reference != NULL);
- gregorio_set_score_manuscript_reference (score, (yyvsp[0]).text);
- }
-#line 2511 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 28:
-#line 872 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("manuscript-storage-place",
- score->si.manuscript_storage_place != NULL);
- gregorio_set_score_manuscript_storage_place (score, (yyvsp[0]).text);
- }
-#line 2521 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 29:
-#line 880 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("book", score->si.book != NULL);
- gregorio_set_score_book (score, (yyvsp[0]).text);
- }
-#line 2530 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 30:
-#line 887 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("transcriber", score->si.transcriber != NULL);
- gregorio_set_score_transcriber (score, (yyvsp[0]).text);
- }
-#line 2539 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 31:
-#line 894 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- check_multiple("transcription date",
- score->si.transcription_date != NULL);
- gregorio_set_score_transcription_date (score, (yyvsp[0]).text);
- }
-#line 2549 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 32:
-#line 902 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- if (current_voice_info->style) {
- gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
- _("several definitions of style found for voice %d, only "
- "the last will be taken into consideration"), voice);
- }
- gregorio_set_voice_style (current_voice_info, (yyvsp[0]).text);
- }
-#line 2562 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 33:
-#line 913 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- if (current_voice_info->virgula_position) {
- gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
- _("several definitions of virgula position found for "
- "voice %d, only the last will be taken into consideration"),
- voice);
- }
- gregorio_set_voice_virgula_position (current_voice_info, (yyvsp[0]).text);
- }
-#line 2576 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 34:
-#line 926 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- /* set_voice_generated_by (current_voice_info, $2.text); */
- free((yyvsp[0]).text);
- }
-#line 2585 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 35:
-#line 933 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
- {
- gregorio_set_score_user_notes (score, (yyvsp[0]).text);
- }
-#line 2593 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
- break;
-
- case 36:
-#line 939 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 22:
+#line 855 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- (yyval).text = (yyvsp[-1]).text;
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
+ score->legacy_oriscus_orientation = (strcmp((yyvsp[0]).text, "legacy") == 0);
}
-#line 2601 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2451 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 37:
-#line 943 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 23:
+#line 859 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- (yyval).text = NULL;
+ gregorio_add_score_header(score, (yyvsp[-1]).text, (yyvsp[0]).text);
}
-#line 2609 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2459 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 68:
-#line 979 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 24:
+#line 862 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
next_voice_info();
}
-#line 2617 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2467 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 71:
-#line 989 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 27:
+#line 872 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2640,11 +2490,11 @@ yyreduce:
voice=0;
nabc_state=0;
}
-#line 2644 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2494 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 72:
-#line 1011 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 28:
+#line 894 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2668,11 +2518,11 @@ yyreduce:
nabc_state=0;
update_position_with_space();
}
-#line 2672 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2522 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 73:
-#line 1034 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 29:
+#line 917 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2686,11 +2536,11 @@ yyreduce:
number_of_voices), voice+1, number_of_voices);
}
}
-#line 2690 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2540 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 74:
-#line 1047 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 30:
+#line 930 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (!nabc_lines) {
gregorio_message(_("You used character \"|\" in gabc without "
@@ -2704,288 +2554,328 @@ yyreduce:
nabc_state = (nabc_state + 1) % (nabc_lines+1);
}
}
-#line 2708 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2558 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 75:
-#line 1060 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 31:
+#line 943 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
voice=0;
nabc_state=0;
}
-#line 2718 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2568 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 76:
-#line 1065 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 32:
+#line 948 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
voice=0;
nabc_state=0;
update_position_with_space();
}
-#line 2729 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2579 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 77:
-#line 1074 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 36:
+#line 963 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_ITALIC);
}
-#line 2737 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2587 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 78:
-#line 1077 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 37:
+#line 966 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_TT);
}
-#line 2745 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2595 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 79:
-#line 1080 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 38:
+#line 969 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_UNDERLINED);
}
-#line 2753 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2603 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 80:
-#line 1083 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 39:
+#line 972 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_COLORED);
}
-#line 2761 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2611 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 81:
-#line 1086 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 40:
+#line 975 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_BOLD);
}
-#line 2769 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2619 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 82:
-#line 1089 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 41:
+#line 978 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_SMALL_CAPS);
}
-#line 2777 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2627 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 83:
-#line 1092 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 42:
+#line 981 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_VERBATIM);
}
-#line 2785 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2635 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 84:
-#line 1095 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 43:
+#line 984 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_SPECIAL_CHAR);
}
-#line 2793 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2643 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 85:
-#line 1098 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 44:
+#line 987 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (!center_is_determined) {
gregorio_gabc_add_style(ST_FORCED_CENTER);
center_is_determined=CENTER_HALF_DETERMINED;
}
}
-#line 2804 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2654 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 86:
-#line 1107 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 45:
+#line 996 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_ITALIC);
}
-#line 2812 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2662 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 87:
-#line 1110 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 46:
+#line 999 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_TT);
}
-#line 2820 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2670 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 88:
-#line 1113 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 47:
+#line 1002 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_UNDERLINED);
}
-#line 2828 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2678 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 89:
-#line 1116 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 48:
+#line 1005 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_COLORED);
}
-#line 2836 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2686 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 90:
-#line 1119 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 49:
+#line 1008 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_BOLD);
}
-#line 2844 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2694 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 91:
-#line 1122 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 50:
+#line 1011 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_SMALL_CAPS);
}
-#line 2852 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2702 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 92:
-#line 1125 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 51:
+#line 1014 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_VERBATIM);
}
-#line 2860 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2710 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 93:
-#line 1128 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 52:
+#line 1017 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_SPECIAL_CHAR);
}
-#line 2868 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2718 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 94:
-#line 1131 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 53:
+#line 1020 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (center_is_determined==CENTER_HALF_DETERMINED) {
gregorio_gabc_end_style(ST_FORCED_CENTER);
center_is_determined=CENTER_FULLY_DETERMINED;
}
}
-#line 2879 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2729 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 95:
-#line 1140 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 54:
+#line 1029 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_BEGINNING;
}
-#line 2887 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2737 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 96:
-#line 1143 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 55:
+#line 1032 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_END;
}
-#line 2895 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2745 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 97:
-#line 1149 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 56:
+#line 1038 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_BEGINNING;
}
-#line 2903 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2753 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 98:
-#line 1152 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 57:
+#line 1041 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_END;
}
-#line 2911 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2761 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 100:
-#line 1159 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 59:
+#line 1048 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_text((yyvsp[0]).text);
}
-#line 2919 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2769 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 64:
+#line 1058 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ gregorio_gabc_add_text(gregorio_strdup("-"));
+ }
+#line 2777 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 65:
+#line 1061 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ gregorio_gabc_add_text(gregorio_strdup("-"));
+ }
+#line 2785 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 107:
-#line 1173 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 69:
+#line 1072 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_NORMAL);
}
-#line 2927 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2793 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 108:
-#line 1179 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 70:
+#line 1078 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_translation();
}
-#line 2935 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2801 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 109:
-#line 1182 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 71:
+#line 1081 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_WITH_CENTER_END);
}
-#line 2943 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2809 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 110:
-#line 1188 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 72:
+#line 1087 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
abovelinestext = (yyvsp[-1]).text;
}
-#line 2951 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2817 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 111:
-#line 1194 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 73:
+#line 1093 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
rebuild_characters();
first_text_character = current_character;
close_syllable(&(yylsp[-2]));
}
-#line 2961 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2827 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 112:
-#line 1199 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 74:
+#line 1098 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
+ gregorio_gabc_add_style(ST_VERBATIM);
+ gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen"));
+ gregorio_gabc_end_style(ST_VERBATIM);
+ rebuild_characters();
+ first_text_character = current_character;
close_syllable(&(yylsp[-3]));
}
-#line 2969 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2840 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 113:
-#line 1205 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 75:
+#line 1106 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ close_syllable(&(yylsp[-3]));
+ }
+#line 2848 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 76:
+#line 1109 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ {
+ gregorio_gabc_add_style(ST_VERBATIM);
+ gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen"));
+ gregorio_gabc_end_style(ST_VERBATIM);
+ close_syllable(&(yylsp[-4]));
+ }
+#line 2859 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+ break;
+
+ case 77:
+#line 1118 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2977 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2867 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
- case 114:
-#line 1208 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+ case 78:
+#line 1121 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2985 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2875 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
-#line 2989 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2879 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
index d68c9b6f591..7daec08eaf2 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination-y.h
@@ -45,35 +45,35 @@ extern int gabc_score_determination_debug;
# define YYTOKENTYPE
enum yytokentype
{
- ATTRIBUTE = 258,
- COLON = 259,
- SEMICOLON = 260,
- OFFICE_PART = 261,
- ANNOTATION = 262,
- AUTHOR = 263,
- DATE = 264,
- MANUSCRIPT = 265,
- MANUSCRIPT_REFERENCE = 266,
- MANUSCRIPT_STORAGE_PLACE = 267,
- TRANSCRIBER = 268,
- TRANSCRIPTION_DATE = 269,
- BOOK = 270,
- STYLE = 271,
- VIRGULA_POSITION = 272,
- INITIAL_STYLE = 273,
- MODE = 274,
- GREGORIOTEX_FONT = 275,
- GENERATED_BY = 276,
- NAME = 277,
- OPENING_BRACKET = 278,
- NOTES = 279,
- VOICE_CUT = 280,
- CLOSING_BRACKET = 281,
- NUMBER_OF_VOICES = 282,
- VOICE_CHANGE = 283,
- END_OF_DEFINITIONS = 284,
- SPACE = 285,
- CHARACTERS = 286,
+ NAME = 258,
+ AUTHOR = 259,
+ GABC_COPYRIGHT = 260,
+ SCORE_COPYRIGHT = 261,
+ NUMBER_OF_VOICES = 262,
+ LANGUAGE = 263,
+ STAFF_LINES = 264,
+ ORISCUS_ORIENTATION = 265,
+ DEF_MACRO = 266,
+ OTHER_HEADER = 267,
+ ANNOTATION = 268,
+ MODE = 269,
+ MODE_MODIFIER = 270,
+ MODE_DIFFERENTIA = 271,
+ INITIAL_STYLE = 272,
+ VOICE_CUT = 273,
+ VOICE_CHANGE = 274,
+ END_OF_DEFINITIONS = 275,
+ END_OF_FILE = 276,
+ COLON = 277,
+ SEMICOLON = 278,
+ SPACE = 279,
+ CHARACTERS = 280,
+ NOTES = 281,
+ HYPHEN = 282,
+ ATTRIBUTE = 283,
+ OPENING_BRACKET = 284,
+ CLOSING_BRACKET = 285,
+ CLOSING_BRACKET_WITH_SPACE = 286,
I_BEGINNING = 287,
I_END = 288,
TT_BEGINNING = 289,
@@ -93,61 +93,49 @@ extern int gabc_score_determination_debug;
VERB_END = 303,
CENTER_BEGINNING = 304,
CENTER_END = 305,
- CLOSING_BRACKET_WITH_SPACE = 306,
- TRANSLATION_BEGINNING = 307,
- TRANSLATION_END = 308,
- GABC_COPYRIGHT = 309,
- SCORE_COPYRIGHT = 310,
- OCCASION = 311,
- METER = 312,
- COMMENTARY = 313,
- ARRANGER = 314,
- GABC_VERSION = 315,
- USER_NOTES = 316,
- DEF_MACRO = 317,
- ALT_BEGIN = 318,
- ALT_END = 319,
- CENTERING_SCHEME = 320,
- TRANSLATION_CENTER_END = 321,
- BNLBA = 322,
- ENLBA = 323,
- EUOUAE_B = 324,
- EUOUAE_E = 325,
- NABC_CUT = 326,
- NABC_LINES = 327,
- LANGUAGE = 328
+ TRANSLATION_BEGINNING = 306,
+ TRANSLATION_END = 307,
+ TRANSLATION_CENTER_END = 308,
+ ALT_BEGIN = 309,
+ ALT_END = 310,
+ BNLBA = 311,
+ ENLBA = 312,
+ EUOUAE_B = 313,
+ EUOUAE_E = 314,
+ NABC_CUT = 315,
+ NABC_LINES = 316
};
#endif
/* Tokens. */
-#define ATTRIBUTE 258
-#define COLON 259
-#define SEMICOLON 260
-#define OFFICE_PART 261
-#define ANNOTATION 262
-#define AUTHOR 263
-#define DATE 264
-#define MANUSCRIPT 265
-#define MANUSCRIPT_REFERENCE 266
-#define MANUSCRIPT_STORAGE_PLACE 267
-#define TRANSCRIBER 268
-#define TRANSCRIPTION_DATE 269
-#define BOOK 270
-#define STYLE 271
-#define VIRGULA_POSITION 272
-#define INITIAL_STYLE 273
-#define MODE 274
-#define GREGORIOTEX_FONT 275
-#define GENERATED_BY 276
-#define NAME 277
-#define OPENING_BRACKET 278
-#define NOTES 279
-#define VOICE_CUT 280
-#define CLOSING_BRACKET 281
-#define NUMBER_OF_VOICES 282
-#define VOICE_CHANGE 283
-#define END_OF_DEFINITIONS 284
-#define SPACE 285
-#define CHARACTERS 286
+#define NAME 258
+#define AUTHOR 259
+#define GABC_COPYRIGHT 260
+#define SCORE_COPYRIGHT 261
+#define NUMBER_OF_VOICES 262
+#define LANGUAGE 263
+#define STAFF_LINES 264
+#define ORISCUS_ORIENTATION 265
+#define DEF_MACRO 266
+#define OTHER_HEADER 267
+#define ANNOTATION 268
+#define MODE 269
+#define MODE_MODIFIER 270
+#define MODE_DIFFERENTIA 271
+#define INITIAL_STYLE 272
+#define VOICE_CUT 273
+#define VOICE_CHANGE 274
+#define END_OF_DEFINITIONS 275
+#define END_OF_FILE 276
+#define COLON 277
+#define SEMICOLON 278
+#define SPACE 279
+#define CHARACTERS 280
+#define NOTES 281
+#define HYPHEN 282
+#define ATTRIBUTE 283
+#define OPENING_BRACKET 284
+#define CLOSING_BRACKET 285
+#define CLOSING_BRACKET_WITH_SPACE 286
#define I_BEGINNING 287
#define I_END 288
#define TT_BEGINNING 289
@@ -167,29 +155,17 @@ extern int gabc_score_determination_debug;
#define VERB_END 303
#define CENTER_BEGINNING 304
#define CENTER_END 305
-#define CLOSING_BRACKET_WITH_SPACE 306
-#define TRANSLATION_BEGINNING 307
-#define TRANSLATION_END 308
-#define GABC_COPYRIGHT 309
-#define SCORE_COPYRIGHT 310
-#define OCCASION 311
-#define METER 312
-#define COMMENTARY 313
-#define ARRANGER 314
-#define GABC_VERSION 315
-#define USER_NOTES 316
-#define DEF_MACRO 317
-#define ALT_BEGIN 318
-#define ALT_END 319
-#define CENTERING_SCHEME 320
-#define TRANSLATION_CENTER_END 321
-#define BNLBA 322
-#define ENLBA 323
-#define EUOUAE_B 324
-#define EUOUAE_E 325
-#define NABC_CUT 326
-#define NABC_LINES 327
-#define LANGUAGE 328
+#define TRANSLATION_BEGINNING 306
+#define TRANSLATION_END 307
+#define TRANSLATION_CENTER_END 308
+#define ALT_BEGIN 309
+#define ALT_END 310
+#define BNLBA 311
+#define ENLBA 312
+#define EUOUAE_B 313
+#define EUOUAE_E 314
+#define NABC_CUT 315
+#define NABC_LINES 316
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
index 1001a2f72a6..b0c695f383f 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.l
@@ -28,6 +28,7 @@
#include <string.h>
#include "struct.h"
#include "messages.h"
+#include "bool.h"
#include "support.h"
#include "gabc.h"
@@ -35,6 +36,7 @@
#include "gabc-score-determination-y.h"
static unsigned char style_stack = 0;
+static bool eof_found = false;
#define YY_NO_INPUT
@@ -137,91 +139,78 @@ semicolon. */
return DEF_MACRO;
}
<INITIAL>number-of-voices {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return NUMBER_OF_VOICES;
}
<INITIAL>name {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return NAME;
}
<INITIAL>score-copyright {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return SCORE_COPYRIGHT;
}
<INITIAL>gabc-copyright {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return GABC_COPYRIGHT;
}
-<INITIAL>office-part {
- return OFFICE_PART;
- }
-<INITIAL>occasion {
- return OCCASION;
- }
-<INITIAL>meter {
- return METER;
- }
-<INITIAL>commentary {
- return COMMENTARY;
- }
-<INITIAL>arranger {
- return ARRANGER;
- }
-<INITIAL>gabc-version {
- return GABC_VERSION;
- }
<INITIAL>initial-style {
+ /* DEPRECATED by 4.1 */
return INITIAL_STYLE;
}
<INITIAL>mode {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return MODE;
}
+<INITIAL>mode-modifier {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return MODE_MODIFIER;
+ }
+<INITIAL>mode-differentia {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return MODE_DIFFERENTIA;
+ }
<INITIAL>annotation {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return ANNOTATION;
}
<INITIAL>author {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return AUTHOR;
}
-<INITIAL>date {
- return DATE;
- }
-<INITIAL>manuscript {
- return MANUSCRIPT;
- }
-<INITIAL>manuscript-reference {
- return MANUSCRIPT_REFERENCE;
- }
-<INITIAL>manuscript-storage-place {
- return MANUSCRIPT_STORAGE_PLACE;
- }
-<INITIAL>book {
- return BOOK;
- }
-<INITIAL>transcriber {
- return TRANSCRIBER;
- }
-<INITIAL>generated-by {
- return GENERATED_BY;
- }
-<INITIAL>centering-scheme {
- return CENTERING_SCHEME;
- }
<INITIAL>language {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return LANGUAGE;
}
-<INITIAL>transcription-date {
- return TRANSCRIPTION_DATE;
- }
-<INITIAL>style {
- return STYLE;
- }
-<INITIAL>virgula-position {
- return VIRGULA_POSITION;
- }
-<INITIAL>gregoriotex-font {
- return GREGORIOTEX_FONT;
+<INITIAL>staff-lines {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return STAFF_LINES;
}
<INITIAL>nabc-lines {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
return NABC_LINES;
}
-<INITIAL>user-notes {
- return USER_NOTES;
+<INITIAL>oriscus-orientation {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return ORISCUS_ORIENTATION;
+ }
+<INITIAL>[A-Za-z0-9_]+(-[A-Za-z0-9_]+)* {
+ gabc_score_determination_lval.text =
+ gregorio_strdup(gabc_score_determination_text);
+ return OTHER_HEADER;
}
<INITIAL>--(.*) {
return VOICE_CHANGE;
@@ -235,11 +224,14 @@ semicolon. */
_("unrecognized character: \"%c\" in definition part"),
gabc_score_determination_text[0]);
}
-<score>[^\{\}\(\[\]<%]+ {
+<score>[^-\{\}\(\[\]<%]+ {
gabc_score_determination_lval.text =
gregorio_strdup(gabc_score_determination_text);
return CHARACTERS;
}
+<score>- {
+ return HYPHEN;
+ }
<score,style><i> {
BEGIN(style);
style_stack ++;
@@ -423,5 +415,13 @@ semicolon. */
BEGIN(score);
return CLOSING_BRACKET_WITH_SPACE;
}
+<<EOF>> {
+ if (!eof_found) {
+ eof_found = true;
+ return END_OF_FILE;
+ } else {
+ yyterminate();
+ }
+ }
%%
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
index fde1ecf2708..128236babd3 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.y
@@ -94,8 +94,9 @@ static int voice;
static gregorio_center_determination center_is_determined;
/* current_key is... the current key... updated by each notes determination
* (for key changes) */
-static int current_key = DEFAULT_KEY;
+static int current_key;
static bool got_language = false;
+static bool got_staff_lines = false;
static bool started_first_word = false;
static struct sha1_ctx digester;
@@ -113,7 +114,7 @@ static void gabc_score_determination_error(const char *error_str)
VERBOSITY_ERROR, 0);
}
-static void gabc_fix_custos(gregorio_score *score_to_check)
+static void fix_custos(gregorio_score *score_to_check)
{
gregorio_syllable *current_syllable;
gregorio_element *current_element;
@@ -126,7 +127,8 @@ static void gabc_fix_custos(gregorio_score *score_to_check)
|| !score_to_check->first_voice_info) {
return;
}
- current_key = score_to_check->first_voice_info->initial_key;
+ current_key = gregorio_calculate_new_key(
+ score_to_check->first_voice_info->initial_clef);
current_syllable = score_to_check->first_syllable;
while (current_syllable) {
current_element = (current_syllable->elements)[0];
@@ -136,55 +138,34 @@ static void gabc_fix_custos(gregorio_score *score_to_check)
pitch = custo_element->u.misc.pitched.pitch;
/* we look for the key */
while (current_element) {
- switch (current_element->type) {
- case GRE_C_KEY_CHANGE:
- case GRE_C_KEY_CHANGE_FLATED:
- pitch = gregorio_determine_next_pitch(current_syllable,
+ if (current_element->type == GRE_CLEF) {
+ pitch = gregorio_determine_next_pitch( current_syllable,
current_element, NULL);
- newkey = gregorio_calculate_new_key(C_KEY,
- current_element->u.misc.pitched.pitch - '0');
+ newkey = gregorio_calculate_new_key(
+ current_element->u.misc.clef);
pitch_difference = (char) newkey - (char) current_key;
pitch -= pitch_difference;
current_key = newkey;
- break;
- case GRE_F_KEY_CHANGE:
- case GRE_F_KEY_CHANGE_FLATED:
- pitch = gregorio_determine_next_pitch(current_syllable,
- current_element, NULL);
- newkey = gregorio_calculate_new_key(F_KEY,
- current_element->u.misc.pitched.pitch - '0');
- pitch_difference = (char) newkey - (char) current_key;
- pitch -= pitch_difference;
- current_key = newkey;
- break;
- default:
- break;
}
if (!custo_element->u.misc.pitched.force_pitch) {
while (pitch < LOWEST_PITCH) {
pitch += 7;
}
- while (pitch > HIGHEST_PITCH) {
+ while (pitch > score_to_check->highest_pitch) {
pitch -= 7;
}
custo_element->u.misc.pitched.pitch = pitch;
}
assert(custo_element->u.misc.pitched.pitch >= LOWEST_PITCH
&& custo_element->u.misc.pitched.pitch
- <= HIGHEST_PITCH);
+ <= score_to_check->highest_pitch);
current_element = current_element->next;
}
}
if (current_element) {
- if (current_element->type == GRE_C_KEY_CHANGE
- || current_element->type == GRE_C_KEY_CHANGE_FLATED) {
- current_key = gregorio_calculate_new_key(C_KEY,
- current_element->u.misc.pitched.pitch - '0');
- }
- if (current_element->type == GRE_F_KEY_CHANGE
- || current_element->type == GRE_F_KEY_CHANGE_FLATED) {
- current_key = gregorio_calculate_new_key(F_KEY,
- current_element->u.misc.pitched.pitch - '0');
+ if (current_element->type == GRE_CLEF) {
+ current_key = gregorio_calculate_new_key(
+ current_element->u.misc.clef);
}
current_element = current_element->next;
}
@@ -243,9 +224,12 @@ static void initialize_variables(void)
no_linebreak_area = NLBA_NORMAL;
euouae = EUOUAE_NORMAL;
center_is_determined = CENTER_NOT_DETERMINED;
+ current_key = gregorio_calculate_new_key(gregorio_default_clef);
for (i = 0; i < 10; i++) {
macros[i] = NULL;
}
+ got_language = false;
+ got_staff_lines = false;
started_first_word = false;
}
@@ -266,8 +250,7 @@ static void free_variables(void)
/* see whether a voice_info is empty */
static int voice_info_is_not_empty(const gregorio_voice_info *voice_info)
{
- return (voice_info->initial_key != 5 || voice_info->style
- || voice_info->virgula_position);
+ return (voice_info->initial_clef.line);
}
/*
@@ -418,24 +401,23 @@ static void gregorio_set_translation_center_beginning(
static void rebuild_characters(void)
{
- bool has_initial = score->initial_style != NO_INITIAL;
-
/* we rebuild the first syllable text if it is the first syllable, or if
* it is the second when the first has no text.
* it is a patch for cases like (c4) Al(ab)le(ab) */
- if ((!score->first_syllable && has_initial && current_character)
+ if ((!score->first_syllable && current_character)
|| (current_syllable && !current_syllable->previous_syllable
&& !current_syllable->text && current_character)) {
- gregorio_rebuild_first_syllable(&current_character, has_initial);
+ /* leave the first syllable text untouched at this time */
+ gregorio_go_to_first_character_c(&current_character);
started_first_word = true;
- }
-
- gregorio_rebuild_characters(&current_character, center_is_determined,
- has_initial);
+ } else {
+ gregorio_rebuild_characters(&current_character, center_is_determined,
+ false);
- if (started_first_word) {
- gregorio_set_first_word(&current_character);
+ if (started_first_word) {
+ gregorio_set_first_word(&current_character);
+ }
}
}
@@ -523,26 +505,6 @@ static void gregorio_gabc_add_text(char *mbcharacters)
}
/*
- * the function called when centering_scheme is seen in gabc
- */
-static void set_centering_scheme(char *sc)
-{
- gregorio_message("\"centering-scheme\" header is deprecated. Please use "
- "\\gresetlyriccentering in TeX instead.", "set_centering_scheme",
- VERBOSITY_DEPRECATION, 0);
- if (strncmp((const char *) sc, "latine", 6) == 0) {
- score->centering = SCHEME_VOWEL;
- return;
- }
- if (strncmp((const char *) sc, "english", 6) == 0) {
- score->centering = SCHEME_SYLLABLE;
- return;
- }
- gregorio_message("centering-scheme unknown value: must be \"latine\" "
- "or \"english\"", "set_centering_scheme", VERBOSITY_WARNING, 0);
-}
-
-/*
*
* The two functions called when lex returns a style, we simply add it. All the
* complex things will be done by the function after...
@@ -564,6 +526,96 @@ void gabc_digest(const void *const buf, const size_t size)
sha1_process_bytes(buf, size, &digester);
}
+static void determine_oriscus_orientation(gregorio_score *score) {
+ gregorio_syllable *syllable;
+ gregorio_element *element;
+ gregorio_glyph *glyph;
+ gregorio_note *note;
+ gregorio_note *oriscus = NULL;
+
+ for (syllable = score->first_syllable; syllable;
+ syllable = syllable->next_syllable) {
+ for (element = syllable->elements[0]; element;
+ element = element->next) {
+ if (element->type == GRE_ELEMENT) {
+ for (glyph = element->u.first_glyph; glyph;
+ glyph = glyph->next) {
+ if (glyph->type == GRE_GLYPH) {
+ for (note = glyph->u.notes.first_note; note;
+ note = note->next) {
+ if (note->type == GRE_NOTE) {
+ if (oriscus) {
+ if (note->u.note.pitch
+ < oriscus->u.note.pitch) {
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_DESCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_CAVUM_DESCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"),
+ "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ } else { /* ascending or the same */
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_ASCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape =
+ S_ORISCUS_CAVUM_ASCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"),
+ "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ }
+ oriscus = NULL;
+ }
+
+ switch (note->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus = note;
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (oriscus) {
+ /* oriscus at the end of the score */
+ switch(oriscus->u.note.shape) {
+ case S_ORISCUS_UNDETERMINED:
+ oriscus->u.note.shape = S_ORISCUS_DESCENDENS;
+ break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ oriscus->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
+ break;
+ default:
+ gregorio_message(_("bad shape"), "determine_oriscus_orientation",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
+ }
+}
+
/*
* The "main" function. It is the function that is called when we have to read
* a gabc file. It takes a file descriptor, that is to say a file that is
@@ -588,8 +640,11 @@ gregorio_score *gabc_read_score(FILE *f_in)
/* the flex/bison main call, it will build the score (that we have
* initialized) */
gabc_score_determination_parse();
- gregorio_fix_initial_keys(score, DEFAULT_KEY);
- gabc_fix_custos(score);
+ if (!score->legacy_oriscus_orientation) {
+ determine_oriscus_orientation(score);
+ }
+ gregorio_fix_initial_keys(score, gregorio_default_clef);
+ fix_custos(score);
free_variables();
/* the we check the validity and integrity of the score we have built. */
if (!check_score_integrity(score)) {
@@ -611,11 +666,11 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
if (nabc_state == 0) {
if (!elements[voice]) {
elements[voice] = gabc_det_elements_from_string(notes,
- &current_key, macros, &loc);
+ &current_key, macros, &loc, score);
current_element = elements[voice];
} else {
new_elements = gabc_det_elements_from_string(notes,
- &current_key, macros, &loc);
+ &current_key, macros, &loc, score);
last_element = elements[voice];
while(last_element->next) {
last_element = last_element->next;
@@ -652,19 +707,28 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
@$.last_offset = 0;
}
-%token ATTRIBUTE COLON SEMICOLON OFFICE_PART ANNOTATION AUTHOR DATE
-%token MANUSCRIPT MANUSCRIPT_REFERENCE MANUSCRIPT_STORAGE_PLACE TRANSCRIBER
-%token TRANSCRIPTION_DATE BOOK STYLE VIRGULA_POSITION INITIAL_STYLE MODE
-%token GREGORIOTEX_FONT GENERATED_BY NAME OPENING_BRACKET NOTES VOICE_CUT
-%token CLOSING_BRACKET NUMBER_OF_VOICES VOICE_CHANGE END_OF_DEFINITIONS SPACE
-%token CHARACTERS I_BEGINNING I_END TT_BEGINNING TT_END UL_BEGINNING UL_END
-%token C_BEGINNING C_END B_BEGINNING B_END SC_BEGINNING SC_END SP_BEGINNING
-%token SP_END VERB_BEGINNING VERB VERB_END CENTER_BEGINNING CENTER_END
-%token CLOSING_BRACKET_WITH_SPACE TRANSLATION_BEGINNING TRANSLATION_END
-%token GABC_COPYRIGHT SCORE_COPYRIGHT OCCASION METER COMMENTARY ARRANGER
-%token GABC_VERSION USER_NOTES DEF_MACRO ALT_BEGIN ALT_END CENTERING_SCHEME
-%token TRANSLATION_CENTER_END BNLBA ENLBA EUOUAE_B EUOUAE_E NABC_CUT NABC_LINES
-%token LANGUAGE
+%token NAME AUTHOR GABC_COPYRIGHT SCORE_COPYRIGHT
+%token NUMBER_OF_VOICES LANGUAGE STAFF_LINES ORISCUS_ORIENTATION
+%token DEF_MACRO OTHER_HEADER
+%token ANNOTATION MODE MODE_MODIFIER MODE_DIFFERENTIA
+%token INITIAL_STYLE /* DEPRECATED by 4.1 */
+%token VOICE_CUT VOICE_CHANGE END_OF_DEFINITIONS END_OF_FILE
+%token COLON SEMICOLON SPACE CHARACTERS NOTES HYPHEN ATTRIBUTE
+%token OPENING_BRACKET CLOSING_BRACKET CLOSING_BRACKET_WITH_SPACE
+%token I_BEGINNING I_END
+%token TT_BEGINNING TT_END
+%token UL_BEGINNING UL_END
+%token C_BEGINNING C_END
+%token B_BEGINNING B_END
+%token SC_BEGINNING SC_END
+%token SP_BEGINNING SP_END
+%token VERB_BEGINNING VERB VERB_END
+%token CENTER_BEGINNING CENTER_END
+%token TRANSLATION_BEGINNING TRANSLATION_END TRANSLATION_CENTER_END
+%token ALT_BEGIN ALT_END
+%token BNLBA ENLBA
+%token EUOUAE_B EUOUAE_E
+%token NABC_CUT NABC_LINES
%%
@@ -682,300 +746,119 @@ definitions:
| definitions definition
;
-number_of_voices_definition:
+attribute:
+ COLON ATTRIBUTE SEMICOLON {
+ $$.text = $2.text;
+ }
+ |
+ COLON SEMICOLON {
+ $$.text = NULL;
+ }
+ ;
+
+definition:
NUMBER_OF_VOICES attribute {
+ gregorio_add_score_header(score, $1.text, $2.text);
number_of_voices=atoi($2.text);
- free($2.text);
if (number_of_voices > MAX_NUMBER_OF_VOICES) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("can't define %d voices, maximum is %d"),
number_of_voices, MAX_NUMBER_OF_VOICES);
}
- gregorio_set_score_number_of_voices (score, number_of_voices);
+ score->number_of_voices = number_of_voices;
}
- ;
-
-macro_definition:
- DEF_MACRO attribute {
+ | DEF_MACRO attribute {
+ /* these definitions are not passed through */
free(macros[$1.character - '0']);
macros[$1.character - '0'] = $2.text;
}
- ;
-
-name_definition:
- NAME attribute {
- if ($2.text==NULL) {
+ | NAME attribute {
+ if ($2.text == NULL) {
gregorio_message("name can't be empty","det_score",
VERBOSITY_WARNING, 0);
}
check_multiple("name", score->name != NULL);
- gregorio_set_score_name (score, $2.text);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->name = $2.text;
}
- ;
-
-centering_scheme_definition:
- CENTERING_SCHEME attribute {
- set_centering_scheme($2.text);
- free($2.text);
- }
- ;
-
-language_definition:
- LANGUAGE attribute {
+ | LANGUAGE attribute {
check_multiple("language", got_language);
+ gregorio_add_score_header(score, $1.text, $2.text);
gregorio_set_centering_language($2.text);
- free($2.text);
got_language = true;
}
- ;
-
-gabc_copyright_definition:
- GABC_COPYRIGHT attribute {
+ | GABC_COPYRIGHT attribute {
check_multiple("gabc-copyright", score->gabc_copyright != NULL);
- gregorio_set_score_gabc_copyright (score, $2.text);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->gabc_copyright = $2.text;
}
- ;
-
-score_copyright_definition:
- SCORE_COPYRIGHT attribute {
+ | SCORE_COPYRIGHT attribute {
check_multiple("score_copyright", score->score_copyright != NULL);
- gregorio_set_score_score_copyright (score, $2.text);
- }
- ;
-
-gregoriotex_font_definition:
- GREGORIOTEX_FONT attribute {
- gregorio_message("\"gregoriotex-font\" header is deprecated. "
- "Please use \\gresetgregoriofont in TeX instead.",
- "set_gregoriotex_font", VERBOSITY_DEPRECATION, 0);
- check_multiple("GregorioTeX font", score->gregoriotex_font != NULL);
- score->gregoriotex_font=$2.text;
- }
- ;
-
-office_part_definition:
- OFFICE_PART attribute {
- check_multiple("office part", score->office_part != NULL);
- gregorio_set_score_office_part (score, $2.text);
- }
- ;
-
-occasion_definition:
- OCCASION attribute {
- check_multiple("occasion", score->occasion != NULL);
- gregorio_set_score_occasion (score, $2.text);
- }
- ;
-
-meter_definition:
- METER attribute {
- check_multiple("meter", score->meter != NULL);
- gregorio_set_score_meter (score, $2.text);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->score_copyright = $2.text;
}
- ;
-
-commentary_definition:
- COMMENTARY attribute {
- check_multiple("commentary", score->commentary != NULL);
- gregorio_set_score_commentary (score, $2.text);
+ | MODE attribute {
+ check_multiple("mode", score->mode != 0);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->mode = $2.text;
}
- ;
-
-arranger_definition:
- ARRANGER attribute {
- check_multiple("arranger", score->arranger != NULL);
- gregorio_set_score_arranger (score, $2.text);
+ | MODE_MODIFIER attribute {
+ check_multiple("mode-modifier", score->mode_modifier != NULL);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->mode_modifier = $2.text;
}
- ;
-
-gabc_version_definition:
- GABC_VERSION attribute {
- /* Deprecated */
- gregorio_message("\"gabc-version\" header is deprecated and will be "
- "ignored.", "gabc_score_determination_parse",
- VERBOSITY_DEPRECATION, 0);
- free($2.text);
+ | MODE_DIFFERENTIA attribute {
+ check_multiple("mode-differentia", score->mode_differentia != NULL);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->mode_differentia = $2.text;
}
- ;
-
-mode_definition:
- MODE attribute {
- check_multiple("mode", score->mode != 0);
+ | STAFF_LINES attribute {
+ check_multiple("staff-lines", got_staff_lines);
if ($2.text) {
- score->mode=atoi($2.text);
- free($2.text);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ gregorio_set_score_staff_lines(score, atoi($2.text));
+ got_staff_lines = true;
}
}
- ;
-
-nabc_lines_definition:
- NABC_LINES attribute {
+ | NABC_LINES attribute {
check_multiple("nabc lines", score->nabc_lines != 0);
if ($2.text) {
+ gregorio_add_score_header(score, $1.text, $2.text);
nabc_lines=atoi($2.text);
score->nabc_lines=nabc_lines;
- free($2.text);
}
}
- ;
-
-initial_style_definition:
- INITIAL_STYLE attribute {
+ | INITIAL_STYLE attribute {
if ($2.text) {
- score->initial_style=atoi($2.text);
+ /* DEPRECATED by 4.1 */
+ gregorio_message("\"initial-style\" header is deprecated. Please "
+ "use \\gresetinitiallines in TeX instead.",
+ "gabc_score_determination_parse", VERBOSITY_DEPRECATION, 0);
+ score->initial_style = atoi($2.text);
free($2.text);
}
}
- ;
-
-annotation_definition:
- ANNOTATION attribute {
+ | ANNOTATION attribute {
if (score->annotation [MAX_ANNOTATIONS - 1]) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("too many definitions of annotation found, only the "
"first %d will be taken"), MAX_ANNOTATIONS);
}
- gregorio_set_score_annotation (score, $2.text);
- }
- ;
-
-author_definition:
- AUTHOR attribute {
- check_multiple("author", score->si.author != NULL);
- gregorio_set_score_author (score, $2.text);
- }
- ;
-
-date_definition:
- DATE attribute {
- check_multiple("date", score->si.date != NULL);
- gregorio_set_score_date (score, $2.text);
- }
- ;
-
-manuscript_definition:
- MANUSCRIPT attribute {
- check_multiple("manuscript", score->si.manuscript != NULL);
- gregorio_set_score_manuscript (score, $2.text);
- }
- ;
-
-manuscript_reference_definition:
- MANUSCRIPT_REFERENCE attribute {
- check_multiple("manuscript-reference",
- score->si.manuscript_reference != NULL);
- gregorio_set_score_manuscript_reference (score, $2.text);
- }
- ;
-
-manuscript_storage_place_definition:
- MANUSCRIPT_STORAGE_PLACE attribute {
- check_multiple("manuscript-storage-place",
- score->si.manuscript_storage_place != NULL);
- gregorio_set_score_manuscript_storage_place (score, $2.text);
- }
- ;
-
-book_definition:
- BOOK attribute {
- check_multiple("book", score->si.book != NULL);
- gregorio_set_score_book (score, $2.text);
- }
- ;
-
-transcriber_definition:
- TRANSCRIBER attribute {
- check_multiple("transcriber", score->si.transcriber != NULL);
- gregorio_set_score_transcriber (score, $2.text);
- }
- ;
-
-transcription_date_definition:
- TRANSCRIPTION_DATE attribute {
- check_multiple("transcription date",
- score->si.transcription_date != NULL);
- gregorio_set_score_transcription_date (score, $2.text);
- }
- ;
-
-style_definition:
- STYLE attribute {
- if (current_voice_info->style) {
- gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
- _("several definitions of style found for voice %d, only "
- "the last will be taken into consideration"), voice);
- }
- gregorio_set_voice_style (current_voice_info, $2.text);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ gregorio_set_score_annotation(score, $2.text);
}
- ;
-
-virgula_position_definition:
- VIRGULA_POSITION attribute {
- if (current_voice_info->virgula_position) {
- gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
- _("several definitions of virgula position found for "
- "voice %d, only the last will be taken into consideration"),
- voice);
- }
- gregorio_set_voice_virgula_position (current_voice_info, $2.text);
- }
- ;
-
-
-generated_by_definition:
- GENERATED_BY attribute {
- /* set_voice_generated_by (current_voice_info, $2.text); */
- free($2.text);
+ | AUTHOR attribute {
+ check_multiple("author", score->author != NULL);
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->author = $2.text;
}
- ;
-
-user_notes_definition:
- USER_NOTES attribute {
- gregorio_set_score_user_notes (score, $2.text);
+ | ORISCUS_ORIENTATION attribute {
+ gregorio_add_score_header(score, $1.text, $2.text);
+ score->legacy_oriscus_orientation = (strcmp($2.text, "legacy") == 0);
}
- ;
-
-attribute:
- COLON ATTRIBUTE SEMICOLON {
- $$.text = $2.text;
- }
- |
- COLON SEMICOLON {
- $$.text = NULL;
+ | OTHER_HEADER attribute {
+ gregorio_add_score_header(score, $1.text, $2.text);
}
- ;
-
-definition:
- number_of_voices_definition
- | name_definition
- | macro_definition
- | gabc_copyright_definition
- | score_copyright_definition
- | generated_by_definition
- | virgula_position_definition
- | style_definition
- | transcription_date_definition
- | transcriber_definition
- | manuscript_storage_place_definition
- | manuscript_reference_definition
- | manuscript_definition
- | book_definition
- | nabc_lines_definition
- | date_definition
- | author_definition
- | annotation_definition
- | office_part_definition
- | occasion_definition
- | meter_definition
- | commentary_definition
- | arranger_definition
- | gabc_version_definition
- | initial_style_definition
- | mode_definition
- | gregoriotex_font_definition
- | user_notes_definition
- | centering_scheme_definition
- | language_definition
| VOICE_CHANGE {
next_voice_info();
}
@@ -1008,7 +891,7 @@ note:
voice=0;
nabc_state=0;
}
- | NOTES CLOSING_BRACKET_WITH_SPACE {
+ | NOTES closing_bracket_with_space {
if (voice<number_of_voices) {
gabc_y_add_notes($1.text, @1);
free($1.text);
@@ -1062,7 +945,7 @@ note:
voice=0;
nabc_state=0;
}
- | CLOSING_BRACKET_WITH_SPACE {
+ | closing_bracket_with_space {
elements[voice]=NULL;
voice=0;
nabc_state=0;
@@ -1070,6 +953,12 @@ note:
}
;
+closing_bracket_with_space:
+ CLOSING_BRACKET_WITH_SPACE
+ | CLOSING_BRACKET_WITH_SPACE END_OF_FILE
+ | CLOSING_BRACKET END_OF_FILE
+ ;
+
style_beginning:
I_BEGINNING {
gregorio_gabc_add_style(ST_ITALIC);
@@ -1165,8 +1054,18 @@ character:
| euouae
;
+text_hyphen:
+ HYPHEN {
+ gregorio_gabc_add_text(gregorio_strdup("-"));
+ }
+ | text_hyphen HYPHEN {
+ gregorio_gabc_add_text(gregorio_strdup("-"));
+ }
+ ;
+
text:
| text character
+ | text text_hyphen character
;
translation_beginning:
@@ -1196,9 +1095,23 @@ syllable_with_notes:
first_text_character = current_character;
close_syllable(&@1);
}
+ | text HYPHEN OPENING_BRACKET notes {
+ gregorio_gabc_add_style(ST_VERBATIM);
+ gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen"));
+ gregorio_gabc_end_style(ST_VERBATIM);
+ rebuild_characters();
+ first_text_character = current_character;
+ close_syllable(&@1);
+ }
| text translation OPENING_BRACKET notes {
close_syllable(&@1);
}
+ | text HYPHEN translation OPENING_BRACKET notes {
+ gregorio_gabc_add_style(ST_VERBATIM);
+ gregorio_gabc_add_text(gregorio_strdup("\\GreForceHyphen"));
+ gregorio_gabc_end_style(ST_VERBATIM);
+ close_syllable(&@1);
+ }
;
notes_without_word:
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
index bd733a2af8d..24c21512e10 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-write.c
@@ -37,7 +37,18 @@
#include "gabc.h"
static __inline char pitch_letter(const char height) {
- return height + 'a' - LOWEST_PITCH;
+ char result = height + 'a' - LOWEST_PITCH;
+ if (result == 'o') {
+ return 'p';
+ }
+ return result;
+}
+
+static __inline void unsupported(const char *fn, const char *type,
+ const char *value)
+{
+ gregorio_messagef(fn, VERBOSITY_ERROR, 0, _("unsupported %s %s"), type,
+ value);
}
/*
@@ -57,22 +68,6 @@ static void gabc_write_str_attribute(FILE *f, const char *name,
*
*/
-static void gabc_write_voice_info(FILE *f, gregorio_voice_info *voice_info)
-{
- if (!voice_info) {
- gregorio_message(_("no voice info"), "gabc_write_voice_info",
- VERBOSITY_WARNING, 0);
- return;
- }
- if (voice_info->style) {
- fprintf(f, "style: %s;\n", voice_info->style);
- }
- if (voice_info->virgula_position) {
- fprintf(f, "virgula-position: %s;\n", voice_info->virgula_position);
- }
- /* The clef, voice_info->initial_key, is now output in the gabc proper. */
-}
-
/*
*
* Then we start the functions made to write the text of the syllable. See
@@ -107,7 +102,16 @@ static void gabc_write_begin(FILE *f, grestyle_style style)
case ST_UNDERLINED:
fprintf(f, "<ul>");
break;
+ case ST_INITIAL:
+ case ST_CENTER:
+ case ST_FIRST_WORD:
+ case ST_FIRST_SYLLABLE:
+ case ST_FIRST_SYLLABLE_INITIAL:
+ /* nothing should be emitted for these */
+ break;
default:
+ unsupported("gabc_write_begin", "style",
+ grestyle_style_to_string(style));
break;
}
}
@@ -142,7 +146,16 @@ static void gabc_write_end(FILE *f, grestyle_style style)
case ST_UNDERLINED:
fprintf(f, "</ul>");
break;
+ case ST_INITIAL:
+ case ST_CENTER:
+ case ST_FIRST_WORD:
+ case ST_FIRST_SYLLABLE:
+ case ST_FIRST_SYLLABLE_INITIAL:
+ /* nothing should be emitted for these */
+ break;
default:
+ unsupported("gabc_write_end", "style",
+ grestyle_style_to_string(style));
break;
}
}
@@ -196,23 +209,16 @@ static void gabc_print_char(FILE *f, grewchar to_print)
static void gabc_write_end_liquescentia(FILE *f, char liquescentia)
{
- if (liquescentia == L_NO_LIQUESCENTIA) {
- return;
- }
- if (liquescentia == L_DEMINUTUS
- || liquescentia == L_DEMINUTUS_INITIO_DEBILIS) {
+ switch (liquescentia & TAIL_LIQUESCENTIA_MASK) {
+ case L_DEMINUTUS:
fprintf(f, "~");
- }
- if (liquescentia == L_AUCTUS_ASCENDENS
- || liquescentia == L_AUCTUS_ASCENDENS_INITIO_DEBILIS) {
+ break;
+ case L_AUCTUS_ASCENDENS:
fprintf(f, "<");
- }
- if (liquescentia == L_AUCTUS_DESCENDENS
- || liquescentia == L_AUCTUS_DESCENDENS_INITIO_DEBILIS) {
+ break;
+ case L_AUCTUS_DESCENDENS:
fprintf(f, ">");
- }
- if (liquescentia == L_AUCTA || liquescentia == L_AUCTA_INITIO_DEBILIS) {
- fprintf(f, "<");
+ break;
}
}
@@ -222,13 +228,13 @@ static void gabc_write_end_liquescentia(FILE *f, char liquescentia)
*
*/
-static void gabc_write_key_change(FILE *f, char step, int line,
- bool flatted_key)
+static void gabc_write_clef(FILE *f, gregorio_clef_info clef)
{
- if (flatted_key) {
- fprintf(f, "%cb%d", step, line);
- } else {
- fprintf(f, "%c%d", step, line);
+ fprintf(f, "%c%s%d", clef.clef == CLEF_C? 'c' : 'f', clef.flatted? "b" : "",
+ clef.line);
+ if (clef.secondary_line) {
+ fprintf(f, "@%c%s%d", clef.secondary_clef == CLEF_C? 'c' : 'f',
+ clef.secondary_flatted? "b" : "", clef.secondary_line);
}
}
@@ -238,31 +244,42 @@ static void gabc_write_key_change(FILE *f, char step, int line,
*
*/
-static void gabc_write_space(FILE *f, char type)
+static void gabc_write_space(FILE *f, gregorio_space type, char *factor,
+ bool next_is_space)
{
switch (type) {
+ case SP_NEUMATIC_CUT:
+ if (next_is_space) {
+ /* if the following is not a space, we omit this because the
+ * code always puts a "/" between elements unless there is some
+ * other space there */
+ fprintf (f, "/");
+ }
+ break;
case SP_LARGER_SPACE:
fprintf(f, "//");
break;
case SP_GLYPH_SPACE:
fprintf(f, " ");
break;
+ case SP_AD_HOC_SPACE:
+ fprintf(f, "/[%s]", factor);
+ break;
+ case SP_NEUMATIC_CUT_NB:
+ fprintf(f, "!/");
+ break;
case SP_LARGER_SPACE_NB:
fprintf(f, "!//");
break;
case SP_GLYPH_SPACE_NB:
fprintf(f, "! ");
break;
- case SP_NEUMATIC_CUT_NB:
- fprintf(f, "!/");
- break;
- case SP_NEUMATIC_CUT:
- /* do not uncomment it, the code is strangely done but it works */
- /* fprintf (f, "/"); */
+ case SP_AD_HOC_SPACE_NB:
+ fprintf(f, "!/[%s]", factor);
break;
default:
- gregorio_message(_("space type is unknown"), "gabc_write_space",
- VERBOSITY_ERROR, 0);
+ unsupported("gabc_write_space", "space type",
+ gregorio_space_to_string(type));
break;
}
}
@@ -273,7 +290,7 @@ static void gabc_write_space(FILE *f, char type)
*
*/
-static void gabc_write_bar(FILE *f, char type)
+static void gabc_write_bar(FILE *f, gregorio_bar type)
{
switch (type) {
case B_VIRGULA:
@@ -309,16 +326,22 @@ static void gabc_write_bar(FILE *f, char type)
case B_DIVISIO_MINOR_D6:
fprintf(f, ";6");
break;
+ case B_DIVISIO_MINOR_D7:
+ fprintf(f, ";7");
+ break;
+ case B_DIVISIO_MINOR_D8:
+ fprintf(f, ";8");
+ break;
default:
- gregorio_message(_("unknown bar type, nothing will be done"),
- "gabc_bar_to_str", VERBOSITY_ERROR, 0);
+ unsupported("gabc_write_bar", "bar type",
+ gregorio_bar_to_string(type));
break;
}
}
/* writing the signs of a bar */
-static void gabc_write_bar_signs(FILE *f, char type)
+static void gabc_write_bar_signs(FILE *f, gregorio_sign type)
{
switch (type) {
case _V_EPISEMA:
@@ -330,7 +353,12 @@ static void gabc_write_bar_signs(FILE *f, char type)
case _BAR_H_EPISEMA:
fprintf(f, "_");
break;
+ case _NO_SIGN:
+ /* if there's no sign, don't emit anything */
+ break;
default:
+ unsupported("gabc_write_bar_signs", "bar signs",
+ gregorio_sign_to_string(type));
break;
}
}
@@ -355,6 +383,10 @@ static void gabc_hepisema(FILE *f, const char *prefix, bool connect,
case H_NORMAL:
/* nothing to print */
break;
+ default:
+ unsupported("gabc_hepisema", "hepisema size",
+ grehepisema_size_to_string(size));
+ break;
}
}
@@ -379,10 +411,21 @@ static const char *mora_vposition(gregorio_note *note)
case VPOS_BELOW:
return "0";
default:
+ unsupported("mora_vposition", "vposition",
+ gregorio_vposition_to_string(note->mora_vposition));
return "";
}
}
+static void write_note_heuristics(FILE *f, gregorio_note *note) {
+ if (note->explicit_high_ledger_line) {
+ fprintf(f, "[hl:%c]", note->supposed_high_ledger_line? '1' : '0');
+ }
+ if (note->explicit_low_ledger_line) {
+ fprintf(f, "[ll:%c]", note->supposed_low_ledger_line? '1' : '0');
+ }
+}
+
/*
*
* The function that writes one gregorio_note.
@@ -437,6 +480,15 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
fprintf(f, "%cr<", toupper((unsigned char)pitch_letter(note->u.note.pitch)));
break;
+ case S_FLAT:
+ fprintf(f, "%cx", pitch_letter(note->u.note.pitch));
+ break;
+ case S_NATURAL:
+ fprintf(f, "%cy", pitch_letter(note->u.note.pitch));
+ break;
+ case S_SHARP:
+ fprintf(f, "%c#", pitch_letter(note->u.note.pitch));
+ break;
case S_VIRGA:
fprintf(f, "%cv", pitch_letter(note->u.note.pitch));
break;
@@ -449,16 +501,17 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case S_TRIVIRGA:
fprintf(f, "%cvvv", pitch_letter(note->u.note.pitch));
break;
- case S_ORISCUS:
- fprintf(f, "%co", pitch_letter(note->u.note.pitch));
- break;
- case S_ORISCUS_AUCTUS:
- fprintf(f, "%co", pitch_letter(note->u.note.pitch));
- /* we consider that the AUCTUS is also in the liquescentia */
- break;
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
case S_ORISCUS_DEMINUTUS:
fprintf(f, "%co", pitch_letter(note->u.note.pitch));
- /* we consider that the AUCTUS is also in the liquescentia */
+ /* Note: the ASCENDENS, DESCENDENS, or DEMINUTUS is also in the liquescentia */
+ break;
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ fprintf(f, "%cor", pitch_letter(note->u.note.pitch));
+ /* Note: the ASCENDENS, DESCENDENS, or DEMINUTUS is also in the liquescentia */
break;
case S_QUILISMA:
fprintf(f, "%cw", pitch_letter(note->u.note.pitch));
@@ -503,6 +556,8 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
fprintf(f, "%cq", pitch_letter(note->u.note.pitch));
break;
default:
+ unsupported("gabc_write_gregorio_note", "shape",
+ gregorio_shape_to_string(shape));
fprintf(f, "%c", pitch_letter(note->u.note.pitch));
break;
}
@@ -522,7 +577,12 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case _V_EPISEMA_AUCTUM_DUPLEX:
fprintf(f, "'%s..", vepisema_position(note));
break;
+ case _NO_SIGN:
+ /* if there's no sign, don't emit anything */
+ break;
default:
+ unsupported("gabc_write_gregorio_note", "shape signs",
+ gregorio_sign_to_string(note->signs));
break;
}
switch (note->special_sign) {
@@ -541,7 +601,12 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
case _SEMI_CIRCULUS_REVERSUS:
fprintf(f, "r5");
break;
+ case _NO_SIGN:
+ /* if there's no sign, don't emit anything */
+ break;
default:
+ unsupported("gabc_write_gregorio_note", "special sign",
+ gregorio_sign_to_string(note->special_sign));
break;
}
if (note->h_episema_above == HEPISEMA_AUTO
@@ -558,6 +623,7 @@ static void gabc_write_gregorio_note(FILE *f, gregorio_note *note,
note->h_episema_above_size);
}
}
+ write_note_heuristics(f, note);
if (note->texverb) {
fprintf(f, "[nv:%s]", note->texverb);
}
@@ -582,23 +648,25 @@ static void gabc_write_gregorio_glyph(FILE *f, gregorio_glyph *glyph)
return;
}
switch (glyph->type) {
- case GRE_FLAT:
- fprintf(f, "%cx", pitch_letter(glyph->u.misc.pitched.pitch));
- break;
case GRE_TEXVERB_GLYPH:
if (glyph->texverb) {
fprintf(f, "[gv:%s]", glyph->texverb);
}
break;
- case GRE_NATURAL:
- fprintf(f, "%cy", pitch_letter(glyph->u.misc.pitched.pitch));
- break;
- case GRE_SHARP:
- fprintf(f, "%c#", pitch_letter(glyph->u.misc.pitched.pitch));
- break;
case GRE_SPACE:
- if (glyph->u.misc.unpitched.info.space == SP_ZERO_WIDTH && glyph->next) {
- fprintf(f, "!");
+ if (glyph->next) {
+ switch (glyph->u.misc.unpitched.info.space) {
+ case SP_ZERO_WIDTH:
+ fprintf(f, "!");
+ break;
+ case SP_HALF_SPACE:
+ fprintf(f, "/0");
+ break;
+ default:
+ gregorio_message(_("bad space"), "gabc_write_gregorio_glyph",
+ VERBOSITY_ERROR, 0);
+ break;
+ }
} else {
gregorio_message(_("bad space"), "gabc_write_gregorio_glyph",
VERBOSITY_ERROR, 0);
@@ -610,6 +678,8 @@ static void gabc_write_gregorio_glyph(FILE *f, gregorio_glyph *glyph)
case GRE_GLYPH:
if (is_initio_debilis(glyph->u.notes.liquescentia)) {
fprintf(f, "-");
+ } else if (is_fused(glyph->u.notes.liquescentia)) {
+ fprintf(f, "@");
}
current_note = glyph->u.notes.first_note;
@@ -621,9 +691,8 @@ static void gabc_write_gregorio_glyph(FILE *f, gregorio_glyph *glyph)
gabc_write_end_liquescentia(f, glyph->u.notes.liquescentia);
break;
default:
-
- gregorio_message(_("call with an argument which type is unknown"),
- "gabc_write_gregorio_glyph", VERBOSITY_ERROR, 0);
+ unsupported("gabc_write_gregorio_glyph", "glyph type",
+ gregorio_type_to_string(glyph->type));
break;
}
}
@@ -664,24 +733,27 @@ static void gabc_write_gregorio_element(FILE *f, gregorio_element *element)
}
break;
case GRE_SPACE:
- gabc_write_space(f, element->u.misc.unpitched.info.space);
+ gabc_write_space(f, element->u.misc.unpitched.info.space,
+ element->u.misc.unpitched.info.ad_hoc_space_factor,
+ element->next && element->next->type == GRE_SPACE);
break;
case GRE_BAR:
gabc_write_bar(f, element->u.misc.unpitched.info.bar);
gabc_write_bar_signs(f, element->u.misc.unpitched.special_sign);
break;
- case GRE_C_KEY_CHANGE:
- gabc_write_key_change(f, C_KEY,
- element->u.misc.pitched.pitch - '0',
- element->u.misc.pitched.flatted_key);
- break;
- case GRE_F_KEY_CHANGE:
- gabc_write_key_change(f, F_KEY,
- element->u.misc.pitched.pitch - '0',
- element->u.misc.pitched.flatted_key);
+ case GRE_CLEF:
+ gabc_write_clef(f, element->u.misc.clef);
break;
case GRE_END_OF_LINE:
- fprintf(f, "z");
+ if (element->u.misc.unpitched.info.eol_ragged) {
+ fprintf(f, "Z");
+ } else {
+ fprintf(f, "z");
+ }
+ if (element->u.misc.unpitched.info.eol_forces_custos) {
+ fprintf(f, element->u.misc.unpitched.info.eol_forces_custos_on? "+"
+ : "-");
+ }
break;
case GRE_CUSTOS:
if (element->u.misc.pitched.force_pitch) {
@@ -691,8 +763,8 @@ static void gabc_write_gregorio_element(FILE *f, gregorio_element *element)
}
break;
default:
- gregorio_message(_("call with an argument which type is unknown"),
- "gabc_write_gregorio_element", VERBOSITY_ERROR, 0);
+ unsupported("gabc_write_gregorio_element", "element type",
+ gregorio_type_to_string(element->type));
break;
}
}
@@ -712,8 +784,7 @@ static void gabc_write_gregorio_elements(FILE *f, gregorio_element *element)
/* we don't want a bar after an end of line */
if (element->type != GRE_END_OF_LINE
&& (element->type != GRE_SPACE
- || (element->type == GRE_SPACE
- && element->u.misc.unpitched.info.space == SP_NEUMATIC_CUT))
+ || element->u.misc.unpitched.info.space == SP_NEUMATIC_CUT)
&& element->next && element->next->type == GRE_ELEMENT) {
fprintf(f, "/");
}
@@ -739,19 +810,15 @@ static void gabc_write_gregorio_syllable(FILE *f, gregorio_syllable *syllable,
if (syllable->text) {
/* we call the magic function (defined in struct_utils.c), that will
* write our text. */
- gregorio_write_text(false, syllable->text, f,
- (&gabc_write_verb),
- (&gabc_print_char),
- (&gabc_write_begin),
- (&gabc_write_end), (&gabc_write_special_char));
+ gregorio_write_text(WTP_NORMAL, syllable->text, f, &gabc_write_verb,
+ &gabc_print_char, &gabc_write_begin, &gabc_write_end,
+ &gabc_write_special_char);
}
if (syllable->translation) {
fprintf(f, "[");
- gregorio_write_text(false, syllable->translation, f,
- (&gabc_write_verb),
- (&gabc_print_char),
- (&gabc_write_begin),
- (&gabc_write_end), (&gabc_write_special_char));
+ gregorio_write_text(WTP_NORMAL, syllable->translation, f,
+ &gabc_write_verb, &gabc_print_char, &gabc_write_begin,
+ &gabc_write_end, &gabc_write_special_char);
fprintf(f, "]");
}
fprintf(f, "(");
@@ -784,10 +851,8 @@ static void gabc_write_gregorio_syllable(FILE *f, gregorio_syllable *syllable,
void gabc_write_score(FILE *f, gregorio_score *score)
{
- char step;
- int line;
gregorio_syllable *syllable;
- int annotation_num;
+ gregorio_header *header;
if (!f) {
gregorio_message(_("call with NULL file"), "gregoriotex_write_score",
@@ -795,62 +860,21 @@ void gabc_write_score(FILE *f, gregorio_score *score)
return;
}
- if (score->name) {
- gabc_write_str_attribute(f, "name", score->name);
- } else {
- fprintf(f, "name: unknown;\n");
- gregorio_message(_("name is mandatory"), "gabc_write_score",
- VERBOSITY_ERROR, 0);
+ for (header = score->headers; header; header = header->next) {
+ gabc_write_str_attribute(f, header->name, header->value);
}
- gabc_write_str_attribute(f, "gabc-copyright", score->gabc_copyright);
- gabc_write_str_attribute(f, "score-copyright", score->score_copyright);
- gabc_write_str_attribute(f, "office-part", score->office_part);
- gabc_write_str_attribute(f, "occasion", score->occasion);
- gabc_write_str_attribute(f, "meter", score->meter);
- gabc_write_str_attribute(f, "commentary", score->commentary);
- gabc_write_str_attribute(f, "arranger", score->arranger);
- /* We always create gabc of the current version; this is not derived
- * from the input. */
- fprintf(f, "gabc-version: %s;\n", GABC_CURRENT_VERSION);
/* And since the gabc is generated by this program, note this. */
fprintf(f, "generated-by: %s %s;\n", "gregorio", GREGORIO_VERSION);
- gabc_write_str_attribute(f, "author", score->si.author);
- gabc_write_str_attribute(f, "date", score->si.date);
- gabc_write_str_attribute(f, "manuscript", score->si.manuscript);
- gabc_write_str_attribute(f, "manuscript-reference",
- score->si.manuscript_reference);
- gabc_write_str_attribute(f, "manuscript-storage-place",
- score->si.manuscript_storage_place);
- gabc_write_str_attribute(f, "book", score->si.book);
- gabc_write_str_attribute(f, "transcriber", score->si.transcriber);
- gabc_write_str_attribute(f, "transcription-date",
- score->si.transcription_date);
- gabc_write_str_attribute(f, "gregoriotex-font", score->gregoriotex_font);
- if (score->mode) {
- fprintf(f, "mode: %d;\n", score->mode);
- }
- for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS; ++annotation_num) {
- if (score->annotation[annotation_num]) {
- fprintf(f, "annotation: %s;\n",
- score->annotation[annotation_num]);
- }
- }
- if (score->initial_style != NORMAL_INITIAL) {
- fprintf(f, "initial-style: %d;\n", score->initial_style);
- }
- gabc_write_str_attribute(f, "user-notes", score->user_notes);
if (score->number_of_voices == 0) {
gregorio_message(_("gregorio_score seems to be empty"),
"gabc_write_score", VERBOSITY_ERROR, 0);
return;
}
if (score->number_of_voices == 1) {
- gabc_write_voice_info(f, score->first_voice_info);
fprintf(f, "%%%%\n");
} else {
gregorio_voice_info *voice_info = score->first_voice_info;
while (voice_info) {
- gabc_write_voice_info(f, voice_info);
if (voice_info->next_voice_info) {
fprintf(f, "--\n");
} else {
@@ -859,12 +883,10 @@ void gabc_write_score(FILE *f, gregorio_score *score)
}
}
/* at present we only allow for one clef at the start of the gabc */
- gregorio_det_step_and_line_from_key(score->first_voice_info->initial_key,
- &step, &line);
- if (score->first_voice_info->flatted_key) {
- fprintf(f, "(%cb%d)", step, line);
- } else {
- fprintf(f, "(%c%d)", step, line);
+ if (score->first_voice_info) {
+ fprintf(f, "(");
+ gabc_write_clef(f, score->first_voice_info->initial_clef);
+ fprintf(f, ")");
}
syllable = score->first_syllable;
/* the we write every syllable */
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
index 73c7f64f60a..ecb75be6b22 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc.h
@@ -29,11 +29,12 @@
/* functions to read gabc */
gregorio_note *gabc_det_notes_from_string(char *str, char *macros[10],
- gregorio_scanner_location *loc);
+ gregorio_scanner_location *loc, const gregorio_score *score);
gregorio_element *gabc_det_elements_from_string(char *str, int *current_key,
- char *macros[10], gregorio_scanner_location *loc);
+ char *macros[10], gregorio_scanner_location *loc,
+ const gregorio_score *const score);
gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
- int *current_key);
+ int *current_key, const gregorio_score *score);
void gabc_digest(const void *buf, size_t size);
int gabc_score_determination_lex_destroy(void);
int gabc_notes_determination_lex_destroy(void);
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c b/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
index d6c8c0a8953..d03e8046ef5 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregorio-utils.c
@@ -67,8 +67,16 @@ typedef enum gregorio_file_format {
/* _MAX_PATH is being passed for the maxLength (third) argument of _fullpath,
* but we are always passing NULL for the absPath (first) argument, so it will
* be ignored per the MSDN documentation */
-#define realpath(path,resolved_path) _fullpath(resolved_path, path, _MAX_PATH)
-#endif
+#define gregorio_realpath(path,resolved_path) _fullpath(resolved_path,path,_MAX_PATH)
+#else
+#ifdef FUNC_REALPATH_WORKS
+#define gregorio_realpath(path,resolved_path) realpath(path,resolved_path)
+#else
+/* When realpath doesn't work (on an older system), we are forced to use
+ * PATH_MAX to allocate a buffer */
+#define gregorio_realpath(path,resolved_path) realpath(path,gregorio_malloc(PATH_MAX))
+#endif /* FUNC_REALPATH_WORKS */
+#endif /* _WIN32 */
/* define_path attempts to canonicalize the pathname of a given string */
static char *define_path(char *current_directory, char *string)
@@ -96,7 +104,7 @@ static char *define_path(char *current_directory, char *string)
base_name++;
/* try to resolve it */
- file_name = realpath(temp_name, NULL);
+ file_name = gregorio_realpath(temp_name, NULL);
if (!file_name) {
fprintf(stderr, "the directory %s for %s does not exist\n",
temp_name, base_name);
@@ -238,7 +246,7 @@ static char *encode_point_and_click_filename(char *input_file_name)
static const char *const hex = "0123456789ABCDEF";
char *filename, *result = NULL, *r = NULL, *p;
- filename = realpath(input_file_name, NULL);
+ filename = gregorio_realpath(input_file_name, NULL);
if (!filename) {
fprintf(stderr, "error: unable to resolve %s\n", input_file_name);
exit(1);
@@ -279,6 +287,7 @@ static char *encode_point_and_click_filename(char *input_file_name)
*r = '\0';
+ free(filename);
return result;
}
@@ -319,7 +328,7 @@ int main(int argc, char **argv)
gregorio_score *score = NULL;
#ifdef USE_KPSE
- kpse_set_program_name("gregorio", "gregorio");
+ kpse_set_program_name(argv[0], "gregorio");
#endif
if (argc == 1) {
print_usage(argv[0]);
@@ -560,7 +569,6 @@ int main(int argc, char **argv)
if (point_and_click) {
fprintf(stderr,
"warning: disabling point-and-click since reading from stdin\n");
- point_and_click = false;
}
} else {
input_file = fopen(input_file_name, "r");
@@ -614,7 +622,7 @@ int main(int argc, char **argv)
exit(1);
}
- gregorio_fix_initial_keys(score, DEFAULT_KEY);
+ gregorio_fix_initial_keys(score, gregorio_default_clef);
switch (output_format) {
case GABC:
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
index 987cddd7372..29500d7e840 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-position.c
@@ -85,10 +85,17 @@ OFFSET_CASE(FinalConnectedVirga);
OFFSET_CASE(InitialVirga);
OFFSET_CASE(SalicusOriscusWide);
OFFSET_CASE(SalicusOriscusOne);
+OFFSET_CASE(LeadingPunctum);
+OFFSET_CASE(LeadingQuilisma);
+OFFSET_CASE(LeadingOriscus);
+OFFSET_CASE(Flat);
+OFFSET_CASE(Sharp);
+OFFSET_CASE(Natural);
static __inline const char *note_before_last_note_case_ignoring_deminutus(
const gregorio_note *const current_note)
{
+ assert(current_note->next);
if ((current_note->u.note.pitch - current_note->next->u.note.pitch) == 1
|| (current_note->u.note.pitch -
current_note->next->u.note.pitch) == -1) {
@@ -112,8 +119,7 @@ static __inline const char *note_before_last_note_case(
const gregorio_glyph *const current_glyph,
const gregorio_note *const current_note)
{
- if ((current_glyph->u.notes.liquescentia == L_DEMINUTUS_INITIO_DEBILIS
- || current_glyph->u.notes.liquescentia == L_DEMINUTUS)
+ if ((current_glyph->u.notes.liquescentia & L_DEMINUTUS)
&& current_note->next) {
return PenultBeforeDeminutus;
} else {
@@ -145,7 +151,7 @@ static __inline const char *last_note_case(
}
if (current_note->previous->u.note.pitch < current_note->u.note.pitch) {
if (current_glyph->u.notes.liquescentia &
- (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS | L_AUCTA)) {
+ (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
return FinalConnectedAuctus;
} else {
return FinalConnectedVirga;
@@ -169,28 +175,42 @@ static __inline const char *first_note_case(
!= 1) {
ambitus_one = false;
}
- if (current_note->u.note.shape == S_ORISCUS) {
+ switch (current_note->u.note.shape) {
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
return ambitus_one ? InitialOriscus : InitialConnectedOriscus;
- }
- if (current_note->u.note.shape == S_QUILISMA) {
+
+ case S_QUILISMA:
return ambitus_one ? InitialQuilisma : InitialConnectedQuilisma;
- }
- if (ambitus_one) {
- return InitialPunctum;
- }
- if (current_note->u.note.shape > current_note->next->u.note.shape) {
- return InitialConnectedVirga;
- } else {
- return InitialConnectedPunctum;
+
+ default:
+ if (ambitus_one) {
+ return InitialPunctum;
+ }
+ if (current_note->u.note.pitch > current_note->next->u.note.pitch) {
+ return InitialConnectedVirga;
+ } else {
+ return InitialConnectedPunctum;
+ }
}
}
}
+static __inline const char *fused_single_note_case(
+ const gregorio_glyph *const glyph, const char *const unfused_case,
+ const char *const fused_case) {
+ int fuse_to_next_glyph = glyph->u.notes.fuse_to_next_glyph;
+ if (fuse_to_next_glyph < -1 || fuse_to_next_glyph > 1) {
+ return fused_case;
+ }
+ return unfused_case;
+}
+
static __inline gregorio_vposition above_if_auctus(
const gregorio_glyph *const glyph)
{
if (glyph->u.notes.liquescentia &
- (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS | L_AUCTA)) {
+ (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
return VPOS_ABOVE;
}
return VPOS_BELOW;
@@ -200,7 +220,7 @@ static __inline gregorio_vposition below_if_auctus(
const gregorio_glyph *const glyph)
{
if (glyph->u.notes.liquescentia &
- (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS | L_AUCTA)) {
+ (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
return VPOS_BELOW;
}
return VPOS_ABOVE;
@@ -215,6 +235,17 @@ static __inline gregorio_vposition above_if_h_episema(
return VPOS_BELOW;
}
+static __inline gregorio_vposition above_if_fused_next_h_episema(
+ const gregorio_glyph *glyph)
+{
+ const gregorio_glyph *next = gregorio_next_non_texverb_glyph(glyph);
+ if (next && next->type == GRE_GLYPH
+ && is_fused(next->u.notes.liquescentia)) {
+ return above_if_h_episema(next->u.notes.first_note);
+ }
+ return VPOS_BELOW;
+}
+
static __inline gregorio_vposition above_if_either_h_episema(
const gregorio_note *const note)
{
@@ -241,7 +272,7 @@ static __inline void low_high_set_lower(const gregorio_glyph *const glyph,
{
if ((glyph->u.notes.liquescentia & L_DEMINUTUS) ||
!(glyph->u.notes.liquescentia
- & (L_AUCTUS_ASCENDENS|L_AUCTUS_DESCENDENS|L_AUCTA))) {
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS))) {
note->is_lower_note = true;
}
}
@@ -251,7 +282,7 @@ static __inline void low_high_set_upper(const gregorio_glyph *const glyph,
{
if ((glyph->u.notes.liquescentia & L_DEMINUTUS) ||
!(glyph->u.notes.liquescentia
- & (L_AUCTUS_ASCENDENS|L_AUCTUS_DESCENDENS|L_AUCTA))) {
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS))) {
note->is_upper_note = true;
}
}
@@ -349,6 +380,7 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
{
gregorio_vposition h_episema = VPOS_AUTO, v_episema = VPOS_AUTO;
bool v_episema_below_is_lower = false, done;
+ const gregorio_glyph *previous;
/* no need to clear is_lower_note/is_upper_note because we used calloc */
@@ -386,8 +418,11 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
}
break;
case T_PESQUADRATUM:
+ case T_PESQUADRATUM_LONGQUEUE:
case T_PESQUASSUS:
+ case T_PESQUASSUS_LONGQUEUE:
case T_PESQUILISMAQUADRATUM:
+ case T_PESQUILISMAQUADRATUM_LONGQUEUE:
if (i == 1) {
note->gtex_offset_case = first_note_case(note, glyph);
h_episema = above_if_h_episema(note->next);
@@ -455,7 +490,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaAuctusSecondOneAny;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusAuctusSecondOneAny;
break;
@@ -469,7 +505,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaAuctusSecondWideAny;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusAuctusSecondWideAny;
break;
@@ -543,7 +580,7 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
case HEPISEMA_FIRST_TWO:
case 2:
if (glyph->u.notes.liquescentia &
- (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS | L_AUCTA)) {
+ (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
/* auctus */
if (glyph->u.notes.liquescentia & L_INITIO_DEBILIS) {
note->gtex_offset_case = TorcResDebilisAuctusSecondAnyAny;
@@ -555,7 +592,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaAuctusSecondOneAny;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusAuctusSecondOneAny;
break;
@@ -569,7 +607,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaAuctusSecondWideAny;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusAuctusSecondWideAny;
break;
@@ -593,7 +632,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaNonAuctusSecondOneOne;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusNonAuctusSecondOneOne;
break;
@@ -608,7 +648,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaNonAuctusSecondWideOne;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusNonAuctusSecondWideOne;
break;
@@ -632,7 +673,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaNonAuctusSecondOneWide;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusNonAuctusSecondOneWide;
break;
@@ -647,7 +689,8 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case =
TorcResQuilismaNonAuctusSecondWideWide;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
note->gtex_offset_case =
TorcResOriscusNonAuctusSecondWideWide;
break;
@@ -673,16 +716,17 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
break;
}
/* else fallthrough to the next case! */
- case T_PORRECTUS:
+ case T_PORRECTUS: /* or porrectus-like flexus */
switch (i) {
case HEPISEMA_FIRST_TWO:
case 1:
- if (glyph->u.notes.liquescentia &
- (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS | L_AUCTA)) {
+ if (glyph->u.notes.fuse_to_next_glyph ||
+ (glyph->u.notes.liquescentia
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS))) {
/* auctus */
note->gtex_offset_case = PorrAuctusInitialAny;
- } else if (note->next->next->u.note.pitch -
- note->next->u.note.pitch == 1) {
+ } else if (note->next->next->u.note.pitch
+ - note->next->u.note.pitch == 1) {
/* non-auctus with a second ambitus of 1 */
note->gtex_offset_case = PorrNonAuctusInitialOne;
} else {
@@ -698,12 +742,16 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
if (glyph->u.notes.liquescentia & L_DEMINUTUS) {
note->gtex_offset_case = PenultBeforeDeminutus;
} else if (glyph->u.notes.liquescentia
- & (L_AUCTUS_ASCENDENS|L_AUCTUS_DESCENDENS|L_AUCTA)) {
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
note->gtex_offset_case = PenultBeforePunctumWide;
} else {
note->gtex_offset_case = FinalPunctum;
}
h_episema = above_if_h_episema(note->previous);
+ if (h_episema == VPOS_BELOW && !note->next) {
+ /* handle porrectus-like flexus */
+ h_episema = above_if_fused_next_h_episema(glyph);
+ }
v_episema = VPOS_BELOW;
break;
default: /* case 3 */
@@ -741,6 +789,27 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
break;
}
break;
+ case T_SALICUS_FLEXUS:
+ done = true;
+ v_episema = VPOS_BELOW;
+ switch (i) {
+ case 3:
+ note->gtex_offset_case = note_before_last_note_case(glyph, note);
+ h_episema = VPOS_ABOVE;
+ break;
+ case 4:
+ note->gtex_offset_case = last_note_case(glyph, FinalPunctum, note,
+ false);
+ h_episema = VPOS_BELOW;
+ break;
+ default:
+ done = false;
+ break;
+ }
+ if (done) {
+ break;
+ }
+ /* else fallthrough to the next case! */
case T_SALICUS:
case T_SALICUS_LONGQUEUE:
v_episema = VPOS_BELOW;
@@ -841,7 +910,14 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
}
break;
default: /* case T_ONE_NOTE */
- h_episema = VPOS_ABOVE;
+ previous = gregorio_previous_non_texverb_glyph(glyph);
+ if ((!previous || previous->type != GRE_GLYPH
+ || previous->u.notes.fuse_to_next_glyph < 0)
+ && (glyph->u.notes.fuse_to_next_glyph > 0)) {
+ h_episema = above_if_fused_next_h_episema(glyph);
+ } else {
+ h_episema = VPOS_ABOVE;
+ }
v_episema = VPOS_BELOW;
switch (note->u.note.shape) {
case S_PUNCTUM_INCLINATUM_DEMINUTUS:
@@ -857,11 +933,18 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
note->gtex_offset_case = FinalStropha;
break;
case S_QUILISMA:
- note->gtex_offset_case = FinalQuilisma;
+ note->gtex_offset_case = fused_single_note_case(glyph,
+ FinalQuilisma, LeadingQuilisma);
break;
- case S_ORISCUS:
- case S_ORISCUS_AUCTUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
case S_ORISCUS_DEMINUTUS:
+ note->gtex_offset_case = fused_single_note_case(glyph, FinalOriscus,
+ LeadingOriscus);
+ break;
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
note->gtex_offset_case = FinalOriscus;
break;
case S_VIRGA:
@@ -881,9 +964,19 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
case S_LINEA:
note->gtex_offset_case = FinalPunctum;
break;
+ case S_FLAT:
+ note->gtex_offset_case = Flat;
+ break;
+ case S_SHARP:
+ note->gtex_offset_case = Sharp;
+ break;
+ case S_NATURAL:
+ note->gtex_offset_case = Natural;
+ break;
default:
- note->gtex_offset_case = last_note_case(glyph, FinalPunctum, note,
- true);
+ note->gtex_offset_case = last_note_case(glyph,
+ fused_single_note_case(glyph, FinalPunctum, LeadingPunctum),
+ note, true);
break;
}
break;
@@ -966,6 +1059,8 @@ typedef struct height_computation {
const gregorio_element *start_element;
const gregorio_glyph *start_glyph;
gregorio_note *start_note;
+ const gregorio_element *last_connected_element;
+ const gregorio_glyph *last_connected_glyph;
gregorio_note *last_connected_note;
} height_computation;
@@ -1023,6 +1118,23 @@ static bool is_h_episema_below_better_height(const signed char new_height,
return new_height < old_height;
}
+static __inline bool has_high_ledger_line(const signed char height,
+ bool is_sign, const gregorio_score *const score)
+{
+ if (is_sign) {
+ return height > score->high_ledger_line_pitch;
+ }
+ return height >= score->high_ledger_line_pitch;
+}
+
+static __inline bool has_low_ledger_line(const signed char height, bool is_sign)
+{
+ if (is_sign) {
+ return height < LOW_LEDGER_LINE_PITCH;
+ }
+ return height <= LOW_LEDGER_LINE_PITCH;
+}
+
static __inline void start_h_episema(height_computation *const h,
const gregorio_element *const element,
const gregorio_glyph *const glyph, gregorio_note *const note)
@@ -1034,8 +1146,115 @@ static __inline void start_h_episema(height_computation *const h,
h->height = compute_h_episema_height(glyph, note, h->vpos);
}
+static __inline void position_h_episema(gregorio_note *const note,
+ const height_computation *const h, const bool connect,
+ const bool high_ledger_line, const bool low_ledger_line)
+{
+ h->position(note, h->height, connect);
+ if (!note->explicit_high_ledger_line && !note->supposed_high_ledger_line) {
+ note->supposed_high_ledger_line = high_ledger_line;
+ }
+ if (!note->explicit_low_ledger_line && !note->supposed_low_ledger_line) {
+ note->supposed_low_ledger_line = low_ledger_line;
+ }
+}
+
+static __inline void next_has_ledger_line(
+ const height_computation *const h, bool *high_ledger_line,
+ bool *low_ledger_line, const gregorio_score *const score)
+{
+ const gregorio_element *element = h->last_connected_element;
+ const gregorio_glyph *glyph = h->last_connected_glyph;
+ gregorio_note *note = h->last_connected_note;
+ bool eat_upper_note = note->is_lower_note, keep_going = false;
+
+ if (!*high_ledger_line || !*low_ledger_line) {
+ /* going forwards, we must iterate through any lower notes */
+ do {
+ note = note->next;
+ if (!note) {
+ do {
+ glyph = glyph->next;
+ if (!glyph) {
+ do {
+ element = element->next;
+ if (!element) {
+ return;
+ }
+ } while (element->type != GRE_ELEMENT);
+ glyph = element->u.first_glyph;
+ }
+ } while (glyph->type != GRE_GLYPH);
+ note = glyph->u.notes.first_note;
+ }
+
+ *high_ledger_line = *high_ledger_line
+ || has_high_ledger_line(note->u.note.pitch, false, score);
+ *low_ledger_line = *low_ledger_line
+ || has_low_ledger_line(note->u.note.pitch, false);
+
+ if (keep_going) {
+ keep_going = false;
+ }
+ if (eat_upper_note && note->is_upper_note) {
+ eat_upper_note = false;
+ keep_going = true;
+ }
+ } while ((!*high_ledger_line || !*low_ledger_line)
+ && (note->is_lower_note || keep_going));
+ }
+}
+
+static __inline void previous_has_ledger_line(
+ const height_computation *const h, bool *high_ledger_line,
+ bool *low_ledger_line, const gregorio_score *const score)
+{
+ const gregorio_element *element = h->start_element;
+ const gregorio_glyph *glyph = h->start_glyph;
+ gregorio_note *note = h->start_note;
+ bool eat_lower_note = note->is_upper_note, keep_going = false;
+
+ if (!*high_ledger_line || !*low_ledger_line) {
+ /* going backwards, we must iterate through any upper notes */
+ do {
+ note = note->previous;
+ if (!note) {
+ do {
+ glyph = glyph->previous;
+ if (!glyph) {
+ do {
+ element = element->previous;
+ if (!element) {
+ return;
+ }
+ } while (element->type != GRE_ELEMENT);
+ for (glyph = element->u.first_glyph; glyph->next;
+ glyph = glyph->next) {
+ /* just iterate to find the last glyph */
+ }
+ }
+ } while (glyph->type != GRE_GLYPH);
+ note = gregorio_glyph_last_note(glyph);
+ }
+ *high_ledger_line = *high_ledger_line
+ || has_high_ledger_line(note->u.note.pitch, false, score);
+ *low_ledger_line = *low_ledger_line
+ || has_low_ledger_line(note->u.note.pitch, false);
+
+ if (keep_going) {
+ keep_going = false;
+ }
+ if (eat_lower_note && note->is_lower_note) {
+ eat_lower_note = false;
+ keep_going = true;
+ }
+ } while ((!*high_ledger_line || !*low_ledger_line)
+ && (note->is_upper_note || keep_going));
+ }
+}
+
static __inline void set_h_episema_height(const height_computation *const h,
- gregorio_note *const end)
+ gregorio_note *const end, const gregorio_score *const score)
{
gregorio_note *last_note = NULL;
@@ -1043,6 +1262,14 @@ static __inline void set_h_episema_height(const height_computation *const h,
const gregorio_glyph *glyph = h->start_glyph;
gregorio_note *note = h->start_note;
+ bool high_ledger_line = has_high_ledger_line(h->height, true, score)
+ || has_high_ledger_line(h->height - h->vpos, false, score);
+ bool low_ledger_line = has_low_ledger_line(h->height, true)
+ || has_low_ledger_line(h->height - h->vpos, false);
+
+ next_has_ledger_line(h, &high_ledger_line, &low_ledger_line, score);
+ previous_has_ledger_line(h, &high_ledger_line, &low_ledger_line, score);
+
for ( ; element; element = element->next) {
if (element->type == GRE_ELEMENT) {
for (glyph = glyph? glyph : element->u.first_glyph; glyph;
@@ -1052,12 +1279,14 @@ static __inline void set_h_episema_height(const height_computation *const h,
note = note->next) {
if (end && note == end) {
if (last_note) {
- h->position(last_note, h->height, false);
+ position_h_episema(last_note, h, false,
+ high_ledger_line, low_ledger_line);
}
return;
}
if (h->is_applicable(note)) {
- h->position(note, h->height, true);
+ position_h_episema(note, h, true, high_ledger_line,
+ low_ledger_line);
last_note = note;
}
}
@@ -1069,7 +1298,8 @@ static __inline void set_h_episema_height(const height_computation *const h,
}
if (last_note) {
- h->position(last_note, h->height, false);
+ position_h_episema(last_note, h, false, high_ledger_line,
+ low_ledger_line);
}
}
@@ -1101,45 +1331,68 @@ static __inline bool has_space_to_left(const gregorio_note *const note) {
}
static __inline void end_h_episema(height_computation *const h,
- gregorio_note *const end)
+ gregorio_note *const end, const gregorio_score *const score)
{
signed char proposed_height;
if (h->active) {
/* don't let the episema clash with the note before or after */
- if (is_connected_left(h->get_size(h->start_note))
- && h->start_note->previous
- && h->start_note->previous->type == GRE_NOTE
- && is_connected_right(h->get_size(h->start_note->previous))
- && !has_space_to_left(h->start_note)) {
- proposed_height = h->start_note->previous->u.note.pitch + h->vpos;
- if (h->is_better_height(proposed_height, h->height)) {
- h->height = proposed_height;
- }
- }
- if (end && end->type == GRE_NOTE) {
- gregorio_note *note;
- /* this loop checks that it's within the same glyph */
- for (note = end->previous; note; note = note->previous) {
- if (note == h->start_note) {
- if (is_connected_left(h->get_size(end))
- && h->last_connected_note
- && h->last_connected_note->next
- && h->last_connected_note->next->type == GRE_NOTE
- && !has_space_to_left(h->last_connected_note->next)
- && is_connected_right(h->get_size(
- h->last_connected_note))) {
- proposed_height = end->u.note.pitch + h->vpos;
+ if (is_connected_left(h->get_size(h->start_note))) {
+ if (h->start_note->previous) {
+ if (!has_space_to_left(h->start_note)
+ && h->start_note->previous->type == GRE_NOTE
+ && is_connected_right(h->get_size(
+ h->start_note->previous))) {
+ proposed_height = h->start_note->previous->u.note.pitch + h->vpos;
+ if (h->is_better_height(proposed_height, h->height)) {
+ h->height = proposed_height;
+ }
+ }
+ } else {
+ const gregorio_glyph *previous =
+ gregorio_previous_non_texverb_glyph(h->start_glyph);
+ if (previous && previous->type == GRE_GLYPH
+ && is_fused(h->start_glyph->u.notes.liquescentia)) {
+ gregorio_note *note = gregorio_glyph_last_note(
+ h->start_glyph->previous);
+ if (note->type == GRE_NOTE
+ && is_connected_right(h->get_size(note))) {
+ proposed_height = note->u.note.pitch + h->vpos;
if (h->is_better_height(proposed_height, h->height)) {
h->height = proposed_height;
}
}
- break;
+ }
+ }
+ }
+ if (end && end->type == GRE_NOTE && is_connected_left(h->get_size(end))
+ && h->last_connected_note
+ && is_connected_right(h->get_size(h->last_connected_note))) {
+ if (h->last_connected_note->next) {
+ if (h->last_connected_note->next->type == GRE_NOTE
+ && !has_space_to_left(h->last_connected_note->next)) {
+ gregorio_note *note;
+ /* this loop checks that it's within the same glyph */
+ for (note = end->previous; note; note = note->previous) {
+ if (note == h->start_note) {
+ proposed_height = end->u.note.pitch + h->vpos;
+ if (h->is_better_height(proposed_height,
+ h->height)) {
+ h->height = proposed_height;
+ }
+ break;
+ }
+ }
+ }
+ } else if (is_fused(end->u.note.liquescentia) && !end->previous) {
+ proposed_height = end->u.note.pitch + h->vpos;
+ if (h->is_better_height(proposed_height, h->height)) {
+ h->height = proposed_height;
}
}
}
- set_h_episema_height(h, end);
+ set_h_episema_height(h, end, score);
h->active = false;
h->height = 0;
@@ -1147,6 +1400,8 @@ static __inline void end_h_episema(height_computation *const h,
h->start_element = NULL;
h->start_glyph = NULL;
h->start_note = NULL;
+ h->last_connected_element = NULL;
+ h->last_connected_glyph = NULL;
h->last_connected_note = NULL;
}
}
@@ -1154,7 +1409,7 @@ static __inline void end_h_episema(height_computation *const h,
static __inline void compute_h_episema(height_computation *const h,
const gregorio_element *const element,
const gregorio_glyph *const glyph, gregorio_note *const note,
- const int i, const gtex_type type)
+ const int i, const gtex_type type, const gregorio_score *const score)
{
signed char next_height;
grehepisema_size size;
@@ -1174,7 +1429,7 @@ static __inline void compute_h_episema(height_computation *const h,
}
}
else {
- end_h_episema(h, note);
+ end_h_episema(h, note, score);
start_h_episema(h, element, glyph, note);
}
} else {
@@ -1182,9 +1437,11 @@ static __inline void compute_h_episema(height_computation *const h,
}
h->connected = h->is_connected(note) && is_connected_right(size);
+ h->last_connected_element = element;
+ h->last_connected_glyph = glyph;
h->last_connected_note = note;
} else {
- end_h_episema(h, note);
+ end_h_episema(h, note, score);
}
} else if (!h->is_shown(note)) {
/* special handling for porrectus shapes because of their shape:
@@ -1195,14 +1452,14 @@ static __inline void compute_h_episema(height_computation *const h,
case T_PORRECTUS:
case T_PORRECTUS_FLEXUS:
if (i == 2) {
- end_h_episema(h, note);
+ end_h_episema(h, note, score);
}
break;
case T_TORCULUS_RESUPINUS:
case T_TORCULUS_RESUPINUS_FLEXUS:
if (i == 3) {
- end_h_episema(h, note);
+ end_h_episema(h, note, score);
}
break;
@@ -1216,7 +1473,7 @@ static __inline void compute_h_episema(height_computation *const h,
static __inline void compute_note_positioning(height_computation *const above,
height_computation *const below, const gregorio_element *const element,
const gregorio_glyph *const glyph, gregorio_note *const note,
- const int i, const gtex_type type)
+ const int i, const gtex_type type, const gregorio_score *const score)
{
gregorio_vposition default_vpos = advise_positioning(glyph, note, i, type);
@@ -1230,11 +1487,165 @@ static __inline void compute_note_positioning(height_computation *const above,
}
}
- compute_h_episema(above, element, glyph, note, i, type);
- compute_h_episema(below, element, glyph, note, i, type);
+ compute_h_episema(above, element, glyph, note, i, type, score);
+ compute_h_episema(below, element, glyph, note, i, type, score);
+}
+
+static __inline int compute_fused_shift(const gregorio_glyph *glyph)
+{
+ int shift;
+ gregorio_note *first_note, *prev_note;
+ const gregorio_glyph *next, *previous;
+ bool next_is_fused;
+
+ if (!glyph || !is_fused(glyph->u.notes.liquescentia)
+ || glyph->type != GRE_GLYPH
+ || !(first_note = glyph->u.notes.first_note)
+ || first_note->type != GRE_NOTE
+ || !(previous = gregorio_previous_non_texverb_glyph(glyph))
+ || previous->type != GRE_GLYPH
+ || previous->u.notes.liquescentia & TAIL_LIQUESCENTIA_MASK
+ || !previous->u.notes.first_note) {
+ /* base conditions prevent fusion */
+ return 0;
+ }
+
+ next = gregorio_next_non_texverb_glyph(glyph);
+ next_is_fused = next && next->type == GRE_GLYPH
+ && is_fused(next->u.notes.liquescentia);
+
+ switch (glyph->u.notes.glyph_type) {
+ case G_PORRECTUS:
+ case G_PODATUS:
+ if (next_is_fused) {
+ return 0;
+ }
+ /* else it may be fused to the previous note */
+ break;
+
+ case G_PUNCTUM:
+ case G_FLEXA:
+ /* these may be fused to the previous note */
+ break;
+
+ default:
+ /* anything else may not be fused to the previous note */
+ return 0;
+ }
+
+ switch (first_note->u.note.shape) {
+ case S_QUILISMA:
+ case S_QUILISMA_QUADRATUM:
+ case S_PUNCTUM_CAVUM:
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ case S_FLAT:
+ case S_SHARP:
+ case S_NATURAL:
+ /* if this glyph starts with one of these, it's not fusable */
+ return 0;
+
+ default:
+ /* anything else is potentially fusable */
+ break;
+ }
+
+ switch (previous->u.notes.glyph_type) {
+ case G_PUNCTUM:
+ case G_FLEXA:
+ case G_VIRGA_REVERSA:
+ /* these are potentially fusable to this note */
+ break;
+
+ default:
+ /* everything else is not fusable */
+ return 0;
+ }
+
+ prev_note = gregorio_glyph_last_note(previous);
+
+ if (prev_note->type != GRE_NOTE) {
+ /* previous note wasn't a note */
+ return 0;
+ }
+
+ switch (prev_note->u.note.shape) {
+ case S_PUNCTUM_CAVUM:
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ case S_FLAT:
+ case S_SHARP:
+ case S_NATURAL:
+ /* these don't fuse to anything */
+ return 0;
+
+ default:
+ /* anything else is potentially fusable */
+ break;
+ }
+
+ shift = first_note->u.note.pitch - prev_note->u.note.pitch;
+ if (shift < -5 || shift > 5) {
+ /* ambitus too large to fuse */
+ return 0;
+ }
+
+ if (shift > 0 && previous->u.notes.glyph_type == G_VIRGA_REVERSA) {
+ /* virga reversa cannot fuse upwards */
+ return 0;
+ }
+
+ /* the FLEXA check below checks for a porrectus-like flexus, which is not
+ * fusable from above */
+ if (shift < 0 && ((next_is_fused && glyph->u.notes.glyph_type == G_FLEXA)
+ || glyph->u.notes.glyph_type == G_PORRECTUS
+ || (previous->u.notes.glyph_type == G_PUNCTUM
+ && is_initio_debilis(previous->u.notes.liquescentia)))) {
+ /* may not be fused from above */
+ return 0;
+ }
+
+ /* Special cases for oriscus */
+ switch (first_note->u.note.shape) {
+ gregorio_note *next_note;
+ const gregorio_glyph *next_glyph;
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
+ case S_ORISCUS_SCAPUS:
+ next_note = first_note->next;
+ if (!next_note && (next_glyph = gregorio_next_non_texverb_glyph(glyph))
+ && next_glyph->type == GRE_GLYPH
+ && is_fused(next_glyph->u.notes.liquescentia)) {
+ next_note = next_glyph->u.notes.first_note;
+ }
+ if (next_note) {
+ if (next_note->u.note.pitch < first_note->u.note.pitch) {
+ /* then this note should be an down-up-down oriscus */
+ if (shift > 0) {
+ /* down-up-down oricus cannot be fused from below */
+ return 0;
+ }
+ } else {
+ /* then this note should be an up-down-up oriscus */
+ if (shift < 0) {
+ /* up-down-up oricus cannot be fused from above */
+ return 0;
+ }
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return shift;
}
-void gregoriotex_compute_positioning(const gregorio_element *element)
+void gregoriotex_compute_positioning(const gregorio_element *element,
+ const gregorio_score *const score)
{
height_computation above = {
/*.vpos =*/ VPOS_ABOVE,
@@ -1251,6 +1662,8 @@ void gregoriotex_compute_positioning(const gregorio_element *element)
/*.start_element =*/ NULL,
/*.start_glyph =*/ NULL,
/*.start_note =*/ NULL,
+ /*.last_connected_element =*/ NULL,
+ /*.last_connected_glyph =*/ NULL,
/*.last_connected_note =*/ NULL,
};
height_computation below = {
@@ -1268,6 +1681,8 @@ void gregoriotex_compute_positioning(const gregorio_element *element)
/*.start_element =*/ NULL,
/*.start_glyph =*/ NULL,
/*.start_note =*/ NULL,
+ /*.last_connected_element =*/ NULL,
+ /*.last_connected_glyph =*/ NULL,
/*.last_connected_note =*/ NULL,
};
int i;
@@ -1276,11 +1691,13 @@ void gregoriotex_compute_positioning(const gregorio_element *element)
for (; element; element = element->next) {
if (element->type == GRE_ELEMENT) {
- const gregorio_glyph *glyph;
+ gregorio_glyph *glyph;
for (glyph = element->u.first_glyph; glyph;
glyph = glyph->next) {
if (glyph->type == GRE_GLYPH) {
gregorio_note *note;
+ glyph->u.notes.fuse_to_next_glyph = compute_fused_shift(
+ gregorio_next_non_texverb_glyph(glyph));
i = 0;
gregoriotex_determine_glyph_name(glyph, element, &ignored,
&type);
@@ -1288,17 +1705,17 @@ void gregoriotex_compute_positioning(const gregorio_element *element)
note = note->next) {
if (note->type == GRE_NOTE) {
compute_note_positioning(&above, &below, element,
- glyph, note, ++i, type);
+ glyph, note, ++i, type, score);
}
}
}
}
} else if (!is_bridgeable_space(element)) {
- end_h_episema(&above, NULL);
- end_h_episema(&below, NULL);
+ end_h_episema(&above, NULL, score);
+ end_h_episema(&below, NULL, score);
}
}
- end_h_episema(&above, NULL);
- end_h_episema(&below, NULL);
+ end_h_episema(&above, NULL, score);
+ end_h_episema(&below, NULL, score);
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
index 8105faaecb7..524c61b286d 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
@@ -66,13 +66,100 @@ typedef struct gregoriotex_status {
#define MAX_AMBITUS 5
static const char *tex_ambitus[] = {
- NULL, "One", "Two", "Three", "Four", "Five"
+ "", "One", "Two", "Three", "Four", "Five"
};
+#define SHAPE(NAME) static const char *const SHAPE_##NAME = #NAME
+SHAPE(Ancus);
+SHAPE(AncusLongqueue);
+SHAPE(Flat);
+SHAPE(Flexus);
+SHAPE(FlexusLongqueue);
+SHAPE(FlexusNobar);
+SHAPE(FlexusOriscus);
+SHAPE(FlexusOriscusScapus);
+SHAPE(FlexusOriscusScapusLongqueue);
+SHAPE(Linea);
+SHAPE(LineaPunctum);
+SHAPE(LineaPunctumCavum);
+SHAPE(Natural);
+SHAPE(Oriscus);
+SHAPE(OriscusCavum);
+SHAPE(OriscusCavumAuctus);
+SHAPE(OriscusCavumDeminutus);
+SHAPE(OriscusDeminutus);
+SHAPE(OriscusLineBL);
+SHAPE(OriscusReversus);
+SHAPE(OriscusReversusLineTL);
+SHAPE(OriscusScapus);
+SHAPE(OriscusScapusLongqueue);
+SHAPE(Pes);
+SHAPE(PesQuadratum);
+SHAPE(PesQuadratumLongqueue);
+SHAPE(PesQuassus);
+SHAPE(PesQuassusLongqueue);
+SHAPE(PesQuilisma);
+SHAPE(PesQuilismaQuadratum);
+SHAPE(PesQuilismaQuadratumLongqueue);
+SHAPE(Porrectus);
+SHAPE(PorrectusFlexus);
+SHAPE(PorrectusFlexusNobar);
+SHAPE(PorrectusNobar);
+SHAPE(Punctum);
+SHAPE(PunctumAscendens);
+SHAPE(PunctumCavum);
+SHAPE(PunctumCavumInclinatum);
+SHAPE(PunctumCavumInclinatumAuctus);
+SHAPE(PunctumDeminutus);
+SHAPE(PunctumDescendens);
+SHAPE(PunctumInclinatum);
+SHAPE(PunctumInclinatumAuctus);
+SHAPE(PunctumInclinatumDeminutus);
+SHAPE(PunctumLineBL);
+SHAPE(PunctumLineTL);
+SHAPE(Quilisma);
+SHAPE(Salicus);
+SHAPE(SalicusFlexus);
+SHAPE(SalicusLongqueue);
+SHAPE(Scandicus);
+SHAPE(Sharp);
+SHAPE(Stropha);
+SHAPE(StrophaAucta);
+SHAPE(StrophaAuctaLongtail);
+SHAPE(Torculus);
+SHAPE(TorculusLiquescens);
+SHAPE(TorculusLiquescensQuilisma);
+SHAPE(TorculusQuilisma);
+SHAPE(TorculusResupinus);
+SHAPE(TorculusResupinusQuilisma);
+SHAPE(Virga);
+SHAPE(VirgaLongqueue);
+SHAPE(VirgaReversa);
+SHAPE(VirgaReversaAscendens);
+SHAPE(VirgaReversaDescendens);
+SHAPE(VirgaReversaLongqueue);
+SHAPE(VirgaReversaLongqueueAscendens);
+SHAPE(VirgaReversaLongqueueDescendens);
+SHAPE(VirgaStrata);
+
+#define LIQ(NAME) static const char *const LIQ_##NAME = #NAME
+LIQ(Deminutus);
+LIQ(Ascendens);
+LIQ(Descendens);
+LIQ(InitioDebilis);
+LIQ(InitioDebilisDeminutus);
+LIQ(InitioDebilisAscendens);
+LIQ(InitioDebilisDescendens);
+LIQ(Nothing);
+
+#define FUSE(NAME) static const char *const FUSE_##NAME = #NAME
+FUSE(Lower);
+FUSE(Upper);
+FUSE(Down);
+FUSE(Up);
+
/* the value indicating to GregorioTeX that there is no flat */
#define NO_KEY_FLAT LOWEST_PITCH
-#define PITCH_BELOW_STAFF (LOWEST_PITCH + 2)
-#define PITCH_ABOVE_STAFF (LOWEST_PITCH + 10)
/* a helper macro for the following function */
#define WHILEGLYPH(prevornext) \
@@ -80,7 +167,7 @@ static const char *tex_ambitus[] = {
if (glyph->type == GRE_GLYPH) {\
note = glyph->u.notes.first_note;\
while (note) {\
- if (note->u.note.pitch < PITCH_BELOW_STAFF) {\
+ if (note->u.note.pitch <= LOW_LEDGER_LINE_PITCH) {\
return true;\
}\
note = note->next;\
@@ -115,18 +202,18 @@ static bool is_longqueue(const signed char pitch,
case 7:
case 9:
case 11:
+ case 13:
return true;
case 3:
/* we first look forward to see if there is a note underneath c */
WHILEGLYPH(next);
if (element && element->type == GRE_SPACE
&& (element->u.misc.unpitched.info.space == SP_NEUMATIC_CUT
- || element->u.misc.unpitched.info.space ==
- SP_LARGER_SPACE
- || element->u.misc.unpitched.info.space ==
- SP_NEUMATIC_CUT_NB
- || element->u.misc.unpitched.info.space ==
- SP_LARGER_SPACE_NB)) {
+ || element->u.misc.unpitched.info.space == SP_LARGER_SPACE
+ || element->u.misc.unpitched.info.space
+ == SP_NEUMATIC_CUT_NB
+ || element->u.misc.unpitched.info.space
+ == SP_LARGER_SPACE_NB)) {
element = element->next;
}
if (element && element->type == GRE_ELEMENT) {
@@ -139,12 +226,11 @@ static bool is_longqueue(const signed char pitch,
WHILEGLYPH(previous);
if (element && element->type == GRE_SPACE
&& (element->u.misc.unpitched.info.space == SP_NEUMATIC_CUT
- || element->u.misc.unpitched.info.space ==
- SP_LARGER_SPACE
- || element->u.misc.unpitched.info.space ==
- SP_NEUMATIC_CUT_NB
- || element->u.misc.unpitched.info.space ==
- SP_LARGER_SPACE_NB)) {
+ || element->u.misc.unpitched.info.space == SP_LARGER_SPACE
+ || element->u.misc.unpitched.info.space
+ == SP_NEUMATIC_CUT_NB
+ || element->u.misc.unpitched.info.space
+ == SP_LARGER_SPACE_NB)) {
element = element->previous;
}
if (element && element->type == GRE_ELEMENT) {
@@ -172,113 +258,6 @@ static __inline bool is_shortqueue(const signed char pitch,
static grestyle_style gregoriotex_ignore_style = ST_NO_STYLE;
static grestyle_style gregoriotex_next_ignore_style = ST_NO_STYLE;
-static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note,
- gregorio_glyph *glyph, gregorio_element *element, gtex_alignment *type)
-{
- static char buf[128];
- const char *name;
-
- if (!note) {
- gregorio_message(_("called with NULL pointer"),
- "gregoriotex_determine_note_glyph_name", VERBOSITY_ERROR, 0);
- return "";
- }
-
- *type = AT_ONE_NOTE;
- switch (note->u.note.shape) {
- case S_PUNCTUM_INCLINATUM:
- *type = AT_PUNCTUM_INCLINATUM;
- return "PunctumInclinatum";
- case S_PUNCTUM_INCLINATUM_DEMINUTUS:
- return "PunctumInclinatumDeminutus";
- case S_PUNCTUM_INCLINATUM_AUCTUS:
- return "PunctumInclinatumAuctus";
- case S_PUNCTUM:
- return "Punctum";
- case S_PUNCTUM_AUCTUS_ASCENDENS:
- return "PunctumAscendens";
- case S_PUNCTUM_AUCTUS_DESCENDENS:
- return "PunctumDescendens";
- case S_PUNCTUM_DEMINUTUS:
- return "PunctumDeminutus";
- case S_PUNCTUM_CAVUM:
- return "PunctumCavum";
- case S_LINEA:
- return "Linea";
- case S_LINEA_PUNCTUM:
- return "LineaPunctum";
- case S_LINEA_PUNCTUM_CAVUM:
- return "LineaPunctumCavum";
- case S_VIRGA:
- if (is_shortqueue(note->u.note.pitch, glyph, element)) {
- return "Virga";
- }
- return "VirgaLongqueue";
- case S_VIRGA_REVERSA:
- switch (note->u.note.liquescentia) {
- case L_AUCTUS_ASCENDENS:
- if (is_shortqueue(note->u.note.pitch, glyph, element)) {
- name = "VirgaReversaAscendens";
- } else {
- name = "VirgaReversaLongqueueAscendens";
- }
- if (note->u.note.pitch - LOWEST_PITCH == 3) {
- /* if we're on the 'd' line, the queue could be long or short */
- gregorio_snprintf(buf, sizeof buf,
- "VirgaReversaAscendensOnDLine{\\GreCP%s}", name);
- return buf;
- }
- return name;
- case L_AUCTUS_DESCENDENS:
- if (is_shortqueue(note->u.note.pitch, glyph, element)) {
- return "VirgaReversaDescendens";
- }
- return "VirgaReversaLongqueueDescendens";
- default:
- if (is_shortqueue(note->u.note.pitch, glyph, element)) {
- return "VirgaReversa";
- }
- return "VirgaReversaLongqueue";
- }
- case S_ORISCUS:
- *type = AT_ORISCUS;
- return "Oriscus";
- case S_ORISCUS_AUCTUS:
- *type = AT_ORISCUS;
- return "OriscusReversus";
- case S_ORISCUS_DEMINUTUS:
- *type = AT_ORISCUS;
- return "OriscusDeminutus";
- case S_QUILISMA:
- *type = AT_QUILISMA;
- return "Quilisma";
- case S_ORISCUS_SCAPUS:
- if (is_shortqueue(note->u.note.pitch, glyph, element)) {
- return "OriscusScapus";
- }
- return "OriscusScapusLongqueue";
- case S_STROPHA:
- *type = AT_STROPHA;
- if (note->u.note.liquescentia == L_AUCTA) {
- return "StrophaAucta";
- }
- return "Stropha";
- case S_STROPHA_AUCTA:
- *type = AT_STROPHA;
- return "StrophaAucta";
- case S_PUNCTUM_CAVUM_INCLINATUM:
- *type = AT_PUNCTUM_INCLINATUM;
- return "PunctumCavumInclinatum";
- case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
- return "PunctumCavumInclinatumAuctus";
- default:
- gregorio_messagef("gregoriotex_determine_note_glyph_name",
- VERBOSITY_ERROR, 0, _("called with unknown shape: %d"),
- note->u.note.shape);
- return "";
- }
-}
-
/*
* The different liquescentiae are:
* 'Nothing'
@@ -290,55 +269,30 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note,
* 'InitioDebilisAscendens'
* 'InitioDebilisDescendens'
*
- * If it is an auctus, which may be ascendens or descendens, by default we
- * consider it as an ascendens
- *
* They also are and must be the same as in squarize.py.
*/
-static const char *gregoriotex_determine_liquescentia(gtex_glyph_liquescentia type,
- gregorio_liquescentia liquescentia)
+static const char *gregoriotex_determine_liquescentia(
+ gtex_glyph_liquescentia type, const gregorio_glyph *const glyph)
{
- switch (liquescentia) {
- case L_AUCTA:
- liquescentia = L_AUCTUS_ASCENDENS;
- break;
- case L_AUCTA_INITIO_DEBILIS:
- liquescentia = L_AUCTUS_ASCENDENS_INITIO_DEBILIS;
- break;
- default:
- /* do nothing */
- break;
- }
+ gregorio_liquescentia liquescentia = glyph->u.notes.liquescentia;
switch (type) {
case LG_ALL:
break;
case LG_NO_INITIO:
- if (liquescentia >= L_INITIO_DEBILIS) {
- liquescentia = liquescentia - L_INITIO_DEBILIS;
- }
+ liquescentia &= ~L_INITIO_DEBILIS;
break;
case LG_ONLY_DEMINUTUS:
- if (liquescentia != L_DEMINUTUS
- && liquescentia != L_DEMINUTUS_INITIO_DEBILIS) {
- liquescentia = L_NO_LIQUESCENTIA;
- }
+ liquescentia &= L_INITIO_DEBILIS | L_DEMINUTUS;
break;
- case LG_ONLY_AUCTUS:
- if (liquescentia != L_AUCTUS_ASCENDENS
- && liquescentia != L_AUCTUS_DESCENDENS) {
- liquescentia = L_NO_LIQUESCENTIA;
- }
- case LG_UNDET_AUCTUS:
- if (liquescentia == L_AUCTUS_DESCENDENS) {
- liquescentia = L_AUCTUS_ASCENDENS;
- }
- if (liquescentia == L_AUCTUS_DESCENDENS_INITIO_DEBILIS) {
- liquescentia = L_AUCTUS_ASCENDENS_INITIO_DEBILIS;
+ case LG_FUSIBLE_INITIO:
+ if (glyph->u.notes.fuse_to_next_glyph) {
+ liquescentia &= L_INITIO_DEBILIS;
+ break;
}
- break;
- default:
+ /* else fall through to next case */
+ case LG_NONE:
liquescentia = L_NO_LIQUESCENTIA;
break;
}
@@ -346,29 +300,27 @@ static const char *gregoriotex_determine_liquescentia(gtex_glyph_liquescentia ty
/* now we convert liquescentia into the good GregorioTeX liquescentia
* numbers */
- switch (liquescentia) {
+ switch (liquescentia & ~L_FUSED) {
case L_DEMINUTUS:
- return "Deminutus";
+ return LIQ_Deminutus;
case L_AUCTUS_ASCENDENS:
- return "Ascendens";
- case L_AUCTA:
+ return LIQ_Ascendens;
case L_AUCTUS_DESCENDENS:
- return "Descendens";
+ return LIQ_Descendens;
case L_INITIO_DEBILIS:
- return "InitioDebilis";
+ return LIQ_InitioDebilis;
case L_DEMINUTUS_INITIO_DEBILIS:
- return "InitioDebilisDeminutus";
+ return LIQ_InitioDebilisDeminutus;
case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- return "InitioDebilisAscendens";
- case L_AUCTA_INITIO_DEBILIS:
+ return LIQ_InitioDebilisAscendens;
case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- return "InitioDebilisDescendens";
+ return LIQ_InitioDebilisDescendens;
case L_NO_LIQUESCENTIA:
/* break out and return "Nothing" */
break;
}
- return "Nothing";
+ return LIQ_Nothing;
}
static __inline int compute_ambitus(const gregorio_note *const current_note)
@@ -390,15 +342,21 @@ static __inline int compute_ambitus(const gregorio_note *const current_note)
}
static const char *compute_glyph_name(const gregorio_glyph *const glyph,
- const char *shape, const gtex_glyph_liquescentia ltype)
+ const char *shape, const gtex_glyph_liquescentia ltype,
+ bool is_single_note)
{
static char buf[BUFSIZE];
- const char *liquescentia = gregoriotex_determine_liquescentia(ltype,
- glyph->u.notes.liquescentia);
+ const char *liquescentia = gregoriotex_determine_liquescentia(ltype, glyph);
gregorio_note *current_note;
+ int ambitus1, ambitus2, ambitus3, fuse_ambitus = 0;
+ const char *fuse_head = "", *fuse_tail = "";
+ const gregorio_glyph *previous = gregorio_previous_non_texverb_glyph(glyph);
+ int fuse_to_next_note, fuse_from_previous_note =
+ (previous && previous->type == GRE_GLYPH)
+ ? previous->u.notes.fuse_to_next_glyph : 0;
+
/* then we start making our formula */
- int ambitus1, ambitus2, ambitus3;
if (!glyph) {
gregorio_message(_("called with NULL pointer"),
"compute_glyph_name", VERBOSITY_ERROR, 0);
@@ -409,25 +367,145 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph,
"compute_glyph_name", VERBOSITY_ERROR, 0);
return "";
}
+
+ fuse_to_next_note = glyph->u.notes.fuse_to_next_glyph;
+
+ switch (glyph->u.notes.glyph_type) {
+ case G_PODATUS:
+ if (!is_tail_liquescentia(glyph->u.notes.liquescentia)
+ && fuse_from_previous_note < 0) {
+ /* a normal pes cannot be fused from above */
+ break;
+ }
+ /* else fall through */
+ case G_PUNCTUM:
+ case G_FLEXA:
+ /* directionally head-fusable */
+ if (fuse_from_previous_note < -1
+ && glyph->u.notes.first_note->u.note.shape != S_QUILISMA
+ && glyph->u.notes.first_note->u.note.shape
+ != S_QUILISMA_QUADRATUM) {
+ fuse_head = FUSE_Lower;
+ } else if (fuse_from_previous_note < 0) {
+ gregorio_note *previous_note = gregorio_glyph_last_note(
+ gregorio_previous_non_texverb_glyph(glyph));
+ switch (previous_note->u.note.shape) {
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
+ case S_ORISCUS_SCAPUS:
+ fuse_head = FUSE_Lower;
+ break;
+ default:
+ break;
+ }
+ } else if (fuse_from_previous_note > 1) {
+ fuse_head = FUSE_Upper;
+ }
+ break;
+
+ default:
+ /* not directionally head-fusable */
+ break;
+ }
+
+ switch (glyph->u.notes.glyph_type) {
+ case G_FLEXA:
+ if (fuse_to_next_note <= 0) {
+ /* a flexa is only fusable up */
+ break;
+ }
+ /* else fall through */
+ case G_VIRGA_REVERSA:
+ case G_PUNCTUM:
+ /* tail-fusable */
+ if (fuse_to_next_note < 0) {
+ fuse_tail = FUSE_Down;
+ fuse_ambitus = -fuse_to_next_note;
+ } else if (fuse_to_next_note > 0) {
+ fuse_tail = FUSE_Up;
+ fuse_ambitus = fuse_to_next_note;
+ }
+
+ if (*fuse_tail && liquescentia == LIQ_Nothing) {
+ liquescentia = "";
+ }
+ break;
+
+ default:
+ /* not tail-fusable */
+ break;
+ }
+
+ if ((*fuse_tail && shape == SHAPE_OriscusReversus)
+ || ((shape == SHAPE_OriscusReversus || shape == SHAPE_OriscusScapus
+ || shape == SHAPE_OriscusScapusLongqueue)
+ && is_fused(glyph->u.notes.liquescentia))) {
+ shape = SHAPE_Oriscus;
+ }
+
current_note = glyph->u.notes.first_note;
+ if (is_single_note) {
+ if (liquescentia == LIQ_Nothing) {
+ liquescentia = "";
+ }
+ if (!(*fuse_tail)) {
+ /* single note fused shapes have weird names */
+ if (fuse_head == FUSE_Upper) {
+ if (shape == SHAPE_Punctum) {
+ shape = SHAPE_PunctumLineBL;
+ } else if (shape == SHAPE_Oriscus) {
+ shape = SHAPE_OriscusLineBL;
+ }
+ } else if (fuse_head == FUSE_Lower) {
+ if (shape == SHAPE_Punctum) {
+ shape = SHAPE_PunctumLineTL;
+ } else if (shape == SHAPE_Oriscus) {
+ shape = SHAPE_OriscusReversusLineTL;
+ }
+ }
+ fuse_head = "";
+ }
+ gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s%s", fuse_head, shape,
+ tex_ambitus[fuse_ambitus], liquescentia, fuse_tail);
+ return buf;
+ }
if (!current_note->next) {
- gregorio_message(_("called with a multi-note glyph that has only "
- "one note"), "compute_glyph_name", VERBOSITY_ERROR, 0);
- return "";
+ gregorio_message(_("called with a multi-note glyph that has only "
+ "one note"), "compute_glyph_name", VERBOSITY_ERROR, 0);
+ return "";
}
if (!(ambitus1 = compute_ambitus(current_note))) {
return "";
}
- /* the salicus queue is at the end of the glyph, and it doesn't exist for
- * the liquescent forms */
- if (strcmp(shape, "SalicusLongqueue") == 0
- && strcmp(liquescentia, "Nothing") != 0) {
- shape = "Salicus";
+ if (is_fused(glyph->u.notes.liquescentia)) {
+ if (shape == SHAPE_Flexus || shape == SHAPE_FlexusLongqueue) {
+ if (fuse_to_next_note) {
+ fuse_head = "";
+ }
+ if (*fuse_head) {
+ shape = SHAPE_Flexus;
+ } else {
+ shape = SHAPE_FlexusNobar;
+ }
+ } else if (shape == SHAPE_Porrectus) {
+ shape = SHAPE_PorrectusNobar;
+ }
+ } else {
+ if (fuse_to_next_note && shape == SHAPE_FlexusLongqueue) {
+ /* a porrectus-like flexus has no longqueue variant */
+ shape = SHAPE_Flexus;
+ }
+ }
+ if (shape == SHAPE_SalicusLongqueue && liquescentia != LIQ_Nothing) {
+ /* the salicus queue is at the end of the glyph, and it doesn't exist
+ * for the liquescent forms */
+ shape = SHAPE_Salicus;
}
current_note = current_note->next;
if (!current_note->next) {
- gregorio_snprintf(buf, BUFSIZE, "%s%s%s", shape, tex_ambitus[ambitus1],
- liquescentia);
+ gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s%s%s", fuse_head, shape,
+ tex_ambitus[ambitus1], tex_ambitus[fuse_ambitus],
+ liquescentia, fuse_tail);
return buf;
}
if (!(ambitus2 = compute_ambitus(current_note))) {
@@ -435,24 +513,157 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph,
}
current_note = current_note->next;
if (!current_note->next) {
- gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s", shape,
- tex_ambitus[ambitus1], tex_ambitus[ambitus2], liquescentia);
+ gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s%s%s%s", fuse_head, shape,
+ tex_ambitus[ambitus1], tex_ambitus[ambitus2],
+ tex_ambitus[fuse_ambitus], liquescentia, fuse_tail);
return buf;
}
if (!(ambitus3 = compute_ambitus(current_note))) {
return "";
}
- gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s%s", shape, tex_ambitus[ambitus1],
- tex_ambitus[ambitus2], tex_ambitus[ambitus3], liquescentia);
+ gregorio_snprintf(buf, BUFSIZE, "%s%s%s%s%s%s%s%s", fuse_head, shape,
+ tex_ambitus[ambitus1], tex_ambitus[ambitus2], tex_ambitus[ambitus3],
+ tex_ambitus[fuse_ambitus], liquescentia, fuse_tail);
return buf;
}
+static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note,
+ gregorio_glyph *glyph, gregorio_element *element, gtex_alignment *type)
+{
+ static char buf[128];
+ const char *name;
+
+ if (!note) {
+ gregorio_message(_("called with NULL pointer"),
+ "gregoriotex_determine_note_glyph_name", VERBOSITY_ERROR, 0);
+ return "";
+ }
+
+ *type = AT_ONE_NOTE;
+ switch (note->u.note.shape) {
+ case S_PUNCTUM_INCLINATUM:
+ *type = AT_PUNCTUM_INCLINATUM;
+ return SHAPE_PunctumInclinatum;
+ case S_PUNCTUM_INCLINATUM_DEMINUTUS:
+ return SHAPE_PunctumInclinatumDeminutus;
+ case S_PUNCTUM_INCLINATUM_AUCTUS:
+ return SHAPE_PunctumInclinatumAuctus;
+ case S_PUNCTUM:
+ return compute_glyph_name(glyph, SHAPE_Punctum, LG_FUSIBLE_INITIO, true);
+ case S_PUNCTUM_AUCTUS_ASCENDENS:
+ return SHAPE_PunctumAscendens;
+ case S_PUNCTUM_AUCTUS_DESCENDENS:
+ return SHAPE_PunctumDescendens;
+ case S_PUNCTUM_DEMINUTUS:
+ return SHAPE_PunctumDeminutus;
+ case S_PUNCTUM_CAVUM:
+ return SHAPE_PunctumCavum;
+ case S_LINEA:
+ return SHAPE_Linea;
+ case S_LINEA_PUNCTUM:
+ return SHAPE_LineaPunctum;
+ case S_LINEA_PUNCTUM_CAVUM:
+ return SHAPE_LineaPunctumCavum;
+ case S_VIRGA:
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ return SHAPE_Virga;
+ }
+ return SHAPE_VirgaLongqueue;
+ case S_VIRGA_REVERSA:
+ switch (note->u.note.liquescentia) {
+ case L_AUCTUS_ASCENDENS:
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ name = SHAPE_VirgaReversaAscendens;
+ } else {
+ name = SHAPE_VirgaReversaLongqueueAscendens;
+ }
+ if (note->u.note.pitch - LOWEST_PITCH == 3) {
+ /* if we're on the 'd' line, the queue could be long or short */
+ gregorio_snprintf(buf, sizeof buf,
+ "VirgaReversaAscendensOnDLine{\\GreCP%s}", name);
+ return buf;
+ }
+ return name;
+ case L_AUCTUS_DESCENDENS:
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ return SHAPE_VirgaReversaDescendens;
+ }
+ return SHAPE_VirgaReversaLongqueueDescendens;
+ default:
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ return compute_glyph_name(glyph, SHAPE_VirgaReversa, LG_NONE,
+ true);
+ }
+ return compute_glyph_name(glyph, SHAPE_VirgaReversaLongqueue,
+ LG_NONE, true);
+ }
+ case S_ORISCUS_ASCENDENS:
+ *type = AT_ORISCUS;
+ return compute_glyph_name(glyph, SHAPE_Oriscus, LG_NONE, true);
+ case S_ORISCUS_DESCENDENS:
+ *type = AT_ORISCUS;
+ return compute_glyph_name(glyph, SHAPE_OriscusReversus, LG_NONE, true);
+ case S_ORISCUS_DEMINUTUS:
+ *type = AT_ORISCUS;
+ return SHAPE_OriscusDeminutus;
+ case S_QUILISMA:
+ *type = AT_QUILISMA;
+ return compute_glyph_name(glyph, SHAPE_Quilisma, LG_NONE, true);
+ case S_ORISCUS_SCAPUS:
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ return compute_glyph_name(glyph, SHAPE_OriscusScapus, LG_NONE,
+ true);
+ }
+ return compute_glyph_name(glyph, SHAPE_OriscusScapusLongqueue, LG_NONE,
+ true);
+ case S_STROPHA:
+ *type = AT_STROPHA;
+ if (!(note->u.note.liquescentia &
+ (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS))) {
+ return SHAPE_Stropha;
+ }
+ /* else fall through to next case */
+ case S_STROPHA_AUCTA:
+ *type = AT_STROPHA;
+ if (is_shortqueue(note->u.note.pitch, glyph, element)) {
+ return SHAPE_StrophaAucta;
+ }
+ return SHAPE_StrophaAuctaLongtail;
+ case S_PUNCTUM_CAVUM_INCLINATUM:
+ *type = AT_PUNCTUM_INCLINATUM;
+ return SHAPE_PunctumCavumInclinatum;
+ case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
+ *type = AT_PUNCTUM_INCLINATUM;
+ return SHAPE_PunctumCavumInclinatumAuctus;
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ *type = AT_ORISCUS;
+ return SHAPE_OriscusCavum;
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ *type = AT_ORISCUS;
+ return SHAPE_OriscusCavumAuctus;
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ *type = AT_ORISCUS;
+ return SHAPE_OriscusCavumDeminutus;
+ case S_FLAT:
+ return SHAPE_Flat;
+ case S_SHARP:
+ return SHAPE_Sharp;
+ case S_NATURAL:
+ return SHAPE_Natural;
+ default:
+ gregorio_messagef("gregoriotex_determine_note_glyph_name",
+ VERBOSITY_ERROR, 0, _("called with unknown shape: %s"),
+ gregorio_shape_to_string(note->u.note.shape));
+ return "";
+ }
+}
+
/* the function that calculates the number of the glyph. It also
* calculates the type, used for determining the position of signs. Type is
* very basic, it is only the global dimensions : torculus, one_note, etc. */
const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
- const gregorio_element *const element, gtex_alignment *const type,
+ const gregorio_element *const element, gtex_alignment *const type,
gtex_type *const gtype)
{
const char *shape = NULL;
@@ -477,47 +688,40 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
*type = AT_QUILISMA;
/* the next if is because we made the choice that AUCTUS shapes
* look like pes quadratum. */
- if (glyph->u.notes.liquescentia == L_AUCTUS_ASCENDENS
- || glyph->u.notes.liquescentia == L_AUCTUS_DESCENDENS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_DESCENDENS_INITIO_DEBILIS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_ASCENDENS_INITIO_DEBILIS) {
+ if (glyph->u.notes.liquescentia
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
*gtype = T_PESQUILISMAQUADRATUM;
- shape = "PesQuilismaQuadratum";
+ shape = SHAPE_PesQuilismaQuadratum;
} else {
*gtype = T_PESQUILISMA;
- shape = "PesQuilisma";
+ shape = SHAPE_PesQuilisma;
}
ltype = LG_NO_INITIO;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
case S_ORISCUS_SCAPUS:
*type = AT_ORISCUS;
/* TODO: we could factorize this code */
- if (glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
+ if (!is_tail_liquescentia(glyph->u.notes.liquescentia)
&& is_longqueue(pitch, glyph, element)) {
*gtype = T_PESQUASSUS_LONGQUEUE;
- shape = "PesQuassusLongqueue";
+ shape = SHAPE_PesQuassusLongqueue;
} else {
*gtype = T_PESQUASSUS;
- shape = "PesQuassus";
+ shape = SHAPE_PesQuassus;
}
ltype = LG_NO_INITIO;
break;
default:
*type = AT_ONE_NOTE;
- if (glyph->u.notes.liquescentia == L_AUCTUS_ASCENDENS
- || glyph->u.notes.liquescentia == L_AUCTUS_DESCENDENS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_DESCENDENS_INITIO_DEBILIS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_ASCENDENS_INITIO_DEBILIS) {
+ if (glyph->u.notes.liquescentia
+ & (L_AUCTUS_ASCENDENS | L_AUCTUS_DESCENDENS)) {
*gtype = T_PESQUADRATUM;
- shape = "PesQuadratum";
+ shape = SHAPE_PesQuadratum;
} else {
*gtype = T_PES;
- shape = "Pes";
+ shape = SHAPE_Pes;
}
ltype = LG_ALL;
break;
@@ -528,37 +732,38 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
switch (glyph->u.notes.first_note->u.note.shape) {
case S_QUILISMA:
*type = AT_QUILISMA;
- if (glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
+ if (!is_tail_liquescentia(glyph->u.notes.liquescentia)
&& is_longqueue(pitch, glyph, element)) {
*gtype = T_PESQUILISMAQUADRATUM_LONGQUEUE;
- shape = "PesQuilismaQuadratumLongqueue";
+ shape = SHAPE_PesQuilismaQuadratumLongqueue;
} else {
*gtype = T_PESQUILISMAQUADRATUM;
- shape = "PesQuilismaQuadratum";
+ shape = SHAPE_PesQuilismaQuadratum;
}
ltype = LG_NO_INITIO;
break;
- case S_ORISCUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
*type = AT_ORISCUS;
- if (glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
+ if (!is_tail_liquescentia(glyph->u.notes.liquescentia)
&& is_longqueue(pitch, glyph, element)) {
*gtype = T_PESQUASSUS_LONGQUEUE;
- shape = "PesQuadratumLongqueue";
+ shape = SHAPE_PesQuadratumLongqueue;
} else {
*gtype = T_PESQUASSUS;
- shape = "PesQuassus";
+ shape = SHAPE_PesQuassus;
}
ltype = LG_NO_INITIO;
break;
default:
*type = AT_ONE_NOTE;
- if (glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
+ if (!is_tail_liquescentia(glyph->u.notes.liquescentia)
&& is_longqueue(pitch, glyph, element)) {
*gtype = T_PESQUADRATUM_LONGQUEUE;
- shape = "PesQuadratumLongqueue";
+ shape = SHAPE_PesQuadratumLongqueue;
} else {
*gtype = T_PESQUADRATUM;
- shape = "PesQuadratum";
+ shape = SHAPE_PesQuadratum;
}
ltype = LG_ALL;
break;
@@ -568,12 +773,12 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
pitch = glyph->u.notes.first_note->next->u.note.pitch;
*type = AT_ONE_NOTE;
*gtype = T_VIRGA_STRATA;
- shape = "VirgaStrata";
+ shape = SHAPE_VirgaStrata;
ltype = LG_ALL;
break;
case G_FLEXA:
pitch = glyph->u.notes.first_note->u.note.pitch;
- if (glyph->u.notes.liquescentia == L_DEMINUTUS) {
+ if (glyph->u.notes.liquescentia & L_DEMINUTUS) {
*type = AT_FLEXUS_DEMINUTUS;
} else {
if (pitch - glyph->u.notes.first_note->next->u.note.pitch == 1) {
@@ -582,39 +787,48 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
*type = AT_FLEXUS;
}
}
- if (glyph->u.notes.first_note->u.note.shape == S_ORISCUS) {
+ switch (glyph->u.notes.first_note->u.note.shape) {
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
*gtype = T_FLEXUS_ORISCUS;
- shape = "FlexusOriscus";
+ shape = SHAPE_FlexusOriscus;
ltype = LG_NO_INITIO;
- } else if (glyph->u.notes.first_note->u.note.shape == S_ORISCUS_SCAPUS) {
+ break;
+
+ case S_ORISCUS_SCAPUS:
if (is_shortqueue(pitch, glyph, element)) {
*gtype = T_FLEXUS_ORISCUS_SCAPUS;
- shape = "FlexusOriscusScapus";
+ shape = SHAPE_FlexusOriscusScapus;
} else {
*gtype = T_FLEXUS_ORISCUS_SCAPUS_LONGQUEUE;
- shape = "FlexusOriscusScapusLongqueue";
+ shape = SHAPE_FlexusOriscusScapusLongqueue;
}
ltype = LG_NO_INITIO;
- } else {
+ break;
+
+ default:
if (is_shortqueue(pitch, glyph, element)) {
- *gtype = T_FLEXUS;
- shape = "Flexus";
+ *gtype = glyph->u.notes.fuse_to_next_glyph? T_PORRECTUS
+ : T_FLEXUS;
+ shape = SHAPE_Flexus;
} else {
- *gtype = T_FLEXUS_LONGQUEUE;
- shape = "FlexusLongqueue";
+ *gtype = glyph->u.notes.fuse_to_next_glyph ? T_PORRECTUS
+ : T_FLEXUS_LONGQUEUE;
+ shape = SHAPE_FlexusLongqueue;
}
ltype = LG_NO_INITIO;
+ break;
}
break;
case G_TORCULUS:
*gtype = T_TORCULUS;
if (glyph->u.notes.first_note->u.note.shape == S_QUILISMA) {
*type = AT_QUILISMA;
- shape = "TorculusQuilisma";
+ shape = SHAPE_TorculusQuilisma;
ltype = LG_NO_INITIO;
} else {
*type = AT_ONE_NOTE;
- shape = "Torculus";
+ shape = SHAPE_Torculus;
ltype = LG_ALL;
}
break;
@@ -622,10 +836,10 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
*gtype = T_TORCULUS_LIQUESCENS;
if (glyph->u.notes.first_note->u.note.shape == S_QUILISMA) {
*type = AT_QUILISMA;
- shape = "TorculusLiquescensQuilisma";
+ shape = SHAPE_TorculusLiquescensQuilisma;
} else {
*type = AT_ONE_NOTE;
- shape = "TorculusLiquescens";
+ shape = SHAPE_TorculusLiquescens;
}
ltype = LG_ONLY_DEMINUTUS;
break;
@@ -636,41 +850,40 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
case G_PORRECTUS:
*type = AT_PORRECTUS;
*gtype = T_PORRECTUS;
- shape = "Porrectus";
+ shape = SHAPE_Porrectus;
ltype = LG_NO_INITIO;
break;
case G_TORCULUS_RESUPINUS:
*gtype = T_TORCULUS_RESUPINUS;
if (glyph->u.notes.first_note->u.note.shape == S_QUILISMA) {
*type = AT_QUILISMA;
- shape = "TorculusResupinusQuilisma";
+ shape = SHAPE_TorculusResupinusQuilisma;
} else {
*type = AT_ONE_NOTE;
- shape = "TorculusResupinus";
+ shape = SHAPE_TorculusResupinus;
}
ltype = LG_ALL;
break;
case G_PORRECTUS_FLEXUS:
*type = AT_PORRECTUS;
*gtype = T_PORRECTUS_FLEXUS;
- shape = "PorrectusFlexus";
+ shape = SHAPE_PorrectusFlexus;
ltype = LG_NO_INITIO;
break;
case G_PORRECTUS_NO_BAR:
*type = AT_PORRECTUS;
*gtype = T_TORCULUS_RESUPINUS;
- shape = "PorrectusNobar";
+ shape = SHAPE_PorrectusNobar;
ltype = LG_NO_INITIO;
break;
case G_PORRECTUS_FLEXUS_NO_BAR:
*type = AT_PORRECTUS;
*gtype = T_TORCULUS_RESUPINUS_FLEXUS;
- shape = "PorrectusFlexusNobar";
+ shape = SHAPE_PorrectusFlexusNobar;
ltype = LG_NO_INITIO;
break;
case G_ANCUS:
- if (glyph->u.notes.liquescentia == L_DEMINUTUS
- || glyph->u.notes.liquescentia == L_DEMINUTUS_INITIO_DEBILIS) {
+ if (glyph->u.notes.liquescentia & L_DEMINUTUS) {
if (pitch - glyph->u.notes.first_note->next->u.note.pitch == 1) {
*type = AT_FLEXUS_1;
} else {
@@ -678,10 +891,10 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
}
if (is_shortqueue(pitch, glyph, element)) {
*gtype = T_ANCUS;
- shape = "Ancus";
+ shape = SHAPE_Ancus;
} else {
*gtype = T_ANCUS_LONGQUEUE;
- shape = "AncusLongqueue";
+ shape = SHAPE_AncusLongqueue;
}
ltype = LG_ONLY_DEMINUTUS;
} else {
@@ -692,7 +905,7 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
case G_SCANDICUS:
*type = AT_ONE_NOTE;
*gtype = T_SCANDICUS;
- shape = "Scandicus";
+ shape = SHAPE_Scandicus;
ltype = LG_NO_INITIO;
break;
case G_SALICUS:
@@ -700,13 +913,19 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
pitch = glyph->u.notes.first_note->next->next->u.note.pitch;
if (is_longqueue(pitch, glyph, element)) {
*gtype = T_SALICUS_LONGQUEUE;
- shape = "SalicusLongqueue";
+ shape = SHAPE_SalicusLongqueue;
} else {
*gtype = T_SALICUS;
- shape = "Salicus";
+ shape = SHAPE_Salicus;
}
ltype = LG_NO_INITIO;
break;
+ case G_SALICUS_FLEXUS:
+ *type = AT_ONE_NOTE;
+ *gtype = T_SALICUS_FLEXUS;
+ shape = SHAPE_SalicusFlexus;
+ ltype = LG_NO_INITIO;
+ break;
case G_ONE_NOTE:
case G_PUNCTUM_INCLINATUM:
case G_TRIGONUS:
@@ -730,16 +949,17 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
case G_TRISTROPHA_AUCTA:
case G_BIVIRGA:
case G_TRIVIRGA:
+ case G_ALTERATION:
*type = AT_ONE_NOTE;
break;
default:
gregorio_messagef("gregoriotex_determine_glyph_name", VERBOSITY_ERROR,
- 0, _("called with unknown glyph: %d"),
- glyph->u.notes.glyph_type);
+ 0, _("called with unknown glyph: %s"),
+ gregorio_glyph_type_to_string(glyph->u.notes.glyph_type));
break;
}
if (shape) {
- shape = compute_glyph_name(glyph, shape, ltype);
+ shape = compute_glyph_name(glyph, shape, ltype, false);
}
/* we fix *type with initio_debilis */
if (*type == AT_ONE_NOTE) {
@@ -752,8 +972,7 @@ const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
}
/**
- * This now does nothing useful, since the manuscript_reference is
- * now part of the score info. But we keep it here in case it may
+ * This now does nothing useful, but we keep it here in case it may
* be needed in future.
*/
static void gregoriotex_write_voice_info(FILE *f, gregorio_voice_info *voice_info)
@@ -776,17 +995,19 @@ static bool gregoriotex_is_last_of_line(gregorio_syllable *syllable)
/* the next syllable start by an end of line */
return true;
}
- current_element = (syllable->elements)[0];
- while (current_element) {
- if (current_element->type == GRE_END_OF_LINE) {
- /* we return true only if the end of line is the last element */
- if (!(current_element->next)) {
- return true;
+ if (syllable->elements) {
+ current_element = (syllable->elements)[0];
+ while (current_element) {
+ if (current_element->type == GRE_END_OF_LINE) {
+ /* we return true only if the end of line is the last element */
+ if (!(current_element->next)) {
+ return true;
+ } else {
+ return false;
+ }
} else {
- return false;
+ current_element = current_element->next;
}
- } else {
- current_element = current_element->next;
}
}
return false;
@@ -798,8 +1019,7 @@ static bool gregoriotex_is_last_of_line(gregorio_syllable *syllable)
static __inline bool is_clef(gregorio_type x)
{
- return x == GRE_C_KEY_CHANGE || x == GRE_F_KEY_CHANGE ||
- x == GRE_C_KEY_CHANGE_FLATED || x == GRE_F_KEY_CHANGE_FLATED;
+ return x == GRE_CLEF;
}
/*
@@ -1129,7 +1349,7 @@ static grestyle_style gregoriotex_fix_style(gregorio_character *first_character)
current_char = current_char->next_character;
}
/* if we reached here, this means that we there is only one style applied
- * to all the syllables */
+ * to all the characters */
return possible_fixed_style;
}
@@ -1146,20 +1366,24 @@ static void gregoriotex_write_translation(FILE *f,
if (translation == NULL) {
return;
}
- gregorio_write_text(false, translation, f,
- (&gtex_write_verb),
- (&gtex_print_char),
- (&gtex_write_begin), (&gtex_write_end), (&gtex_write_special_char));
+ gregorio_write_text(WTP_NORMAL, translation, f, &gtex_write_verb,
+ &gtex_print_char, &gtex_write_begin, &gtex_write_end,
+ &gtex_write_special_char);
}
/* a function to compute the height of the flat of a key
* the flat is always on the line of the */
-static char gregoriotex_clef_flat_height(char step, int line)
+static char clef_flat_height(gregorio_clef clef, signed char line, bool flatted)
{
char offset = 6;
- switch (step) {
- case C_KEY:
+
+ if (!flatted) {
+ return NO_KEY_FLAT;
+ }
+
+ switch (clef) {
+ case CLEF_C:
switch (line) {
case 1:
offset = 2;
@@ -1173,13 +1397,16 @@ static char gregoriotex_clef_flat_height(char step, int line)
case 4:
offset = 8;
break;
+ case 5:
+ offset = 10;
+ break;
default:
- gregorio_messagef("gregoriotex_clef_flat_height", VERBOSITY_ERROR,
+ gregorio_messagef("clef_flat_height", VERBOSITY_ERROR,
0, _("unknown line number: %d"), line);
break;
}
break;
- case F_KEY:
+ case CLEF_F:
switch (line) {
case 1:
offset = 6;
@@ -1193,15 +1420,18 @@ static char gregoriotex_clef_flat_height(char step, int line)
case 4:
offset = 5;
break;
+ case 5:
+ offset = 7;
+ break;
default:
- gregorio_messagef("gregoriotex_clef_flat_height", VERBOSITY_ERROR,
+ gregorio_messagef("clef_flat_height", VERBOSITY_ERROR,
0, _("unknown line number: %d"), line);
break;
}
break;
default:
- gregorio_messagef("gregoriotex_clef_flat_height", VERBOSITY_ERROR, 0,
- _("unknown clef type: %d"), step);
+ gregorio_messagef("clef_flat_height", VERBOSITY_ERROR, 0,
+ _("unknown clef type: %d"), clef);
break;
}
@@ -1212,8 +1442,8 @@ OFFSET_CASE(BarStandard);
OFFSET_CASE(BarVirgula);
OFFSET_CASE(BarDivisioFinalis);
-static void gregoriotex_write_bar(FILE *f, gregorio_bar type,
- gregorio_sign signs, bool is_inside_bar)
+static void write_bar(FILE *f, gregorio_bar type,
+ gregorio_sign signs, bool is_inside_bar, bool has_text)
{
/* the type number of function vepisemaorrare */
const char *offset_case = BarStandard;
@@ -1258,11 +1488,18 @@ static void gregoriotex_write_bar(FILE *f, gregorio_bar type,
case B_DIVISIO_MINOR_D6:
fprintf(f, "Dominica{6}");
break;
+ case B_DIVISIO_MINOR_D7:
+ fprintf(f, "Dominica{7}");
+ break;
+ case B_DIVISIO_MINOR_D8:
+ fprintf(f, "Dominica{8}");
+ break;
default:
- gregorio_messagef("gregoriotex_write_bar", VERBOSITY_ERROR, 0,
+ gregorio_messagef("write_bar", VERBOSITY_ERROR, 0,
_("unknown bar type: %d"), type);
break;
}
+ fprintf(f, "{%c}", has_text? '1' : '0');
switch (signs) {
case _V_EPISEMA:
fprintf(f, "{\\GreBarVEpisema{\\GreOCase%s}}%%\n", offset_case);
@@ -1281,6 +1518,16 @@ static void gregoriotex_write_bar(FILE *f, gregorio_bar type,
}
}
+static __inline char *suppose_high_ledger_line(const gregorio_note *const note)
+{
+ return note->supposed_high_ledger_line? "\\GreSupposeHighLedgerLine" : "";
+}
+
+static __inline char *suppose_low_ledger_line(const gregorio_note *const note)
+{
+ return note->supposed_low_ledger_line? "\\GreSupposeLowLedgerLine" : "";
+}
+
/*
* ! @brief Writes augmentum duplexes (double dots) We suppose we are on the
* last note. \n The algorithm is the following: if there is a previous note,
@@ -1338,7 +1585,7 @@ static void gregoriotex_write_auctum_duplex(FILE *f,
* more straightforward than it actually is...
*/
static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph,
- gregorio_note *current_note)
+ gregorio_note *current_note, int fuse_to_next_note)
{
/* in this if we consider that the puncta are only on the last two notes
* (maybe it would be useful to consider it more entirely, but it would be
@@ -1364,9 +1611,7 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph,
case G_TORCULUS:
case G_TORCULUS_RESUPINUS_FLEXUS:
case G_PORRECTUS_FLEXUS:
- if (glyph->u.notes.liquescentia != L_DEMINUTUS
- && glyph->u.notes.liquescentia !=
- L_DEMINUTUS_INITIO_DEBILIS) {
+ if (!(glyph->u.notes.liquescentia & L_DEMINUTUS)) {
shift_before = true;
}
if (is_between_lines(pitch)
@@ -1376,13 +1621,9 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph,
break;
case G_PODATUS:
if ((current_note->u.note.shape != S_PUNCTUM
- && current_note->u.note.shape != S_QUILISMA)
- || glyph->u.notes.liquescentia == L_AUCTUS_DESCENDENS
- || glyph->u.notes.liquescentia == L_AUCTUS_ASCENDENS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_ASCENDENS_INITIO_DEBILIS
- || glyph->u.notes.liquescentia ==
- L_AUCTUS_DESCENDENS_INITIO_DEBILIS) {
+ && current_note->u.note.shape != S_QUILISMA)
+ || (glyph->u.notes.liquescentia
+ & (L_AUCTUS_DESCENDENS | L_AUCTUS_ASCENDENS))) {
shift_before = true;
/* fine tuning */
if (current_note->next->u.note.pitch -
@@ -1487,6 +1728,7 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph,
* removes the space introduced by the punctummora. */
if (glyph->u.notes.glyph_type == G_PODATUS && glyph->next
&& glyph->next->type == GRE_SPACE
+ && glyph->next->u.misc.unpitched.info.space == SP_ZERO_WIDTH
&& current_note->next && glyph->next->next
&& glyph->next->next->type == GRE_GLYPH
&& glyph->next->next->u.notes.first_note
@@ -1509,6 +1751,13 @@ static void gregoriotex_write_punctum_mora(FILE *f, gregorio_glyph *glyph,
}
tmpnote = tmpnote->next;
}
+ /* use a special no-space punctum mora for ascending fusion */
+ if (fuse_to_next_note) {
+ no_space = 1;
+ if (fuse_to_next_note > 0) {
+ special_punctum = 1;
+ }
+ }
/* the normal operation */
fprintf(f, "\\GrePunctumMora{%d}{%d}{%d}{%d}%%\n", pitch_value(pitch),
@@ -1527,24 +1776,24 @@ static __inline int get_punctum_inclinatum_space_case(
/* means that it is the first note of the puncta inclinata
* sequence */
temp = note->previous->u.note.pitch - note->u.note.pitch;
- /* if (temp < -1 || temp > 1) */
+ /* negative values = ascending ambitus */
+ /* not sure we ever need to consider a larger ambitus here */
switch (temp) {
- /* we switch on the range of the inclinata this will look
- * somewhat strange if temp is negative... to be aligned
- * then, */
- case -2:
+ case 1:
+ default:
+ return 3;
case 2:
return 10;
- case -3:
case 3:
- return 11;
- case -4:
case 4:
- /* not sure we ever need to consider a larger ambitus here */
return 11;
- default:
- return 3;
- break;
+ case -1:
+ return 12;
+ case -2:
+ return 14;
+ case -3:
+ case -4:
+ return 15;
}
}
break;
@@ -1553,22 +1802,34 @@ static __inline int get_punctum_inclinatum_space_case(
/* means that it is the first note of the puncta inclinata
* sequence */
temp = note->previous->u.note.pitch - note->u.note.pitch;
- if (temp < -2 || temp > 2) {
+ if (temp < -2) {
+ return 15;
+ } else if (temp > 2) {
return 11;
} else {
if (note->previous
&& note->previous->u.note.shape ==
S_PUNCTUM_INCLINATUM_DEMINUTUS) {
- if (temp < -1 || temp > 1) {
+ if (temp < -1) {
+ /* really if the ambitus = 3rd at this point */
+ return 14;
+ } else if (temp > 1) {
/* really if the ambitus = 3rd at this point */
return 10;
} else {
+ /* temp == 0, so there is no ascending case */
return 8;
}
} else {
- /* puncta inclinatum followed by puncta inclinatum
- * debilis */
- return 7;
+ if (temp < 0) {
+ /* puncta inclinatum followed by puncta inclinatum
+ * debilis */
+ return 13;
+ } else if (temp > 0) {
+ /* puncta inclinatum followed by puncta inclinatum
+ * debilis */
+ return 7;
+ }
}
}
}
@@ -1576,12 +1837,15 @@ static __inline int get_punctum_inclinatum_space_case(
case S_PUNCTUM_INCLINATUM_AUCTUS:
case S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS:
if (note->previous) {
- /* means that it is the first note of the puncta inclinata
+ /* means that it is not the first note of the puncta inclinata
* sequence */
temp = note->previous->u.note.pitch - note->u.note.pitch;
if (temp < -1 || temp > 1) {
+ /* this is the normal interglyph space, so we'll use it for
+ * either direction */
return 1;
} else {
+ /* temp == 0, so there is no ascending case */
/* we approximate that it is the same space */
return 3;
}
@@ -1594,6 +1858,42 @@ static __inline int get_punctum_inclinatum_space_case(
return -1;
}
+static __inline int get_punctum_inclinatum_to_nobar_space_case(
+ const gregorio_glyph *const glyph)
+{
+ if (glyph->u.notes.glyph_type <= G_PUNCTA_INCLINATA) {
+ const gregorio_glyph *next = gregorio_next_non_texverb_glyph(glyph);
+ if (next && next->type == GRE_GLYPH
+ && (next->u.notes.glyph_type == G_PUNCTUM
+ || (next->u.notes.glyph_type == G_FLEXA
+ && !next->u.notes.fuse_to_next_glyph))) {
+ int descent;
+ gregorio_note *note = gregorio_glyph_last_note(glyph);
+ descent = note->u.note.pitch -
+ glyph->next->u.notes.first_note->u.note.pitch;
+ /* a negative descent is an ascent */
+ switch(descent) {
+ case -1:
+ return 19;
+ case 1:
+ return 16;
+ case -2:
+ return 20;
+ case 2:
+ return 17;
+ case -3:
+ case -4:
+ return 21;
+ case 3:
+ case 4:
+ return 18;
+ }
+ }
+ }
+
+ return -1;
+}
+
static __inline void write_single_hepisema(FILE *const f, int hepisema_case,
const gregorio_note *const note, bool connect, char height,
const grehepisema_size size, const int i,
@@ -1630,13 +1930,19 @@ static __inline void write_single_hepisema(FILE *const f, int hepisema_case,
if (i - 1 != porrectus_long_episema_index || !note->previous
|| !is_episema_shown(note->previous)) {
if (connect) {
- if (!note->next && (!glyph->next
- || glyph->next->type != GRE_SPACE
- || glyph->next->u.misc.unpitched.info.space
+ const gregorio_glyph *next;
+ if (!note->next
+ && (!(next = gregorio_next_non_texverb_glyph(glyph))
+ || next->type != GRE_SPACE
+ || next->u.misc.unpitched.info.space
!= SP_ZERO_WIDTH)) {
/* not followed by a zero-width space */
- fprintf(f, "\\GreHEpisemaBridge{%d}{%d}{-1}%%\n",
- pitch_value(height), hepisema_case);
+ /* try to fuse from punctum inclinatum to nobar glyph */
+ fprintf(f, "\\GreHEpisemaBridge{%d}{%d}{%d}{%s%s}%%\n",
+ pitch_value(height), hepisema_case,
+ get_punctum_inclinatum_to_nobar_space_case(glyph),
+ suppose_high_ledger_line(note),
+ suppose_low_ledger_line(note));
} else if (note->next
&& (note->next->u.note.shape == S_PUNCTUM_INCLINATUM
|| note->next->u.note.shape
@@ -1644,14 +1950,18 @@ static __inline void write_single_hepisema(FILE *const f, int hepisema_case,
|| note->next->u.note.shape
== S_PUNCTUM_INCLINATUM_AUCTUS)) {
/* is a punctum inclinatum of some sort */
- fprintf(f, "\\GreHEpisemaBridge{%d}{%d}{%d}%%\n",
+ fprintf(f, "\\GreHEpisemaBridge{%d}{%d}{%d}{%s%s}%%\n",
pitch_value(height), hepisema_case,
- get_punctum_inclinatum_space_case(note->next));
+ get_punctum_inclinatum_space_case(note->next),
+ suppose_high_ledger_line(note),
+ suppose_low_ledger_line(note));
}
}
- fprintf(f, "\\GreHEpisema{%d}{\\GreOCase%s}{%d}{%d}{%c}{%d}%%\n",
- pitch_value(height), note->gtex_offset_case, ambitus,
- hepisema_case, size_arg, pitch_value(height));
+ fprintf(f, "\\GreHEpisema{%d}{\\GreOCase%s}{%d}{%d}{%c}{%d}"
+ "{%s%s}%%\n", pitch_value(height), note->gtex_offset_case,
+ ambitus, hepisema_case, size_arg, pitch_value(height),
+ suppose_high_ledger_line(note),
+ suppose_low_ledger_line(note));
}
}
}
@@ -1694,14 +2004,13 @@ static void gregoriotex_write_hepisema(FILE *const f,
/* a macro to write an additional line */
-static void gregoriotex_write_additional_line(FILE *f,
- int i, gtex_type type, bool bottom,
- gregorio_note *current_note)
+static void write_additional_line(FILE *f, int i, gtex_type type, bool bottom,
+ gregorio_note *current_note, const gregorio_score *const score)
{
char ambitus = 0;
if (!current_note) {
- gregorio_message(_("called with no note"),
- "gregoriotex_write_additional_line", VERBOSITY_ERROR, 0);
+ gregorio_message(_("called with no note"), "write_additional_line",
+ VERBOSITY_ERROR, 0);
return;
}
/* patch to get a line under the full glyph in the case of dbc (for
@@ -1713,9 +2022,9 @@ static void gregoriotex_write_additional_line(FILE *f,
i = HEPISEMA_FIRST_TWO;
}
if (i == 2) {
- if (current_note->previous->u.note.pitch >= PITCH_BELOW_STAFF
+ if (current_note->previous->u.note.pitch > LOW_LEDGER_LINE_PITCH
&& current_note->previous->u.note.pitch
- <= PITCH_ABOVE_STAFF) {
+ < score->high_ledger_line_pitch) {
i = HEPISEMA_FIRST_TWO;
/* HEPISEMA_FIRST_TWO works only for first note */
current_note = current_note->previous;
@@ -1725,7 +2034,7 @@ static void gregoriotex_write_additional_line(FILE *f,
}
if (i == 3) {
if (bottom || current_note->previous->u.note.pitch
- > PITCH_ABOVE_STAFF) {
+ >= score->high_ledger_line_pitch) {
/* we don't need to add twice the same line */
return;
}
@@ -1737,9 +2046,9 @@ static void gregoriotex_write_additional_line(FILE *f,
i = HEPISEMA_FIRST_TWO;
}
if (i == 3) {
- if (current_note->previous->u.note.pitch >= PITCH_BELOW_STAFF
+ if (current_note->previous->u.note.pitch > LOW_LEDGER_LINE_PITCH
&& current_note->previous->u.note.pitch
- <= PITCH_ABOVE_STAFF) {
+ < score->high_ledger_line_pitch) {
i = HEPISEMA_FIRST_TWO;
/* HEPISEMA_FIRST_TWO works only for first note */
current_note = current_note->previous;
@@ -1749,7 +2058,7 @@ static void gregoriotex_write_additional_line(FILE *f,
}
if (i == 4) {
if (bottom || current_note->previous->u.note.pitch
- > PITCH_ABOVE_STAFF) {
+ >= score->high_ledger_line_pitch) {
/* we don't need to add twice the same line */
return;
}
@@ -1847,18 +2156,20 @@ static void gregoriotex_write_note(FILE *f, gregorio_note *note,
"gregoriotex_write_note", VERBOSITY_ERROR, 0);
return;
}
- if (note->u.note.shape == S_PUNCTUM
- && note->u.note.liquescentia != L_NO_LIQUESCENTIA) {
+ if (note->u.note.shape == S_PUNCTUM) {
switch (note->u.note.liquescentia) {
case L_AUCTUS_ASCENDENS:
note->u.note.shape = S_PUNCTUM_AUCTUS_ASCENDENS;
break;
case L_AUCTUS_DESCENDENS:
- case L_AUCTA:
note->u.note.shape = S_PUNCTUM_AUCTUS_DESCENDENS;
break;
- case L_DEMINUTUS:
case L_INITIO_DEBILIS:
+ if (glyph->u.notes.fuse_to_next_glyph > 0) {
+ break;
+ }
+ /* else fall through to next case */
+ case L_DEMINUTUS:
note->u.note.shape = S_PUNCTUM_DEMINUTUS;
default:
break;
@@ -1888,6 +2199,21 @@ static void gregoriotex_write_note(FILE *f, gregorio_note *note,
pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
type);
break;
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ fprintf(f, "\\GreOriscusCavum{%d}{%d}{%d}",
+ pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
+ type);
+ break;
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ fprintf(f, "\\GreOriscusCavumAuctus{%d}{%d}{%d}",
+ pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
+ type);
+ break;
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ fprintf(f, "\\GreOriscusCavumDeminutus{%d}{%d}{%d}",
+ pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
+ type);
+ break;
case S_LINEA_PUNCTUM_CAVUM:
fprintf(f, "\\GreLineaPunctumCavum{%d}{%d}{%d}",
pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
@@ -1897,6 +2223,15 @@ static void gregoriotex_write_note(FILE *f, gregorio_note *note,
fprintf(f, "\\GreLinea{%d}{%d}{%d}", pitch_value(note->u.note.pitch),
pitch_value(next_note_pitch), type);
break;
+ case S_FLAT:
+ fprintf(f, "\\GreFlat{%d}{0}", pitch_value(note->u.note.pitch));
+ break;
+ case S_NATURAL:
+ fprintf(f, "\\GreNatural{%d}{0}", pitch_value(note->u.note.pitch));
+ break;
+ case S_SHARP:
+ fprintf(f, "\\GreSharp{%d}{0}", pitch_value(note->u.note.pitch));
+ break;
default:
fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape,
pitch_value(note->u.note.pitch), pitch_value(next_note_pitch),
@@ -1915,9 +2250,10 @@ static int gregoriotex_syllable_first_type(gregorio_syllable *syllable)
int alteration = 0;
gregorio_glyph *glyph;
gregorio_element *element;
- if (!syllable) {
+ if (!syllable || !syllable->elements) {
gregorio_message(_("called with a NULL argument"),
"gregoriotex_syllable_first_type", VERBOSITY_ERROR, 0);
+ return 0;
}
element = syllable->elements[0];
while (element) {
@@ -1936,6 +2272,8 @@ static int gregoriotex_syllable_first_type(gregorio_syllable *syllable)
case B_DIVISIO_MINOR_D4:
case B_DIVISIO_MINOR_D5:
case B_DIVISIO_MINOR_D6:
+ case B_DIVISIO_MINOR_D7:
+ case B_DIVISIO_MINOR_D8:
result = 11;
break;
case B_DIVISIO_FINALIS:
@@ -1948,26 +2286,27 @@ static int gregoriotex_syllable_first_type(gregorio_syllable *syllable)
return result;
}
if (element->type == GRE_ELEMENT && element->u.first_glyph) {
- glyph = element->u.first_glyph;
- while (glyph) {
- if (alteration == 0) {
- switch (glyph->type) {
- case GRE_FLAT:
- alteration = 20;
- break;
- case GRE_NATURAL:
- alteration = 40;
- break;
- case GRE_SHARP:
- alteration = 60;
- break;
- default:
- /* do nothing */
- break;
- }
- }
+ for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) {
if (glyph->type == GRE_GLYPH && glyph->u.notes.first_note) {
switch (glyph->u.notes.glyph_type) {
+ case G_ALTERATION:
+ if (alteration == 0) {
+ switch (glyph->u.notes.first_note->u.note.shape) {
+ case S_FLAT:
+ alteration = 20;
+ break;
+ case S_NATURAL:
+ alteration = 40;
+ break;
+ case S_SHARP:
+ alteration = 60;
+ break;
+ default:
+ /* do nothing */
+ break;
+ }
+ }
+ continue;
case G_TRIGONUS:
case G_PUNCTA_INCLINATA:
case G_2_PUNCTA_INCLINATA_DESCENDENS:
@@ -2144,7 +2483,8 @@ static __inline void fixup_height_extrema(signed char *const top_height,
static void gregoriotex_write_signs(FILE *f, gtex_type type,
gregorio_glyph *glyph, gregorio_note *note,
- gregoriotex_status *const status)
+ int fuse_to_next_note, gregoriotex_status *const status,
+ const gregorio_score *const score)
{
/* i is the number of the note for which we are typesetting the sign. */
int i;
@@ -2161,12 +2501,12 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type,
for (current_note = note, i = 1; current_note;
current_note = current_note->next, ++i) {
/* we start by the additional lines */
- if (current_note->u.note.pitch < PITCH_BELOW_STAFF) {
- gregoriotex_write_additional_line(f, i, type, true, current_note);
+ if (current_note->u.note.pitch <= LOW_LEDGER_LINE_PITCH) {
+ write_additional_line(f, i, type, true, current_note, score);
status->bottom_line = 1;
}
- if (current_note->u.note.pitch > PITCH_ABOVE_STAFF) {
- gregoriotex_write_additional_line(f, i, type, false, current_note);
+ if (current_note->u.note.pitch >= score->high_ledger_line_pitch) {
+ write_additional_line(f, i, type, false, current_note, score);
}
if (current_note->texverb) {
fprintf(f, "%% verbatim text at note level:\n%s%%\n"
@@ -2234,7 +2574,8 @@ static void gregoriotex_write_signs(FILE *f, gtex_type type,
switch (current_note->signs) {
case _PUNCTUM_MORA:
case _V_EPISEMA_PUNCTUM_MORA:
- gregoriotex_write_punctum_mora(f, glyph, current_note);
+ gregoriotex_write_punctum_mora(f, glyph, current_note,
+ fuse_to_next_note);
break;
case _AUCTUM_DUPLEX:
case _V_EPISEMA_AUCTUM_DUPLEX:
@@ -2269,8 +2610,8 @@ static char *determine_leading_shape(gregorio_glyph *glyph)
case S_QUILISMA:
head = "Quilisma";
break;
- case S_ORISCUS:
- case S_ORISCUS_SCAPUS:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
head = "Oriscus";
break;
default:
@@ -2278,17 +2619,10 @@ static char *determine_leading_shape(gregorio_glyph *glyph)
break;
}
- switch (glyph->u.notes.liquescentia) {
- case L_INITIO_DEBILIS:
- case L_DEMINUTUS_INITIO_DEBILIS:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- case L_AUCTA_INITIO_DEBILIS:
+ if (glyph->u.notes.liquescentia & L_INITIO_DEBILIS) {
head_liquescence = "InitioDebilis";
- break;
- default:
+ } else {
head_liquescence = "";
- break;
}
gregorio_snprintf(buf, BUFSIZE, "Leading%s%s%s", head, tex_ambitus[ambitus],
@@ -2296,9 +2630,9 @@ static char *determine_leading_shape(gregorio_glyph *glyph)
return buf;
}
-static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
+static void write_glyph(FILE *f, gregorio_syllable *syllable,
gregorio_element *element, gregorio_glyph *glyph,
- gregoriotex_status *const status)
+ gregoriotex_status *const status, const gregorio_score *const score)
{
/* glyph number is the number of the glyph in the fonte, it is discussed in
* later comments
@@ -2311,16 +2645,25 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
char next_note_pitch = 0;
gregorio_note *current_note;
const char *leading_shape, *shape;
+ const gregorio_glyph *prev_glyph =
+ gregorio_previous_non_texverb_glyph(glyph);
+ int fuse_to_next_note, fuse_from_previous_note =
+ (prev_glyph && prev_glyph->type == GRE_GLYPH)
+ ? prev_glyph->u.notes.fuse_to_next_glyph : 0;
if (!glyph) {
- gregorio_message(_("called with NULL pointer"),
- "gregoriotex_write_glyph", VERBOSITY_ERROR, 0);
+ gregorio_message(_("called with NULL pointer"), "write_glyph",
+ VERBOSITY_ERROR, 0);
return;
}
if (glyph->type != GRE_GLYPH || !glyph->u.notes.first_note) {
- gregorio_message(_("called with glyph without note"),
- "gregoriotex_write_glyph", VERBOSITY_ERROR, 0);
+ gregorio_message(_("called with glyph without note"), "write_glyph",
+ VERBOSITY_ERROR, 0);
return;
}
+ fuse_to_next_note = glyph->u.notes.fuse_to_next_glyph;
+ if (fuse_from_previous_note) {
+ fprintf(f, "\\GreFuse");
+ }
next_note_pitch = gregorio_determine_next_pitch(syllable, element, glyph);
current_note = glyph->u.notes.first_note;
/* first we check if it is really a unique glyph in gregoriotex... the
@@ -2341,52 +2684,57 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
while (current_note) {
gregoriotex_write_note(f, current_note, glyph, element,
next_note_pitch);
- gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, status);
+ gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
+ current_note->next ? 0 : fuse_to_next_note, status, score);
current_note = current_note->next;
}
+ /* TODO: handle fusion to next note */
break;
case G_SCANDICUS:
- if (glyph->u.notes.liquescentia == L_DEMINUTUS
- || glyph->u.notes.liquescentia == L_DEMINUTUS_INITIO_DEBILIS
- || glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA) {
+ if ((glyph->u.notes.liquescentia & L_DEMINUTUS)
+ || glyph->u.notes.liquescentia == L_NO_LIQUESCENTIA
+ || glyph->u.notes.liquescentia == L_FUSED) {
shape = gregoriotex_determine_glyph_name(glyph, element, &type,
&gtype);
fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape,
pitch_value(glyph->u.notes.first_note->u.note.pitch),
pitch_value(next_note_pitch), type);
gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note,
- status);
+ fuse_to_next_note, status, score);
} else {
while (current_note) {
gregoriotex_write_note(f, current_note, glyph, element,
next_note_pitch);
gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
- status);
+ current_note->next ? 0 : fuse_to_next_note, status,
+ score);
current_note = current_note->next;
}
}
break;
case G_ANCUS:
- if (glyph->u.notes.liquescentia == L_DEMINUTUS
- || glyph->u.notes.liquescentia == L_DEMINUTUS_INITIO_DEBILIS) {
+ if (glyph->u.notes.liquescentia & L_DEMINUTUS) {
shape = gregoriotex_determine_glyph_name(glyph, element, &type,
&gtype);
fprintf(f, "\\GreGlyph{\\GreCP%s}{%d}{%d}{%d}", shape,
pitch_value(glyph->u.notes.first_note->u.note.pitch),
pitch_value(next_note_pitch), type);
gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note,
- status);
+ fuse_to_next_note, status, score);
} else {
while (current_note) {
gregoriotex_write_note(f, current_note, glyph, element,
next_note_pitch);
gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
- status);
+ current_note->next ? 0 : fuse_to_next_note, status,
+ score);
current_note = current_note->next;
}
}
break;
case G_TORCULUS_RESUPINUS_FLEXUS:
+ /* we retain this "old-style" fusion as it does look marginally better
+ * on screen */
leading_shape = determine_leading_shape(glyph);
/* trick to have the good position for these glyphs */
glyph->u.notes.glyph_type = G_PORRECTUS_FLEXUS_NO_BAR;
@@ -2399,14 +2747,15 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
glyph->u.notes.first_note = current_note;
glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS_FLEXUS;
gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note,
- status);
+ fuse_to_next_note, status, score);
break;
case G_BIVIRGA:
case G_TRIVIRGA:
while (current_note) {
gregoriotex_write_note(f, current_note, glyph, element,
next_note_pitch);
- gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, status);
+ gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
+ current_note->next ? 0 : fuse_to_next_note, status, score);
current_note = current_note->next;
if (current_note) {
fprintf(f, "\\GreEndOfGlyph{4}%%\n");
@@ -2420,48 +2769,65 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
while (current_note) {
gregoriotex_write_note(f, current_note, glyph, element,
next_note_pitch);
- gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, status);
+ gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
+ current_note->next ? 0 : fuse_to_next_note, status, score);
current_note = current_note->next;
if (current_note) {
fprintf(f, "\\GreEndOfGlyph{5}%%\n");
}
}
break;
+
case G_PUNCTUM:
- if (glyph->u.notes.first_note->u.note.shape != S_ORISCUS
- && glyph->u.notes.first_note->u.note.shape != S_ORISCUS_AUCTUS
- && glyph->u.notes.first_note->u.note.shape !=
- S_ORISCUS_DEMINUTUS
- && glyph->u.notes.first_note->u.note.shape !=
- S_ORISCUS_SCAPUS) {
+ switch (glyph->u.notes.first_note->u.note.shape) {
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
+ case S_ORISCUS_DEMINUTUS:
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ case S_ORISCUS_SCAPUS:
+ /* don't change the oriscus */
+ break;
+
+ default:
switch (glyph->u.notes.liquescentia) {
case L_AUCTUS_ASCENDENS:
glyph->u.notes.first_note->u.note.shape =
S_PUNCTUM_AUCTUS_ASCENDENS;
break;
case L_AUCTUS_DESCENDENS:
- case L_AUCTA:
glyph->u.notes.first_note->u.note.shape =
S_PUNCTUM_AUCTUS_DESCENDENS;
break;
- case L_DEMINUTUS:
case L_INITIO_DEBILIS:
+ if (glyph->u.notes.fuse_to_next_glyph > 0) {
+ break;
+ }
+ /* else fall through to next case */
+ case L_DEMINUTUS:
glyph->u.notes.first_note->u.note.shape = S_PUNCTUM_DEMINUTUS;
default:
break;
}
+ break;
}
- /* else fall into the next case */
+
+ /* fall into the next case */
case G_PUNCTUM_INCLINATUM:
case G_VIRGA:
case G_VIRGA_REVERSA:
case G_STROPHA:
case G_STROPHA_AUCTA:
+ case G_ALTERATION:
gregoriotex_write_note(f, glyph->u.notes.first_note, glyph, element,
next_note_pitch);
- gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note, status);
+ gregoriotex_write_signs(f, T_ONE_NOTE, glyph, current_note,
+ fuse_to_next_note, status, score);
break;
default:
+ /* we retain this "old-style" fusion as it does look marginally better
+ * on screen */
/* special case of the torculus resupinus which first note is not a
* punctum */
if (glyph->u.notes.glyph_type == G_TORCULUS_RESUPINUS
@@ -2480,7 +2846,7 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
glyph->u.notes.first_note = current_note;
glyph->u.notes.glyph_type = G_TORCULUS_RESUPINUS;
gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note,
- status);
+ fuse_to_next_note, status, score);
break;
} else {
shape = gregoriotex_determine_glyph_name(glyph, element, &type,
@@ -2489,7 +2855,7 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
pitch_value(glyph->u.notes.first_note->u.note.pitch),
pitch_value(next_note_pitch), type);
gregoriotex_write_signs(f, gtype, glyph, glyph->u.notes.first_note,
- status);
+ fuse_to_next_note, status, score);
break;
}
}
@@ -2498,17 +2864,28 @@ static void gregoriotex_write_glyph(FILE *f, gregorio_syllable *syllable,
/* here we absolutely need to pass the syllable as an argument, because we
* will need the next note, that may be contained in the next syllable */
-static void gregoriotex_write_element(FILE *f, gregorio_syllable *syllable,
- gregorio_element *element, gregoriotex_status *status)
+static void write_element(FILE *f, gregorio_syllable *syllable,
+ gregorio_element *element, gregoriotex_status *status,
+ const gregorio_score *const score)
{
if (element->type == GRE_ELEMENT) {
gregorio_glyph *glyph;
for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) {
switch (glyph->type) {
case GRE_SPACE:
- /* we assume here that it is a SP_ZERO_WIDTH, the only one a
- * glyph can be */
- fprintf(f, "\\GreEndOfGlyph{1}%%\n");
+ switch (glyph->u.misc.unpitched.info.space) {
+ case SP_ZERO_WIDTH:
+ fprintf(f, "\\GreEndOfGlyph{1}%%\n");
+ break;
+ case SP_HALF_SPACE:
+ fprintf(f, "\\GreEndOfGlyph{22}%%\n");
+ break;
+ default:
+ gregorio_message(
+ _("encountered an unexpected glyph-level space"),
+ "write_element", VERBOSITY_ERROR, 0);
+ break;
+ }
break;
case GRE_TEXVERB_GLYPH:
@@ -2518,31 +2895,28 @@ static void gregoriotex_write_element(FILE *f, gregorio_syllable *syllable,
}
break;
- case GRE_FLAT:
- fprintf(f, "\\GreFlat{%d}{0}%%\n",
- pitch_value(glyph->u.misc.pitched.pitch));
- break;
-
- case GRE_NATURAL:
- fprintf(f, "\\GreNatural{%d}{0}%%\n",
- pitch_value(glyph->u.misc.pitched.pitch));
- break;
-
- case GRE_SHARP:
- fprintf(f, "\\GreSharp{%d}{0}%%\n",
- pitch_value(glyph->u.misc.pitched.pitch));
- break;
-
default:
/* at this point glyph->type is GRE_GLYPH */
assert(glyph->type == GRE_GLYPH);
- gregoriotex_write_glyph(f, syllable, element, glyph, status);
- if (glyph->next && glyph->next->type == GRE_GLYPH) {
- if (is_puncta_inclinata(glyph->next->u.notes.glyph_type)
+ write_glyph(f, syllable, element, glyph, status, score);
+ if (glyph->next && glyph->next->type == GRE_GLYPH &&
+ glyph->next->u.notes.glyph_type != G_ALTERATION) {
+ if (is_fused(glyph->next->u.notes.liquescentia)) {
+ int space_case =
+ get_punctum_inclinatum_to_nobar_space_case(glyph);
+ if (space_case >= 0) {
+ /* fuse from punctum inclinatum to nobar glyph */
+ fprintf(f, "\\GreEndOfGlyph{%d}%%\n", space_case);
+ } else {
+ fprintf(f, "\\GreEndOfGlyph{1}%%\n");
+ }
+ } else if (is_puncta_inclinata(
+ glyph->next->u.notes.glyph_type)
|| glyph->next->u.notes.glyph_type ==
G_PUNCTA_INCLINATA) {
fprintf(f, "\\GreEndOfGlyph{9}%%\n");
- } else {
+ } else if (glyph->u.notes.glyph_type != G_ALTERATION
+ || !glyph->next) {
fprintf(f, "\\GreEndOfGlyph{0}%%\n");
}
}
@@ -2574,54 +2948,23 @@ static void write_fixed_text_styles(FILE *f, gregorio_character *syllable_text,
}
}
-static void gregoriotex_write_text(FILE *f, gregorio_character *text,
- bool *first_syllable)
+static void write_text(FILE *const f, const gregorio_character *const text)
{
- bool skip_initial = first_syllable && *first_syllable;
if (text == NULL) {
fprintf(f, "{}{}{}{}{}");
- if (skip_initial) {
- fprintf(f, "\\GreForceHyphen{}");
- }
return;
}
fprintf(f, "{");
- gregorio_write_text(skip_initial, text, f,
- (&gtex_write_verb), (&gtex_print_char), (&gtex_write_begin),
- (&gtex_write_end), (&gtex_write_special_char));
+ gregorio_write_text(WTP_NORMAL, text, f, &gtex_write_verb,
+ &gtex_print_char, &gtex_write_begin, &gtex_write_end,
+ &gtex_write_special_char);
fprintf(f, "}{");
- gregorio_write_first_letter_alignment_text(skip_initial, text, f,
- (&gtex_write_verb), (&gtex_print_char), (&gtex_write_begin),
- (&gtex_write_end), (&gtex_write_special_char));
- if (first_syllable) {
- *first_syllable = false;
- }
+ gregorio_write_first_letter_alignment_text(WTP_NORMAL, text,
+ f, &gtex_write_verb, &gtex_print_char, &gtex_write_begin,
+ &gtex_write_end, &gtex_write_special_char);
gregoriotex_ignore_style = gregoriotex_next_ignore_style;
gregoriotex_next_ignore_style = ST_NO_STYLE;
fprintf(f, "}");
- if (skip_initial) {
- /* Check to see if we need to force a hyphen (empty first syllable) */
- for (; text; text = text->next_character) {
- if (text->is_character) {
- break;
- } else if (text->cos.s.type == ST_T_BEGIN) {
- if (text->cos.s.style == ST_VERBATIM ||
- text->cos.s.style == ST_SPECIAL_CHAR) {
- break;
- } else if (text->cos.s.style == ST_INITIAL) {
- for (; text; text = text->next_character) {
- if (!text->is_character && text->cos.s.type == ST_T_END
- && text->cos.s.style == ST_INITIAL) {
- break;
- }
- }
- }
- }
- }
- if (!text) {
- fprintf(f, "\\GreForceHyphen{}");
- }
- }
}
/*
@@ -2633,59 +2976,22 @@ static void gregoriotex_write_text(FILE *f, gregorio_character *text,
static void gregoriotex_print_change_line_clef(FILE *f,
gregorio_element *current_element)
{
- if (current_element->type == GRE_C_KEY_CHANGE) {
- if (current_element->u.misc.pitched.flatted_key) {
- fprintf(f, "\\GreSetLinesClef{c}{%d}{1}{%d}%%\n",
- current_element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('c',
- current_element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreSetLinesClef{c}{%d}{1}{%d}%%\n",
- current_element->u.misc.pitched.pitch - '0', NO_KEY_FLAT);
- }
- }
- if (current_element->type == GRE_F_KEY_CHANGE) {
- if (current_element->u.misc.pitched.flatted_key) {
- /* the third argument is 0 or 1 according to the need for a
- * space before the clef */
- fprintf(f, "\\GreSetLinesClef{f}{%d}{1}{%d}%%\n",
- current_element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('f',
- current_element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreSetLinesClef{f}{%d}{1}{%d}%%\n",
- current_element->u.misc.pitched.pitch - '0', NO_KEY_FLAT);
- }
- }
-}
-
-static void handle_final_bar(FILE *f, const char *type, gregorio_syllable *syllable)
-{
- gregorio_element *element;
- fprintf(f, "\\GreFinal%s{%%\n", type);
- /* first element will be the bar, which we just handled, so skip it */
- for (element = (*syllable->elements)->next; element;
- element = element->next) {
- switch (element->type) {
- case GRE_TEXVERB_ELEMENT:
- if (element->texverb) {
- fprintf(f, "%% verbatim text at element level:\n%s%%\n"
- "%% end of verbatim text\n", element->texverb);
- }
- break;
-
- case GRE_CUSTOS:
- assert(element->u.misc.pitched.force_pitch);
- fprintf(f, "\\GreFinalCustos{%d}%%\n",
- pitch_value(element->u.misc.pitched.pitch));
- break;
-
- default:
- /* do nothing */
- break;
- }
+ if (current_element->type == GRE_CLEF) {
+ /* the third argument is 0 or 1 according to the need for a space
+ * before the clef */
+ fprintf(f, "\\GreSetLinesClef{%c}{%d}{1}{%d}{%c}{%d}{%d}%%\n",
+ gregorio_clef_to_char(current_element->u.misc.clef.clef),
+ current_element->u.misc.clef.line,
+ clef_flat_height(current_element->u.misc.clef.clef,
+ current_element->u.misc.clef.line,
+ current_element->u.misc.clef.flatted),
+ gregorio_clef_to_char(
+ current_element->u.misc.clef.secondary_clef),
+ current_element->u.misc.clef.secondary_line,
+ clef_flat_height(current_element->u.misc.clef.secondary_clef,
+ current_element->u.misc.clef.secondary_line,
+ current_element->u.misc.clef.secondary_flatted));
}
- fprintf(f, "}%%\n");
}
static __inline bool is_manual_custos(const gregorio_element *element)
@@ -2739,6 +3045,48 @@ static __inline bool next_is_bar(const gregorio_syllable *syllable,
return false; /* avoid gcc 5.1 warning */
}
+static void finish_syllable(FILE *f, gregorio_syllable *syllable) {
+ /* Very last, if the syllable is the end of a no-linebreak area: */
+ if (syllable->no_linebreak_area == NLBA_END) {
+ fprintf(f, "\\GreEndNLBArea{%d}{0}%%\n",
+ next_is_bar(syllable, NULL)? 3 : 1);
+ }
+ if (syllable->euouae == EUOUAE_END) {
+ fprintf(f, "\\GreEndEUOUAE{%d}%%\n",
+ next_is_bar(syllable, NULL)? 3 : 1);
+ }
+}
+
+static void handle_final_bar(FILE *f, const char *type, gregorio_syllable *syllable)
+{
+ gregorio_element *element;
+ fprintf(f, "\\GreFinal%s{%%\n", type);
+ /* first element will be the bar, which we just handled, so skip it */
+ for (element = (*syllable->elements)->next; element;
+ element = element->next) {
+ switch (element->type) {
+ case GRE_TEXVERB_ELEMENT:
+ if (element->texverb) {
+ fprintf(f, "%% verbatim text at element level:\n%s%%\n"
+ "%% end of verbatim text\n", element->texverb);
+ }
+ break;
+
+ case GRE_CUSTOS:
+ assert(element->u.misc.pitched.force_pitch);
+ fprintf(f, "\\GreFinalCustos{%d}%%\n",
+ pitch_value(element->u.misc.pitched.pitch));
+ break;
+
+ default:
+ /* do nothing */
+ break;
+ }
+ }
+ fprintf(f, "}%%\n");
+ finish_syllable(f, syllable);
+}
+
static __inline void write_syllable_point_and_click(FILE *const f,
const gregorio_syllable *const syllable,
const gregoriotex_status *const status)
@@ -2749,6 +3097,140 @@ static __inline void write_syllable_point_and_click(FILE *const f,
}
}
+static void write_syllable_text(FILE *f, const char *const syllable_type,
+ const gregorio_character *text, bool ignored __attribute__((unused)))
+{
+ if (syllable_type != NULL) {
+ fprintf(f, "%s{\\GreSetThisSyllable", syllable_type);
+ write_text(f, text);
+ fprintf(f, "}");
+ }
+}
+
+static void write_first_syllable_text(FILE *f, const char *const syllable_type,
+ const gregorio_character *const text, bool end_of_word)
+{
+ if (syllable_type == NULL || text == NULL) {
+ fprintf(f, "}{}{\\GreSetNoFirstSyllableText}");
+ } else {
+ gregorio_character *text_with_initial = gregorio_clone_characters(text),
+ *text_without_initial = gregorio_clone_characters(text);
+ const gregorio_character *t;
+
+ /* find out if there is a forced center -> has_forced_center */
+ gregorio_center_determination center = CENTER_NOT_DETERMINED;
+ for (t = text; t; t = t->next_character) {
+ if (!t->is_character && t->cos.s.style == ST_FORCED_CENTER) {
+ center = CENTER_FULLY_DETERMINED;
+ break;
+ }
+ }
+
+ gregorio_rebuild_first_syllable(&text_with_initial, false);
+ gregorio_rebuild_characters(&text_with_initial, center, false);
+ gregorio_set_first_word(&text_with_initial);
+
+ gregorio_rebuild_first_syllable(&text_without_initial, true);
+ gregorio_rebuild_characters(&text_without_initial, center, true);
+ gregorio_set_first_word(&text_without_initial);
+
+ fprintf(f, "}{%s}{\\GreSetFirstSyllableText", syllable_type);
+
+ fprintf(f, "{");
+ gregorio_write_first_letter_alignment_text(WTP_FIRST_SYLLABLE,
+ text_with_initial, f, &gtex_write_verb, &gtex_print_char,
+ &gtex_write_begin, &gtex_write_end, &gtex_write_special_char);
+ fprintf(f, "}{{");
+ gregorio_write_text(WTP_FIRST_SYLLABLE, text_without_initial, f,
+ &gtex_write_verb, &gtex_print_char, &gtex_write_begin,
+ &gtex_write_end, &gtex_write_special_char);
+ fprintf(f, "}}{{");
+ gregorio_write_text(WTP_NORMAL, text_with_initial, f, &gtex_write_verb,
+ &gtex_print_char, &gtex_write_begin, &gtex_write_end,
+ &gtex_write_special_char);
+ gregoriotex_ignore_style = gregoriotex_next_ignore_style;
+ gregoriotex_next_ignore_style = ST_NO_STYLE;
+ fprintf(f, "}}");
+
+ /* Check to see if we need to force a hyphen (empty first syllable) */
+ for (t = text_without_initial; t; t = t->next_character) {
+ if (t->is_character) {
+ break;
+ } else if (t->cos.s.type == ST_T_BEGIN) {
+ if (t->cos.s.style == ST_VERBATIM ||
+ t->cos.s.style == ST_SPECIAL_CHAR) {
+ break;
+ } else if (t->cos.s.style == ST_INITIAL) {
+ for (; t; t = t->next_character) {
+ if (!t->is_character && t->cos.s.type == ST_T_END
+ && t->cos.s.style == ST_INITIAL) {
+ break;
+ }
+ }
+ if (!t) break;
+ }
+ }
+ }
+ if (t || end_of_word) {
+ fprintf(f, "{}");
+ } else {
+ fprintf(f, "{\\GreEmptyFirstSyllableHyphen}");
+ }
+
+ fprintf(f, "}");
+
+ gregorio_free_characters(text_with_initial);
+ gregorio_free_characters(text_without_initial);
+ }
+}
+
+static __inline void scan_syllable_for_eol(
+ const gregorio_syllable *const syllable,
+ bool *eol_forces_custos, bool *eol_forces_custos_on) {
+ const gregorio_element *element;
+ if (syllable->elements) {
+ for (element = *(syllable->elements); element; element = element->next) {
+ if (element->type == GRE_END_OF_LINE) {
+ if (element->u.misc.unpitched.info.eol_forces_custos) {
+ *eol_forces_custos = true;
+ *eol_forces_custos_on =
+ element->u.misc.unpitched.info.eol_forces_custos_on;
+ }
+ }
+ }
+ }
+}
+
+static __inline void anticipate_event(FILE *f, gregorio_syllable *syllable) {
+ static unsigned short euouae_id = 0;
+ bool eol_forces_custos = false;
+ bool eol_forces_custos_on = false;
+
+ if (syllable->next_syllable) {
+ for (syllable = syllable->next_syllable;
+ syllable && syllable->elements && *(syllable->elements)
+ && (*(syllable->elements))->type == GRE_END_OF_LINE;
+ syllable = syllable->next_syllable) {
+ /* we are at an end-of-line, so check if custos is forced */
+ scan_syllable_for_eol(syllable, &eol_forces_custos,
+ &eol_forces_custos_on);
+ }
+ if (syllable) {
+ scan_syllable_for_eol(syllable, &eol_forces_custos,
+ &eol_forces_custos_on);
+
+ if (syllable->euouae == EUOUAE_BEGINNING) {
+ syllable->euouae_id = ++euouae_id;
+ fprintf(f, "%%\n\\GreNextSyllableBeginsEUOUAE{%hu}%%\n", euouae_id);
+ }
+ }
+ if (eol_forces_custos) {
+ fprintf(f, "%%\n\\GreUpcomingNewLineForcesCustos{%c}%%\n",
+ eol_forces_custos_on? '1' : '0');
+ }
+ }
+}
+
/*
* Arguments are relatively obvious. The most obscure is certainly first_of_disc
* which is 0 all the time, except in the case of a "clef change syllable". In
@@ -2762,12 +3244,21 @@ static __inline void write_syllable_point_and_click(FILE *const f,
* 1 in case of the first argument of a \GreDiscretionary
* 2 if we are in the second argument (necessary in order to avoid infinite loops)
*/
-static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
- bool * first_syllable, unsigned char *line_number,
- unsigned char first_of_disc, gregoriotex_status *const status)
+static void write_syllable(FILE *f, gregorio_syllable *syllable,
+ unsigned char first_of_disc, gregoriotex_status *const status,
+ const gregorio_score *const score,
+ void (*const write_this_syllable_text)
+ (FILE *, const char *, const gregorio_character *, bool))
{
gregorio_element *clef_change_element = NULL, *element;
+ const char *syllable_type = NULL;
+ bool event_anticipated = false;
+ bool end_of_word = syllable->position == WORD_END
+ || syllable->position == WORD_ONE_SYLLABLE || !syllable->text
+ || !syllable->next_syllable
+ || syllable->next_syllable->type == GRE_END_OF_LINE;
if (!syllable) {
+ write_this_syllable_text(f, NULL, NULL, end_of_word);
return;
}
/* Very first: before anything, if the syllable is the beginning of a
@@ -2776,7 +3267,7 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
fprintf(f, "\\GreBeginNLBArea{1}{0}%%\n");
}
if (syllable->euouae == EUOUAE_BEGINNING) {
- fprintf(f, "\\GreBeginEUOUAE{}%%\n");
+ fprintf(f, "\\GreBeginEUOUAE{%hu}%%\n", syllable->euouae_id);
}
/*
* first we check if the syllable is only a end of line. If it is the case,
@@ -2786,16 +3277,12 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
*/
if (syllable->elements && *(syllable->elements)) {
if ((syllable->elements)[0]->type == GRE_END_OF_LINE) {
- if ((syllable->elements)[0]->u.misc.unpitched.info.sub_type !=
- GRE_END_OF_PAR) {
- fprintf(f, "%%\n%%\n\\GreNewLine %%\n%%\n%%\n");
- } else {
+ if ((syllable->elements)[0]->u.misc.unpitched.info.eol_ragged) {
fprintf(f, "%%\n%%\n\\GreNewParLine %%\n%%\n%%\n");
+ } else {
+ fprintf(f, "%%\n%%\n\\GreNewLine %%\n%%\n%%\n");
}
- if (*line_number == 1) {
- fprintf(f, "\\GreAdjustThirdLine %%\n");
- *line_number = 0;
- }
+ write_this_syllable_text(f, NULL, syllable->text, end_of_word);
return;
}
/*
@@ -2812,12 +3299,13 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
*/
gregoriotex_print_change_line_clef(f, clef_change_element);
fprintf(f, "\\GreDiscretionary{0}{%%\n");
- gregoriotex_write_syllable(f, syllable, first_syllable,
- line_number, 1, status);
+ write_syllable(f, syllable, 1, status, score,
+ write_syllable_text);
fprintf(f, "}{%%\n");
- gregoriotex_write_syllable(f, syllable, first_syllable,
- line_number, 2, status);
+ write_syllable(f, syllable, 2, status, score,
+ write_syllable_text);
fprintf(f, "}%%\n");
+ write_this_syllable_text(f, NULL, syllable->text, end_of_word);
return;
}
}
@@ -2828,39 +3316,36 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
&& (syllable->elements)[0]->u.misc.unpitched.info.bar ==
B_DIVISIO_FINALIS) {
handle_final_bar(f, "DivisioFinalis", syllable);
+ write_this_syllable_text(f, NULL, syllable->text, end_of_word);
return;
}
if (!syllable->next_syllable && !syllable->text
&& (syllable->elements)[0]->u.misc.unpitched.info.bar ==
B_DIVISIO_MAIOR) {
handle_final_bar(f, "DivisioMaior", syllable);
+ write_this_syllable_text(f, NULL, syllable->text, end_of_word);
return;
} else {
- fprintf(f, "\\GreBarSyllable");
+ syllable_type = "\\GreBarSyllable";
}
} else {
- fprintf(f, "\\GreSyllable");
+ syllable_type = "\\GreSyllable";
}
} else {
write_fixed_text_styles(f, syllable->text,
syllable->next_syllable? syllable->next_syllable->text : NULL);
- fprintf(f, "\\GreSyllable");
+ syllable_type = "\\GreSyllable";
}
- fprintf(f, "{\\GreSetThisSyllable");
- gregoriotex_write_text(f, syllable->text, first_syllable);
- fprintf(f, "}{}{\\Gre%s}", syllable->first_word ? "FirstWord" : "Unstyled");
- if (syllable->position == WORD_END
- || syllable->position == WORD_ONE_SYLLABLE || !syllable->text
- || !syllable->next_syllable
- || syllable->next_syllable->type == GRE_END_OF_LINE
- || syllable->next_syllable->type == GRE_END_OF_PAR) {
+ write_this_syllable_text(f, syllable_type, syllable->text, end_of_word);
+ fprintf(f, "{}{\\Gre%s}", syllable->first_word ? "FirstWord" : "Unstyled");
+ if (end_of_word) {
fprintf(f, "{1}");
} else {
fprintf(f, "{0}");
}
if (syllable->next_syllable) {
fprintf(f, "{\\GreSetNextSyllable");
- gregoriotex_write_text(f, syllable->next_syllable->text, NULL);
+ write_text(f, syllable->next_syllable->text);
fprintf(f, "}{");
write_syllable_point_and_click(f, syllable, status);
fprintf(f, "}{%d}{",
@@ -2895,198 +3380,161 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
}
fprintf(f, "}{%%\n");
- for (element = *syllable->elements; element;
- element = element->next) {
- if (element->nabc_lines && element->nabc) {
- size_t i;
- for (i = 0; i < element->nabc_lines; i++) {
- if (element->nabc[i]) {
- fprintf(f, "\\GreNABCNeumes{%d}{%s}%%\n", (int)(i+1),
- element->nabc[i]);
+ if (syllable->elements) {
+ for (element = *syllable->elements; element;
+ element = element->next) {
+ if (element->nabc_lines && element->nabc) {
+ size_t i;
+ for (i = 0; i < element->nabc_lines; i++) {
+ if (element->nabc[i]) {
+ fprintf(f, "\\GreNABCNeumes{%d}{%s}%%\n", (int)(i+1),
+ element->nabc[i]);
+ }
}
}
- }
- switch (element->type) {
- case GRE_SPACE:
- switch (element->u.misc.unpitched.info.space) {
- case SP_ZERO_WIDTH:
- fprintf(f, "\\GreEndOfElement{3}{1}%%\n");
- break;
- case SP_LARGER_SPACE:
- fprintf(f, "\\GreEndOfElement{1}{0}%%\n");
- break;
- case SP_GLYPH_SPACE:
- fprintf(f, "\\GreEndOfElement{2}{0}%%\n");
- break;
- case SP_GLYPH_SPACE_NB:
- fprintf(f, "\\GreEndOfElement{2}{1}%%\n");
+ switch (element->type) {
+ case GRE_SPACE:
+ switch (element->u.misc.unpitched.info.space) {
+ case SP_ZERO_WIDTH:
+ fprintf(f, "\\GreEndOfElement{3}{1}%%\n");
+ break;
+ case SP_LARGER_SPACE:
+ fprintf(f, "\\GreEndOfElement{1}{0}%%\n");
+ break;
+ case SP_GLYPH_SPACE:
+ fprintf(f, "\\GreEndOfElement{2}{0}%%\n");
+ break;
+ case SP_NEUMATIC_CUT:
+ fprintf(f, "\\GreEndOfElement{0}{0}%%\n");
+ break;
+ case SP_AD_HOC_SPACE:
+ fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{0}%%\n",
+ element->u.misc.unpitched.info.ad_hoc_space_factor);
+ break;
+ case SP_GLYPH_SPACE_NB:
+ fprintf(f, "\\GreEndOfElement{2}{1}%%\n");
+ break;
+ case SP_LARGER_SPACE_NB:
+ fprintf(f, "\\GreEndOfElement{1}{1}%%\n");
+ break;
+ case SP_NEUMATIC_CUT_NB:
+ fprintf(f, "\\GreEndOfElement{0}{1}%%\n");
+ break;
+ case SP_AD_HOC_SPACE_NB:
+ fprintf(f, "\\GreAdHocSpaceEndOfElement{%s}{1}%%\n",
+ element->u.misc.unpitched.info.ad_hoc_space_factor);
+ break;
+ default:
+ gregorio_message(
+ _("encountered an unexpected element-level space"),
+ "write_syllable", VERBOSITY_ERROR, 0);
+ break;
+ }
break;
- case SP_LARGER_SPACE_NB:
- fprintf(f, "\\GreEndOfElement{1}{1}%%\n");
+
+ case GRE_TEXVERB_ELEMENT:
+ if (element->texverb) {
+ fprintf(f, "%% verbatim text at element level:\n%s%%\n"
+ "%% end of verbatim text\n", element->texverb);
+ }
break;
- case SP_NEUMATIC_CUT_NB:
- fprintf(f, "\\GreEndOfElement{0}{1}%%\n");
+
+ case GRE_NLBA:
+ if (element->u.misc.unpitched.info.nlba == NLBA_BEGINNING) {
+ fprintf(f, "\\GreBeginNLBArea{0}{0}%%\n");
+ } else {
+ fprintf(f, "\\GreEndNLBArea{%d}{0}%%\n",
+ next_is_bar(syllable, element)? 3 : 0);
+ }
break;
- default:
+
+ case GRE_ALT:
+ if (element->texverb) {
+ fprintf(f, "\\GreSetTextAboveLines{%s}%%\n", element->texverb);
+ }
break;
- }
- break;
- case GRE_TEXVERB_ELEMENT:
- if (element->texverb) {
- fprintf(f, "%% verbatim text at element level:\n%s%%\n"
- "%% end of verbatim text\n", element->texverb);
- }
- break;
+ case GRE_CLEF:
+ /* We don't print clef changes at the end of a line */
+ if (first_of_disc != 1) {
+ /* the third argument is 0 or 1 according to the need
+ * for a space before the clef */
+ fprintf(f, "\\GreChangeClef{%c}{%d}{%c}{%d}{%c}{%d}{%d}%%\n",
+ gregorio_clef_to_char(element->u.misc.clef.clef),
+ element->u.misc.clef.line,
+ (element->previous && element->previous->type
+ == GRE_BAR)? '0' : '1',
+ clef_flat_height(element->u.misc.clef.clef,
+ element->u.misc.clef.line,
+ element->u.misc.clef.flatted),
+ gregorio_clef_to_char(
+ element->u.misc.clef.secondary_clef),
+ element->u.misc.clef.secondary_line,
+ clef_flat_height(element->u.misc.clef.secondary_clef,
+ element->u.misc.clef.secondary_line,
+ element->u.misc.clef.secondary_flatted));
+ }
+ break;
- case GRE_NLBA:
- if (element->u.misc.unpitched.info.nlba == NLBA_BEGINNING) {
- fprintf(f, "\\GreBeginNLBArea{0}{0}%%\n");
- } else {
- fprintf(f, "\\GreEndNLBArea{%d}{0}%%\n",
- next_is_bar(syllable, element)? 3 : 0);
- }
- break;
+ case GRE_CUSTOS:
+ if (first_of_disc != 1) {
+ /*
+ * We don't print custos before a bar at the end of a line
+ */
+ /* we also print an unbreakable larger space before the custo */
+ fprintf(f, "\\GreEndOfElement{1}{1}%%\n\\GreCustos{%d}"
+ "\\GreNextCustos{%d}%%\n",
+ pitch_value(element->u.misc.pitched.pitch),
+ pitch_value(gregorio_determine_next_pitch(syllable,
+ element, NULL)));
+ }
+ break;
- case GRE_ALT:
- if (element->texverb) {
- fprintf(f, "\\GreSetTextAboveLines{%s}%%\n", element->texverb);
- }
- break;
+ case GRE_BAR:
+ write_bar(f, element->u.misc.unpitched.info.bar,
+ element->u.misc.unpitched.special_sign,
+ element->next && !is_manual_custos(element->next),
+ !element->previous && syllable->text);
+ break;
- case GRE_C_KEY_CHANGE:
- if (first_of_disc != 1) {
- /*
- * We don't print clef changes at the end of a line
- */
- if (element->previous && element->previous->type == GRE_BAR) {
- if (element->u.misc.pitched.flatted_key) {
- /* the third argument is 0 or 1 according to the need
- * for a space before the clef */
- fprintf(f, "\\GreChangeClef{c}{%d}{0}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('c',
- element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreChangeClef{c}{%d}{0}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- NO_KEY_FLAT);
- }
- } else {
- if (element->u.misc.pitched.flatted_key) {
- /* the third argument is 0 or 1 according to the need
- * for a space before the clef */
- fprintf(f, "\\GreChangeClef{c}{%d}{1}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('c',
- element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreChangeClef{c}{%d}{1}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- NO_KEY_FLAT);
- }
+ case GRE_END_OF_LINE:
+ if (!element->next) {
+ anticipate_event(f, syllable);
+ event_anticipated = true;
}
- }
- break;
-
- case GRE_F_KEY_CHANGE:
- if (first_of_disc != 1) {
- /*
- * We don't print clef changes at the end of a line
- */
- if (element->previous && element->previous->type == GRE_BAR) {
- if (element->u.misc.pitched.flatted_key) {
- /* the third argument is 0 or 1 according to the need
- * for a space before the clef */
- fprintf(f, "\\GreChangeClef{f}{%d}{0}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('f',
- element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreChangeClef{f}{%d}{0}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- NO_KEY_FLAT);
- }
+ /* here we suppose we don't have two linebreaks in the same
+ * syllable */
+ if (element->u.misc.unpitched.info.eol_ragged) {
+ fprintf(f, "%%\n%%\n\\GreNewParLine %%\n%%\n%%\n");
} else {
- if (element->u.misc.pitched.flatted_key) {
- /* the third argument is 0 or 1 according to the need
- * for a space before the clef */
- fprintf(f, "\\GreChangeClef{f}{%d}{1}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- gregoriotex_clef_flat_height('f',
- element->u.misc.pitched.pitch - '0'));
- } else {
- fprintf(f, "\\GreChangeClef{f}{%d}{1}{%d}%%\n",
- element->u.misc.pitched.pitch - '0',
- NO_KEY_FLAT);
- }
+ fprintf(f, "%%\n%%\n\\GreNewLine %%\n%%\n%%\n");
}
- }
- break;
-
- case GRE_CUSTOS:
- if (first_of_disc != 1) {
- /*
- * We don't print custos before a bar at the end of a line
- */
- /* we also print an unbreakable larger space before the custo */
- fprintf(f, "\\GreEndOfElement{1}{1}%%\n\\GreCustos{%d}"
- "\\GreNextCustos{%d}%%\n",
- pitch_value(element->u.misc.pitched.pitch),
- pitch_value(gregorio_determine_next_pitch(syllable,
- element, NULL)));
- }
- break;
-
- case GRE_BAR:
- gregoriotex_write_bar(f,
- element->u.misc.unpitched.info.bar,
- element->u.misc.unpitched.special_sign,
- element->next && !is_manual_custos(element->next));
- break;
-
- case GRE_END_OF_LINE:
- /* here we suppose we don't have two linebreaks in the same
- * syllable */
- if (element->u.misc.unpitched.info.sub_type != GRE_END_OF_PAR) {
- fprintf(f, "%%\n%%\n\\GreNewLine %%\n%%\n%%\n");
- } else {
- fprintf(f, "%%\n%%\n\\GreNewParLine %%\n%%\n%%\n");
- }
- if (*line_number == 1) {
- fprintf(f, "\\GreAdjustThirdLine %%\n");
- *line_number = 0;
- }
- break;
+ break;
- default:
- /* there current_element->type is GRE_ELEMENT */
- assert(element->type == GRE_ELEMENT);
- gregoriotex_write_element(f, syllable, element, status);
- if (element->next && (element->next->type == GRE_ELEMENT
- || (element->next->next
- && element->next->type == GRE_ALT
- && element->next->next->type ==
- GRE_ELEMENT))) {
- fprintf(f, "\\GreEndOfElement{0}{0}%%\n");
+ default:
+ /* there current_element->type is GRE_ELEMENT */
+ assert(element->type == GRE_ELEMENT);
+ write_element(f, syllable, element, status, score);
+ if (element->next && (element->next->type == GRE_ELEMENT
+ || (element->next->next
+ && element->next->type == GRE_ALT
+ && element->next->next->type ==
+ GRE_ELEMENT))) {
+ fprintf(f, "\\GreEndOfElement{0}{0}%%\n");
+ }
+ break;
}
- break;
}
}
+ if (!event_anticipated) {
+ anticipate_event(f, syllable);
+ }
fprintf(f, "}%%\n");
if (syllable->position == WORD_END
|| syllable->position == WORD_ONE_SYLLABLE || !syllable->text) {
fprintf(f, "%%\n");
}
- /* Very last, if the syllable is the end of a no-linebreak area: */
- if (syllable->no_linebreak_area == NLBA_END) {
- fprintf(f, "\\GreEndNLBArea{%d}{0}%%\n",
- next_is_bar(syllable, NULL)? 3 : 1);
- }
- if (syllable->euouae == EUOUAE_END) {
- fprintf(f, "\\GreEndEUOUAE{%d}%%\n",
- next_is_bar(syllable, NULL)? 3 : 1);
- }
+ finish_syllable(f, syllable);
}
static char *digest_to_hex(const unsigned char digest[SHA1_DIGEST_SIZE])
@@ -3134,7 +3582,7 @@ static void initialize_score(gregoriotex_status *const status,
for (voice = 0; voice < score->number_of_voices; ++voice) {
gregorio_element *element;
- gregoriotex_compute_positioning(syllable->elements[voice]);
+ gregoriotex_compute_positioning(syllable->elements[voice], score);
for (element = syllable->elements[voice]; element;
element = element->next) {
gregorio_glyph *glyph;
@@ -3169,20 +3617,84 @@ static void initialize_score(gregoriotex_status *const status,
status->point_and_click = point_and_click;
}
+static __inline void write_escapable_header_text(FILE *const f,
+ const char *text)
+{
+ /* We escape these characters into \string\ddd (where ddd is the decimal
+ * ASCII value of the character) for most escapes, and into \string\n for
+ * newlines. We do it this way to get the "raw" string values through TeX
+ * and into Lua, where the sequences become \ddd and \n respectively and
+ * are translated into their byte values. Lua can then decide whether the
+ * full strings should be evaluated by TeX as TeX or as strings */
+ for (; *text; ++text) {
+ switch (*text) {
+ case '\\':
+ case '{':
+ case '}':
+ case '~':
+ case '%': /* currently, we'll never get %, but handle it anyway */
+ case '#':
+ case '"':
+ /* these characters have special meaning to TeX */
+ fprintf(f, "\\string\\%03d", *text);
+ break;
+ case '\n':
+ /* currently, we'll never get \n, but handle it anyway */
+ fprintf(f, "\\string\\n");
+ break;
+ case '\r':
+ /* ignore */
+ break;
+ default:
+ /* UTF-8 multibyte sequences will fall into here, which is fine */
+ fputc(*text, f);
+ break;
+ }
+ }
+}
+
+static void write_header(FILE *const f, const char *const name,
+ const char *const value)
+{
+ if (value) {
+ fprintf(f, "\\GreHeader{");
+ write_escapable_header_text(f, name);
+ fprintf(f, "}{");
+ write_escapable_header_text(f, value);
+ fprintf(f, "}%%\n");
+ }
+}
+
+static void write_headers(FILE *const f, gregorio_score *const score)
+{
+ gregorio_header *header;
+
+ fprintf(f, "\\GreBeginHeaders %%\n");
+ for (header = score->headers; header; header = header->next) {
+ write_header(f, header->name, header->value);
+ }
+ fprintf(f, "\\GreEndHeaders %%\n");
+}
+
+static void suppress_expansion(FILE *const f, const char *text)
+{
+ if (!text) {
+ return;
+ }
+
+ for (; *text; ++text) {
+ if (*text == '\\') {
+ fprintf(f, "\\noexpand");
+ }
+ fputc(*text, f);
+ }
+}
+
void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
const char *const point_and_click_filename)
{
- gregorio_character *first_text;
- /* true if it is the first syllable and false if not.
- * It is for the initial. */
- bool first_syllable = false;
- char clef_letter;
- int clef_line;
- char clef_flat = NO_KEY_FLAT;
+ gregorio_clef_info clef = gregorio_default_clef;
gregorio_syllable *current_syllable;
- /* the current line (as far as we know), it is always 0, it can be 1 in the
- * case of the first line of a score with a two lines initial */
- unsigned char line = 0;
int annotation_num;
gregoriotex_status status;
@@ -3205,8 +3717,8 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
if (score->name) {
fprintf(f, "%% Name: %s\n", score->name);
}
- if (score->si.author) {
- fprintf(f, "%% Author: %s\n", score->si.author);
+ if (score->author) {
+ fprintf(f, "%% Author: %s\n", score->author);
}
if (score->gabc_copyright) {
fprintf(f, "%% The copyright of this gabc is: %s\n",
@@ -3217,38 +3729,17 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
score->score_copyright);
}
- fprintf(f, "\\GreBeginScore{%s}{%d}{%d}{%d}{%d}{%s}%%\n",
+ write_headers(f, score);
+
+ fprintf(f, "\\GreBeginScore{%s}{%d}{%d}{%d}{%d}{%s}{%u}%%\n",
digest_to_hex(score->digest), status.top_height,
status.bottom_height, bool_to_int(status.translation),
bool_to_int(status.abovelinestext),
- point_and_click_filename? point_and_click_filename : "");
- switch (score->centering) {
- case SCHEME_SYLLABLE:
- fprintf(f, "\\englishcentering%%\n");
- break;
- case SCHEME_VOWEL:
- fprintf(f, "\\defaultcentering%%\n");
- break;
- default:
- /* don't set any centering */
- break;
- }
+ point_and_click_filename? point_and_click_filename : "",
+ score->staff_lines);
if (score->nabc_lines) {
fprintf(f, "\\GreScoreNABCLines{%d}", (int)score->nabc_lines);
}
- /* we select the good font -- Deprecated (remove in next release) */
- if (score->gregoriotex_font) {
- if (!strcmp(score->gregoriotex_font, "gregorio")) {
- fprintf(f, "\\gresetgregoriofont{gregorio}%%\n");
- }
- if (!strcmp(score->gregoriotex_font, "parmesan")) {
- fprintf(f, "\\gresetgregoriofont{parmesan}%%\n");
- }
- if (!strcmp(score->gregoriotex_font, "greciliae")) {
- fprintf(f, "\\gresetgregoriofont{greciliae}%%\n");
- }
- }
- /* end Deprecated section */
if (score->annotation[0]) {
fprintf(f, "\\GreAnnotationLines");
for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS;
@@ -3263,56 +3754,48 @@ void gregoriotex_write_score(FILE *const f, gregorio_score *const score,
}
fprintf(f, "%%\n");
}
- if (score->mode != 0) {
- fprintf(f, "\\GreMode{%d}%%\n", score->mode);
+ if (score->mode) {
+ fprintf(f, "\\GreMode{");
+ if (*(score->mode) >= '1' && *(score->mode) <= '8') {
+ fprintf(f, "\\GreModeNumber{%c}%s", *(score->mode), score->mode + 1);
+ } else {
+ fprintf(f, "%s", score->mode);
+ }
+ fprintf(f, "}{");
+ suppress_expansion(f, score->mode_modifier);
+ fprintf(f, "}{");
+ suppress_expansion(f, score->mode_differentia);
+ fprintf(f, "}%%\n");
}
- /* first we draw the initial (first letter) and the initial key */
- if (score->initial_style == NO_INITIAL) {
- fprintf(f, "\\GreNoInitial %%\n");
- } else {
- if (score->initial_style == BIG_INITIAL) {
- fprintf(f, "\\GreSetBigInitial %%\n");
- line = 1;
- }
- first_text = gregorio_first_text(score);
- if (first_text) {
- fprintf(f, "\\GreSetInitial{");
- gregorio_write_initial(first_text, f,
- (&gtex_write_verb),
- (&gtex_print_char),
- (&gtex_write_begin),
- (&gtex_write_end), (&gtex_write_special_char));
- fprintf(f, "}%%\n");
- first_syllable = true;
- }
- }
- if (score->si.manuscript_reference) {
- fprintf(f, "\\GreScoreReference{%s}%%\n",
- score->si.manuscript_reference);
+
+ if (score->initial_style != INITIAL_NOT_SPECIFIED) { /* DEPRECATED by 4.1 */
+ fprintf(f, "\\GreSetInitialStyle{%d}%%\n", score->initial_style); /* DEPRECATED by 4.1 */
}
+
+ fprintf(f, "\\GreScoreOpening{%%\n"); /* GreScoreOpening#1 */
if (score->first_voice_info) {
gregoriotex_write_voice_info(f, score->first_voice_info);
}
- fprintf(f, "\\GreBeginNotes %%\n");
+ fprintf(f, "}{%%\n"); /* GreScoreOpening#2 */
if (score->first_voice_info) {
- gregorio_det_step_and_line_from_key(score->
- first_voice_info->initial_key, &clef_letter, &clef_line);
- if (score->first_voice_info->flatted_key) {
- clef_flat = gregoriotex_clef_flat_height(clef_letter, clef_line);
- } else {
- clef_flat = NO_KEY_FLAT;
- }
- } else {
- clef_letter = 'c';
- clef_line = 3;
- clef_flat = NO_KEY_FLAT;
- }
- fprintf(f, "\\GreSetInitialClef{%c}{%d}{%d}%%\n", clef_letter, clef_line,
- clef_flat);
+ clef = score->first_voice_info->initial_clef;
+ }
+ fprintf(f, "\\GreSetInitialClef{%c}{%d}{%d}{%c}{%d}{%d}%%\n",
+ gregorio_clef_to_char(clef.clef), clef.line,
+ clef_flat_height(clef.clef, clef.line, clef.flatted),
+ gregorio_clef_to_char(clef.secondary_clef), clef.secondary_line,
+ clef_flat_height(clef.secondary_clef, clef.secondary_line,
+ clef.secondary_flatted));
+ fprintf(f, "}{%%\n"); /* GreScoreOpening#3 */
current_syllable = score->first_syllable;
+ if (current_syllable) {
+ write_syllable(f, current_syllable, 0, &status, score,
+ write_first_syllable_text);
+ current_syllable = current_syllable->next_syllable;
+ }
while (current_syllable) {
- gregoriotex_write_syllable(f, current_syllable, &first_syllable, &line,
- 0, &status);
+ write_syllable(f, current_syllable, 0, &status, score,
+ write_syllable_text);
current_syllable = current_syllable->next_syllable;
}
fprintf(f, "\\GreEndScore %%\n\\endinput %%\n");
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
index 16cf41e8610..03907b5f130 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex.h
@@ -58,6 +58,7 @@ typedef enum gtex_type {
T_SALICUS,
T_SALICUS_LONGQUEUE,
/* four note neumes */
+ T_SALICUS_FLEXUS,
T_PORRECTUS_FLEXUS,
T_TORCULUS_RESUPINUS,
T_TORCULUS_LIQUESCENS,
@@ -85,18 +86,11 @@ typedef enum gtex_alignment {
* different types: */
typedef enum gtex_glyph_liquescentia {
- /* for glyphs that accept all liquecentiae */
- LG_ALL = 0,
- /* for glyphs that don't accept initio debilis */
- LG_NO_INITIO,
- /* for glyphs for which we don't know if the auctus is ascendens or
- * descendens */
- LG_UNDET_AUCTUS,
- /* for glyphs that don't accept liquescentia */
- LG_NONE,
+ LG_ALL = 0, /* for glyphs that accept all liquecentiae */
+ LG_NO_INITIO, /* for glyphs that don't accept initio debilis */
+ LG_NONE, /* for glyphs that don't accept liquescentia */
LG_ONLY_DEMINUTUS,
- LG_NO_DEMINUTUS,
- LG_ONLY_AUCTUS
+ LG_FUSIBLE_INITIO
} gtex_glyph_liquescentia;
typedef enum gtex_sign_type {
@@ -160,6 +154,7 @@ bool gtex_is_h_episema_below_shown(const gregorio_note *const note);
const char *gregoriotex_determine_glyph_name(const gregorio_glyph *const glyph,
const gregorio_element *const element, gtex_alignment *const type,
gtex_type *const gtype);
-void gregoriotex_compute_positioning(const gregorio_element *element);
+void gregoriotex_compute_positioning(const gregorio_element *element,
+ const gregorio_score *score);
#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/plugins.h b/Build/source/texk/gregorio/gregorio-src/src/plugins.h
index e206269cc75..3363d491b22 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/plugins.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/plugins.h
@@ -25,6 +25,9 @@
void dump_write_score(FILE *f, gregorio_score *score);
+void dump_write_characters(FILE *const f,
+ const gregorio_character *current_character);
+
gregorio_score *gabc_read_score(FILE *f_in);
void gabc_write_score(FILE *f, gregorio_score *score);
diff --git a/Build/source/texk/gregorio/gregorio-src/src/sha1.c b/Build/source/texk/gregorio/gregorio-src/src/sha1.c
index 64ab6bad55f..54800c85b74 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/sha1.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/sha1.c
@@ -278,8 +278,10 @@ void sha1_process_block(const void *buffer, size_t len, struct sha1_ctx *ctx)
while (words < endp) {
uint32_t tm;
int t;
+ uint32_t v;
for (t = 0; t < 16; t++) {
- x[t] = SWAP(*words);
+ memcpy(&v, words, sizeof(uint32_t));
+ x[t] = SWAP(v);
words++;
}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.c b/Build/source/texk/gregorio/gregorio-src/src/struct.c
index 708ee38f41b..d11366949c1 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/struct.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/struct.c
@@ -5,7 +5,7 @@
* Copyright (C) 2006-2015 The Gregorio Project (see CONTRIBUTORS.md)
*
* This file is part of Gregorio.
- *
+ *
* Gregorio is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
@@ -23,7 +23,7 @@
/**
* @file
* @brief This file contains a set of function to manipulate the gregorio
- * structure.
+ * structure.
*
* It starts by simple add/delete functions for almost all
* structs, and ends with more complex functions for manipulating
@@ -50,6 +50,16 @@
#include "messages.h"
#include "support.h"
#include "characters.h"
+#include "support.h"
+
+gregorio_clef_info gregorio_default_clef = {
+ /*.line =*/ 3,
+ /*.secondary_line =*/ 0,
+ /*.clef =*/ CLEF_C,
+ /*.flatted =*/ false,
+ /*.secondary_clef =*/ CLEF_C, /* not used since secondary_line is 0 */
+ /*.secondary_flatted =*/ false,
+};
static gregorio_note *create_and_link_note(gregorio_note **current_note,
const gregorio_scanner_location *const loc)
@@ -104,24 +114,22 @@ void gregorio_add_note(gregorio_note **current_note, signed char pitch,
const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_NOTE;
- element->u.note.pitch = pitch;
- element->u.note.shape = shape;
- element->signs = signs;
- element->special_sign = _NO_SIGN;
- element->u.note.liquescentia = liquescentia;
- if (prototype) {
- set_h_episema_above(element, prototype->h_episema_above,
- prototype->h_episema_above_size,
- prototype->h_episema_above_connect);
- set_h_episema_below(element, prototype->h_episema_below,
- prototype->h_episema_below_size,
- prototype->h_episema_below_connect);
- }
- element->texverb = NULL;
- element->choral_sign = NULL;
- }
+ element->type = GRE_NOTE;
+ element->u.note.pitch = pitch;
+ element->u.note.shape = shape;
+ element->signs = signs;
+ element->special_sign = _NO_SIGN;
+ element->u.note.liquescentia = liquescentia;
+ if (prototype) {
+ set_h_episema_above(element, prototype->h_episema_above,
+ prototype->h_episema_above_size,
+ prototype->h_episema_above_connect);
+ set_h_episema_below(element, prototype->h_episema_below,
+ prototype->h_episema_below_size,
+ prototype->h_episema_below_connect);
+ }
+ element->texverb = NULL;
+ element->choral_sign = NULL;
}
static void add_pitched_item_as_note(gregorio_note **current_note,
@@ -129,29 +137,26 @@ static void add_pitched_item_as_note(gregorio_note **current_note,
const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = type;
- element->u.note.pitch = pitch;
- }
+ element->type = type;
+ element->u.note.pitch = pitch;
}
void gregorio_add_end_of_line_as_note(gregorio_note **current_note,
- gregorio_type sub_type, const gregorio_scanner_location *const loc)
+ bool eol_ragged, bool eol_forces_custos, bool eol_forces_custos_on,
+ const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_END_OF_LINE;
- element->u.other.sub_type = sub_type;
- }
+ element->type = GRE_END_OF_LINE;
+ element->u.other.eol_ragged = eol_ragged;
+ element->u.other.eol_forces_custos = eol_forces_custos;
+ element->u.other.eol_forces_custos_on = eol_forces_custos_on;
}
void gregorio_add_custo_as_note(gregorio_note **current_note,
const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_CUSTOS;
- }
+ element->type = GRE_CUSTOS;
}
void gregorio_add_manual_custos_as_note(gregorio_note **current_note,
@@ -160,42 +165,54 @@ void gregorio_add_manual_custos_as_note(gregorio_note **current_note,
add_pitched_item_as_note(current_note, GRE_MANUAL_CUSTOS, pitch, loc);
}
-void gregorio_add_clef_change_as_note(gregorio_note **current_note,
- gregorio_type type, signed char clef_line,
+void gregorio_add_clef_as_note(gregorio_note **current_note,
+ gregorio_clef clef, signed char clef_line, bool flatted,
const gregorio_scanner_location *const loc)
{
- assert(type == GRE_C_KEY_CHANGE || type == GRE_F_KEY_CHANGE
- || type == GRE_C_KEY_CHANGE_FLATED
- || type == GRE_F_KEY_CHANGE_FLATED);
- add_pitched_item_as_note(current_note, type, clef_line, loc);
+ gregorio_note *element = create_and_link_note(current_note, loc);
+ element->type = GRE_CLEF;
+ element->u.clef.clef = clef;
+ element->u.clef.line = clef_line;
+ element->u.clef.flatted = flatted;
}
-void gregorio_add_bar_as_note(gregorio_note **current_note, gregorio_bar bar,
- const gregorio_scanner_location *const loc)
+void gregorio_add_secondary_clef_to_note(gregorio_note *current_note,
+ gregorio_clef clef, signed char clef_line, bool flatted)
{
- gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_BAR;
- element->u.other.bar = bar;
+ if (!current_note || current_note->type != GRE_CLEF) {
+ gregorio_message(_("trying to add a secondary clef to something that "
+ "is not a clef"), "gregorio_add_secondary_clef_to_note",
+ VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (current_note->u.clef.secondary_line) {
+ gregorio_message(_("secondary clef already exists"),
+ "gregorio_add_secondary_clef_to_note", VERBOSITY_ERROR, 0);
+ return;
}
+
+ current_note->u.clef.secondary_clef = clef;
+ current_note->u.clef.secondary_line = clef_line;
+ current_note->u.clef.secondary_flatted = flatted;
}
-void gregorio_add_alteration_as_note(gregorio_note **current_note,
- gregorio_type type, signed char pitch,
+void gregorio_add_bar_as_note(gregorio_note **current_note, gregorio_bar bar,
const gregorio_scanner_location *const loc)
{
- assert(type == GRE_FLAT || type == GRE_SHARP || type == GRE_NATURAL);
- add_pitched_item_as_note(current_note, type, pitch, loc);
+ gregorio_note *element = create_and_link_note(current_note, loc);
+ element->type = GRE_BAR;
+ element->u.other.bar = bar;
}
void gregorio_add_space_as_note(gregorio_note **current_note,
- gregorio_space space, const gregorio_scanner_location *const loc)
+ const gregorio_space space, char *factor,
+ const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_SPACE;
- element->u.other.space = space;
- }
+ element->type = GRE_SPACE;
+ element->u.other.space = space;
+ element->u.other.ad_hoc_space_factor = factor;
}
void gregorio_add_texverb_as_note(gregorio_note **current_note, char *str,
@@ -208,40 +225,50 @@ void gregorio_add_texverb_as_note(gregorio_note **current_note, char *str,
element = create_and_link_note(current_note, loc);
assert(type == GRE_TEXVERB_GLYPH || type == GRE_TEXVERB_ELEMENT
|| type == GRE_ALT);
- if (element) {
- element->type = type;
- element->texverb = str;
- }
+ element->type = type;
+ element->texverb = str;
}
void gregorio_add_nlba_as_note(gregorio_note **current_note, gregorio_nlba type,
const gregorio_scanner_location *const loc)
{
gregorio_note *element = create_and_link_note(current_note, loc);
- if (element) {
- element->type = GRE_NLBA;
- element->u.other.nlba = type;
- }
+ element->type = GRE_NLBA;
+ element->u.other.nlba = type;
+}
+
+void gregorio_start_autofuse(gregorio_note **current_note,
+ const gregorio_scanner_location *const loc)
+{
+ gregorio_note *element = create_and_link_note(current_note, loc);
+ element->type = GRE_AUTOFUSE_START;
+}
+
+void gregorio_end_autofuse(gregorio_note **current_note,
+ const gregorio_scanner_location *const loc)
+{
+ gregorio_note *element = create_and_link_note(current_note, loc);
+ element->type = GRE_AUTOFUSE_END;
}
-void gregorio_add_texverb_to_note(gregorio_note **current_note, char *str)
+void gregorio_add_texverb_to_note(gregorio_note *current_note, char *str)
{
size_t len;
char *res;
if (str == NULL) {
return;
}
- if (*current_note) {
- if ((*current_note)->texverb) {
- len = strlen((*current_note)->texverb) + strlen(str) + 1;
+ if (current_note) {
+ if (current_note->texverb) {
+ len = strlen(current_note->texverb) + strlen(str) + 1;
res = gregorio_malloc(len);
- strcpy(res, (*current_note)->texverb);
+ strcpy(res, current_note->texverb);
strcat(res, str);
- free((*current_note)->texverb);
+ free(current_note->texverb);
free(str);
- (*current_note)->texverb = res;
+ current_note->texverb = res;
} else {
- (*current_note)->texverb = str;
+ current_note->texverb = str;
}
}
}
@@ -266,13 +293,11 @@ void gregorio_add_special_sign(gregorio_note *note, gregorio_sign sign)
static void fix_punctum_cavum_inclinatum_liquescentia(gregorio_note *const note)
{
+ note->u.note.liquescentia &= TAIL_LIQUESCENTIA_MASK;
switch (note->u.note.liquescentia) {
case L_AUCTUS_ASCENDENS:
case L_AUCTUS_DESCENDENS:
- case L_AUCTA:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- note->u.note.liquescentia = L_AUCTA;
+ note->u.note.liquescentia = L_AUCTUS_ASCENDENS;
break;
default:
note->u.note.liquescentia = L_NO_LIQUESCENTIA;
@@ -280,133 +305,217 @@ static void fix_punctum_cavum_inclinatum_liquescentia(gregorio_note *const note)
}
}
-void gregorio_change_shape(gregorio_note *note, gregorio_shape shape)
+static void fix_oriscus_liquescentia(gregorio_note *const note,
+ const bool legacy_oriscus_orientation)
{
- if (!note || note->type != GRE_NOTE) {
- gregorio_message(_("trying to change the shape of something that is "
- "not a note"), "change_shape", VERBOSITY_ERROR, 0);
- return;
- }
- switch (note->u.note.shape) {
- case S_PUNCTUM_INCLINATUM:
- if (shape == S_PUNCTUM_CAVUM) {
- note->u.note.shape = S_PUNCTUM_CAVUM_INCLINATUM;
- fix_punctum_cavum_inclinatum_liquescentia(note);
- break;
- }
- /* else fall through */
-
- default:
- note->u.note.shape = shape;
- switch (shape) {
- case S_STROPHA:
- case S_DISTROPHA:
- case S_TRISTROPHA:
- switch (note->u.note.liquescentia) {
- case L_AUCTUS_ASCENDENS:
- case L_AUCTUS_DESCENDENS:
- note->u.note.liquescentia = L_AUCTA;
- break;
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- note->u.note.liquescentia = L_AUCTA_INITIO_DEBILIS;
- break;
- default:
- break;
- }
+ if (legacy_oriscus_orientation) {
+ switch (note->u.note.liquescentia) {
+ case L_AUCTUS_ASCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_DESCENDENS;
+ /* fall through */
+ case L_AUCTUS_DESCENDENS:
+ note->u.note.shape = S_ORISCUS_DESCENDENS;
break;
-
- case S_ORISCUS:
- switch (note->u.note.liquescentia) {
- case L_AUCTUS_ASCENDENS:
- case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- note->u.note.shape = S_ORISCUS_AUCTUS;
- break;
- case L_DEMINUTUS:
- case L_DEMINUTUS_INITIO_DEBILIS:
- note->u.note.shape = S_ORISCUS_DEMINUTUS;
- break;
- default:
- break;
- }
+ case L_DEMINUTUS:
+ note->u.note.shape = S_ORISCUS_DEMINUTUS;
break;
-
default:
+ note->u.note.shape = S_ORISCUS_ASCENDENS;
break;
}
- break;
- }
-}
-
-void gregorio_add_liquescentia(gregorio_note *note, gregorio_liquescentia liq)
-{
- if (!note || note->type != GRE_NOTE) {
- gregorio_message(_("trying to make a liquescence on something that "
- "is not a note"), "add_liquescentia", VERBOSITY_ERROR, 0);
- return;
- }
- if (is_initio_debilis(liq)) {
- switch (liq) {
- case L_DEMINUTUS:
- note->u.note.liquescentia = L_DEMINUTUS_INITIO_DEBILIS;
- break;
+ } else {
+ switch (note->u.note.liquescentia) {
case L_AUCTUS_ASCENDENS:
- note->u.note.liquescentia = L_AUCTUS_ASCENDENS_INITIO_DEBILIS;
+ note->u.note.shape = S_ORISCUS_ASCENDENS;
break;
case L_AUCTUS_DESCENDENS:
- note->u.note.liquescentia = L_AUCTUS_DESCENDENS_INITIO_DEBILIS;
+ note->u.note.shape = S_ORISCUS_DESCENDENS;
break;
- case L_AUCTA:
- note->u.note.liquescentia = L_AUCTA_INITIO_DEBILIS;
+ case L_DEMINUTUS:
+ note->u.note.shape = S_ORISCUS_DEMINUTUS;
break;
default:
- /* do nothing */
+ note->u.note.shape = S_ORISCUS_UNDETERMINED;
break;
}
- } else {
- note->u.note.liquescentia = liq;
}
- switch (note->u.note.shape) {
- case S_STROPHA:
- case S_DISTROPHA:
- case S_TRISTROPHA:
+}
+
+static void fix_oriscus_cavum_liquescentia(gregorio_note *const note,
+ const bool legacy_oriscus_orientation)
+{
+ if (legacy_oriscus_orientation) {
switch (note->u.note.liquescentia) {
case L_AUCTUS_ASCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_DESCENDENS;
+ /* fall through */
case L_AUCTUS_DESCENDENS:
- note->u.note.liquescentia = L_AUCTA;
+ note->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
break;
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- note->u.note.liquescentia = L_AUCTA_INITIO_DEBILIS;
+ case L_DEMINUTUS:
+ note->u.note.shape = S_ORISCUS_CAVUM_DEMINUTUS;
break;
default:
+ note->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
break;
}
- break;
-
- case S_ORISCUS:
+ } else {
switch (note->u.note.liquescentia) {
case L_AUCTUS_ASCENDENS:
+ note->u.note.shape = S_ORISCUS_CAVUM_ASCENDENS;
+ break;
case L_AUCTUS_DESCENDENS:
- case L_AUCTUS_ASCENDENS_INITIO_DEBILIS:
- case L_AUCTUS_DESCENDENS_INITIO_DEBILIS:
- note->u.note.shape = S_ORISCUS_AUCTUS;
+ note->u.note.shape = S_ORISCUS_CAVUM_DESCENDENS;
break;
case L_DEMINUTUS:
- case L_DEMINUTUS_INITIO_DEBILIS:
- note->u.note.shape = S_ORISCUS_DEMINUTUS;
+ note->u.note.shape = S_ORISCUS_CAVUM_DEMINUTUS;
break;
default:
+ note->u.note.shape = S_ORISCUS_CAVUM_UNDETERMINED;
+ break;
+ }
+ }
+}
+
+void gregorio_change_shape(gregorio_note *note, gregorio_shape shape,
+ const bool legacy_oriscus_orientation)
+{
+ if (!note || note->type != GRE_NOTE) {
+ gregorio_message(_("trying to change the shape of something that is "
+ "not a note"), "change_shape", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ if (shape == S_PUNCTUM_CAVUM) {
+ /* S_PUNCTUM_CAVUM morphs other shapes */
+ switch (note->u.note.shape) {
+ case S_PUNCTUM_INCLINATUM:
+ note->u.note.shape = S_PUNCTUM_CAVUM_INCLINATUM;
+ fix_punctum_cavum_inclinatum_liquescentia(note);
+ return;
+
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
+ case S_ORISCUS_DEMINUTUS:
+ note->u.note.shape = S_ORISCUS_CAVUM_UNDETERMINED;
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ return;
+
+ default:
break;
}
+ }
+
+ note->u.note.shape = shape;
+ switch (shape) {
+ case S_STROPHA:
+ case S_DISTROPHA:
+ case S_TRISTROPHA:
+ note->u.note.liquescentia &= L_AUCTUS_ASCENDENS | L_INITIO_DEBILIS;
+ break;
+
+ case S_ORISCUS_UNDETERMINED:
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_ASCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_ASCENDENS;
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_DESCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_DESCENDENS;
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_DEMINUTUS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_DEMINUTUS;
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_ASCENDENS;
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_DESCENDENS;
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_DEMINUTUS;
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
+ default:
+ break;
+ }
+}
+
+void gregorio_add_tail_liquescentia(gregorio_note *note,
+ gregorio_liquescentia liq, const bool legacy_oriscus_orientation)
+{
+ if (!note || note->type != GRE_NOTE) {
+ gregorio_message(_("trying to make a liquescence on something that "
+ "is not a note"), "add_liquescentia", VERBOSITY_ERROR, 0);
+ return;
+ }
+
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | (liq & TAIL_LIQUESCENTIA_MASK);
+
+ switch (note->u.note.shape) {
+ case S_STROPHA:
+ case S_DISTROPHA:
+ case S_TRISTROPHA:
+ if (note->u.note.liquescentia & L_AUCTUS_DESCENDENS) {
+ note->u.note.liquescentia =
+ (note->u.note.liquescentia & ~TAIL_LIQUESCENTIA_MASK)
+ | L_AUCTUS_ASCENDENS;
+ }
+ break;
+
+ case S_ORISCUS_UNDETERMINED:
+ case S_ORISCUS_ASCENDENS:
+ case S_ORISCUS_DESCENDENS:
+ case S_ORISCUS_DEMINUTUS:
+ fix_oriscus_liquescentia(note, legacy_oriscus_orientation);
break;
case S_PUNCTUM_CAVUM_INCLINATUM:
fix_punctum_cavum_inclinatum_liquescentia(note);
break;
+ case S_ORISCUS_CAVUM_UNDETERMINED:
+ case S_ORISCUS_CAVUM_ASCENDENS:
+ case S_ORISCUS_CAVUM_DESCENDENS:
+ case S_ORISCUS_CAVUM_DEMINUTUS:
+ fix_oriscus_cavum_liquescentia(note, legacy_oriscus_orientation);
+ break;
+
default:
break;
}
@@ -590,6 +699,9 @@ void gregorio_go_to_first_note(gregorio_note **note)
static __inline void free_one_note(gregorio_note *note)
{
+ if (note->type == GRE_SPACE) {
+ free(note->u.other.ad_hoc_space_factor);
+ }
free(note->texverb);
free(note->choral_sign);
free(note);
@@ -602,11 +714,11 @@ void gregorio_free_one_note(gregorio_note **note)
return;
}
if ((*note)->next) {
- (*note)->next->previous = NULL;
+ (*note)->next->previous = (*note)->previous;
next = (*note)->next;
}
if ((*note)->previous) {
- (*note)->previous->next = NULL;
+ (*note)->previous->next = (*note)->next;
}
free_one_note(*note);
*note = next;
@@ -640,48 +752,47 @@ void gregorio_add_glyph(gregorio_glyph **current_glyph,
gregorio_liquescentia liquescentia)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
- if (next_glyph) {
- next_glyph->type = GRE_GLYPH;
- next_glyph->u.notes.glyph_type = type;
- next_glyph->u.notes.liquescentia = liquescentia;
- next_glyph->u.notes.first_note = first_note;
- }
+ next_glyph->type = GRE_GLYPH;
+ next_glyph->u.notes.glyph_type = type;
+ next_glyph->u.notes.liquescentia = liquescentia;
+ next_glyph->u.notes.first_note = first_note;
+}
+
+void gregorio_add_clef_as_glyph(gregorio_glyph **current_glyph,
+ gregorio_clef_info clef, char *texverb)
+{
+ gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
+ next_glyph->type = GRE_CLEF;
+ next_glyph->u.misc.clef = clef;
+ next_glyph->texverb = texverb;
}
void gregorio_add_pitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, signed char pitch, bool flatted_key,
- bool force_pitch, char *texverb)
+ gregorio_type type, signed char pitch, bool force_pitch, char *texverb)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
- assert(type == GRE_C_KEY_CHANGE || type == GRE_F_KEY_CHANGE
- || type == GRE_C_KEY_CHANGE_FLATED || type == GRE_F_KEY_CHANGE_FLATED
- || type == GRE_CUSTOS || type == GRE_FLAT || type == GRE_NATURAL
- || type == GRE_SHARP);
- if (next_glyph) {
- next_glyph->type = type;
- next_glyph->u.misc.pitched.pitch = pitch;
- next_glyph->u.misc.pitched.flatted_key = flatted_key;
- next_glyph->u.misc.pitched.force_pitch = force_pitch;
- next_glyph->texverb = texverb;
- }
+ assert(type == GRE_CUSTOS);
+ next_glyph->type = type;
+ next_glyph->u.misc.pitched.pitch = pitch;
+ next_glyph->u.misc.pitched.force_pitch = force_pitch;
+ next_glyph->texverb = texverb;
}
void gregorio_add_unpitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, gregorio_extra_info info, gregorio_sign sign,
+ gregorio_type type, gregorio_extra_info *info, gregorio_sign sign,
char *texverb)
{
gregorio_glyph *next_glyph = create_and_link_glyph(current_glyph);
assert(type != GRE_NOTE && type != GRE_GLYPH && type != GRE_ELEMENT
- && type != GRE_C_KEY_CHANGE && type != GRE_F_KEY_CHANGE
- && type != GRE_C_KEY_CHANGE_FLATED && type != GRE_F_KEY_CHANGE_FLATED
- && type != GRE_CUSTOS && type != GRE_FLAT && type != GRE_NATURAL
- && type != GRE_SHARP);
- if (next_glyph) {
- next_glyph->type = type;
- next_glyph->u.misc.unpitched.info = info;
- next_glyph->u.misc.unpitched.special_sign = sign;
- next_glyph->texverb = texverb;
- }
+ && type != GRE_CLEF && type != GRE_CUSTOS);
+ next_glyph->type = type;
+ next_glyph->u.misc.unpitched.info = *info;
+ next_glyph->u.misc.unpitched.special_sign = sign;
+ next_glyph->texverb = texverb;
+
+ /* this was copied into the glyph, so we need to clear it to avoid a
+ * double-free */
+ info->ad_hoc_space_factor = NULL;
}
void gregorio_go_to_first_glyph(gregorio_glyph **glyph)
@@ -700,8 +811,16 @@ void gregorio_go_to_first_glyph(gregorio_glyph **glyph)
static __inline void free_one_glyph(gregorio_glyph *glyph)
{
free(glyph->texverb);
- if (glyph->type == GRE_GLYPH) {
+ switch (glyph->type) {
+ case GRE_GLYPH:
gregorio_free_notes(&glyph->u.notes.first_note);
+ break;
+ case GRE_SPACE:
+ free(glyph->u.misc.unpitched.info.ad_hoc_space_factor);
+ break;
+ default:
+ /* nothing to do */
+ break;
}
free(glyph);
}
@@ -754,20 +873,22 @@ void gregorio_add_element(gregorio_element **current_element,
gregorio_glyph *first_glyph)
{
gregorio_element *next = create_and_link_element(current_element);
- if (next) {
- next->type = GRE_ELEMENT;
- next->u.first_glyph = first_glyph;
- }
+ next->type = GRE_ELEMENT;
+ next->u.first_glyph = first_glyph;
}
void gregorio_add_misc_element(gregorio_element **current_element,
- gregorio_type type, gregorio_misc_element_info info, char *texverb)
+ gregorio_type type, gregorio_misc_element_info *info, char *texverb)
{
gregorio_element *special = create_and_link_element(current_element);
- if (special) {
- special->type = type;
- special->u.misc = info;
- special->texverb = texverb;
+ special->type = type;
+ special->u.misc = *info;
+ special->texverb = texverb;
+
+ if (type == GRE_SPACE) {
+ /* this was copied into the glyph, so we need to clear it to avoid a
+ * double-free */
+ info->unpitched.info.ad_hoc_space_factor = NULL;
}
}
@@ -778,8 +899,17 @@ static __inline void free_one_element(gregorio_element *element)
for (i = 0; i < element->nabc_lines; i++) {
free(element->nabc[i]);
}
- if (element->type == GRE_ELEMENT) {
+ free(element->nabc);
+ switch (element->type) {
+ case GRE_ELEMENT:
gregorio_free_glyphs(&element->u.first_glyph);
+ break;
+ case GRE_SPACE:
+ free(element->u.misc.unpitched.info.ad_hoc_space_factor);
+ break;
+ default:
+ /* nothing to do */
+ break;
}
free(element);
}
@@ -834,7 +964,7 @@ static void gregorio_free_one_character(gregorio_character *current_character)
free(current_character);
}
-static void gregorio_free_characters(gregorio_character *current_character)
+void gregorio_free_characters(gregorio_character *current_character)
{
gregorio_character *next_character;
if (!current_character) {
@@ -847,9 +977,9 @@ static void gregorio_free_characters(gregorio_character *current_character)
}
}
-void gregorio_go_to_first_character(gregorio_character **character)
+void gregorio_go_to_first_character(const gregorio_character **character)
{
- gregorio_character *tmp;
+ const gregorio_character *tmp;
if (!character || !*character) {
return;
}
@@ -892,6 +1022,29 @@ void gregorio_end_style(gregorio_character **current_character,
*current_character = element;
}
+gregorio_character *gregorio_clone_characters(
+ const gregorio_character *source)
+{
+ gregorio_character *target = NULL, *current = NULL;
+
+ for (; source; source = source->next_character) {
+ gregorio_character *character = (gregorio_character *)
+ gregorio_calloc(1, sizeof(gregorio_character));
+ *character = *source;
+ character->next_character = NULL;
+
+ if (current) {
+ character->previous_character = current;
+ current = current->next_character = character;
+ } else {
+ character->previous_character = NULL;
+ target = current = character;
+ }
+ }
+
+ return target;
+}
+
void gregorio_add_syllable(gregorio_syllable **current_syllable,
int number_of_voices, gregorio_element *elements[],
gregorio_character *first_character,
@@ -985,83 +1138,40 @@ static void gregorio_free_syllables(gregorio_syllable **syllable,
}
}
-static void gregorio_source_info_init(source_info *si)
-{
- si->author = NULL;
- si->date = NULL;
- si->manuscript = NULL;
- si->manuscript_reference = NULL;
- si->manuscript_storage_place = NULL;
- si->transcriber = NULL;
- si->transcription_date = NULL;
- si->book = NULL;
-}
-
gregorio_score *gregorio_new_score(void)
{
- int annotation_num;
gregorio_score *new_score = gregorio_calloc(1, sizeof(gregorio_score));
- new_score->first_syllable = NULL;
new_score->number_of_voices = 1;
- new_score->name = NULL;
- new_score->gabc_copyright = NULL;
- new_score->score_copyright = NULL;
- new_score->initial_style = NORMAL_INITIAL;
- new_score->office_part = NULL;
- new_score->occasion = NULL;
- new_score->meter = NULL;
- new_score->commentary = NULL;
- new_score->arranger = NULL;
- gregorio_source_info_init(&new_score->si);
- new_score->first_voice_info = NULL;
- new_score->mode = 0;
- new_score->gregoriotex_font = NULL;
- new_score->user_notes = NULL;
- for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS; ++annotation_num) {
- new_score->annotation[annotation_num] = NULL;
- }
+ new_score->initial_style = INITIAL_NOT_SPECIFIED;
+ gregorio_set_score_staff_lines(new_score, 4);
return new_score;
}
-static void gregorio_free_source_info(source_info *si)
-{
- free(si->date);
- free(si->author);
- free(si->manuscript);
- free(si->manuscript_reference);
- free(si->manuscript_storage_place);
- free(si->transcriber);
- free(si->transcription_date);
- free(si->book);
-}
-
static void gregorio_free_score_infos(gregorio_score *score)
{
- int annotation_num;
if (!score) {
gregorio_message(_("function called with NULL argument"),
"gregorio_free_score_infos", VERBOSITY_WARNING, 0);
return;
}
- free(score->name);
- free(score->gabc_copyright);
- free(score->score_copyright);
- free(score->office_part);
- free(score->occasion);
- free(score->meter);
- free(score->commentary);
- free(score->arranger);
- free(score->user_notes);
- free(score->gregoriotex_font);
- for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS; ++annotation_num) {
- free(score->annotation[annotation_num]);
- }
- gregorio_free_source_info(&score->si);
+ /* don't free the strings coming from headers; they will be freed when the
+ * headers themselves are freed */
if (score->first_voice_info) {
gregorio_free_voice_infos(score->first_voice_info);
}
}
+static void free_headers(gregorio_score *score) {
+ gregorio_header *header = score->headers;
+ while (header) {
+ gregorio_header *next = header->next;
+ free(header->name);
+ free(header->value);
+ free(header);
+ header = next;
+ }
+}
+
void gregorio_free_score(gregorio_score *score)
{
if (!score) {
@@ -1071,129 +1181,13 @@ void gregorio_free_score(gregorio_score *score)
}
gregorio_free_syllables(&(score->first_syllable), score->number_of_voices);
gregorio_free_score_infos(score);
+ free_headers(score);
free(score);
}
-void gregorio_set_score_name(gregorio_score *score, char *name)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_name", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->name);
- score->name = name;
-}
-
-void gregorio_set_score_gabc_copyright(gregorio_score *score,
- char *gabc_copyright)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_gabc_copyright", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->gabc_copyright);
- score->gabc_copyright = gabc_copyright;
-}
-
-void gregorio_set_score_score_copyright(gregorio_score *score,
- char *score_copyright)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_score_copyright", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->score_copyright);
- score->score_copyright = score_copyright;
-}
-
-void gregorio_set_score_office_part(gregorio_score *score, char *office_part)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_office_part", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->office_part);
- score->office_part = office_part;
-}
-
-void gregorio_set_score_occasion(gregorio_score *score, char *occasion)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_occasion", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->occasion);
- score->occasion = occasion;
-}
-
-void gregorio_set_score_meter(gregorio_score *score, char *meter)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_meter", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->meter);
- score->meter = meter;
-}
-
-void gregorio_set_score_commentary(gregorio_score *score, char *commentary)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_commentary", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->commentary);
- score->commentary = commentary;
-}
-
-void gregorio_set_score_arranger(gregorio_score *score, char *arranger)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_arranger", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->arranger);
- score->arranger = arranger;
-}
-
-void gregorio_set_score_number_of_voices(gregorio_score *score,
- int number_of_voices)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_number_of_voices", VERBOSITY_WARNING, 0);
- return;
- }
- score->number_of_voices = number_of_voices;
-}
-
-void gregorio_set_score_user_notes(gregorio_score *score, char *user_notes)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_user_notes", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->user_notes);
- score->user_notes = user_notes;
-}
-
void gregorio_add_voice_info(gregorio_voice_info **current_voice_info)
{
gregorio_voice_info *next = gregorio_calloc(1, sizeof(gregorio_voice_info));
- next->initial_key = NO_KEY;
- next->flatted_key = false;
- next->style = NULL;
- next->virgula_position = NULL;
- next->next_voice_info = NULL;
if (*current_voice_info) {
(*current_voice_info)->next_voice_info = next;
}
@@ -1209,18 +1203,12 @@ void gregorio_free_voice_infos(gregorio_voice_info *voice_info)
return;
}
while (voice_info) {
- free(voice_info->style);
- free(voice_info->virgula_position);
next = voice_info->next_voice_info;
free(voice_info);
voice_info = next;
}
}
-/*
- * a set of quite useless function
- */
-
void gregorio_set_score_annotation(gregorio_score *score, char *annotation)
{
int annotation_num;
@@ -1237,125 +1225,47 @@ void gregorio_set_score_annotation(gregorio_score *score, char *annotation)
}
}
if (annotation_num >= MAX_ANNOTATIONS) {
- free(annotation);
gregorio_message(_("too many annotations"),
"gregorio_set_annotation", VERBOSITY_WARNING, 0);
}
}
-void gregorio_set_score_author(gregorio_score *score, char *author)
+void gregorio_set_score_staff_lines(gregorio_score *const score,
+ const char staff_lines)
{
if (!score) {
gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_author", VERBOSITY_WARNING, 0);
+ "gregorio_set_score_staff_lines", VERBOSITY_WARNING, 0);
return;
}
- free(score->si.author);
- score->si.author = author;
-}
-
-void gregorio_set_score_date(gregorio_score *score, char *date)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_date", VERBOSITY_WARNING, 0);
+ if (staff_lines < 2 || staff_lines > 5) {
+ gregorio_message(_("invalid number of staff lines"),
+ "gregorio_set_score_staff_lines", VERBOSITY_ERROR, 0);
return;
}
- free(score->si.date);
- score->si.date = date;
+ score->staff_lines = staff_lines;
+ score->highest_pitch = LOWEST_PITCH + 4 + (2 * staff_lines);
+ score->high_ledger_line_pitch = score->highest_pitch - 1;
}
-void gregorio_set_score_manuscript(gregorio_score *score, char *manuscript)
+void gregorio_add_score_header(gregorio_score *score, char *name, char *value)
{
+ gregorio_header *header;
if (!score) {
gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_manuscript", VERBOSITY_WARNING, 0);
+ "gregorio_add_score_header", VERBOSITY_WARNING, 0);
return;
}
- free(score->si.manuscript);
- score->si.manuscript = manuscript;
-}
-
-void gregorio_set_score_manuscript_reference(gregorio_score *score,
- char *manuscript_reference)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_reference", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->si.manuscript_reference);
- score->si.manuscript_reference = manuscript_reference;
-}
-
-void gregorio_set_score_manuscript_storage_place(gregorio_score *score,
- char *manuscript_storage_place)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_manuscript_storage_place",
- VERBOSITY_WARNING, 0);
- return;
- }
- free(score->si.manuscript_storage_place);
- score->si.manuscript_storage_place = manuscript_storage_place;
-}
-
-void gregorio_set_score_book(gregorio_score *score, char *book)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_book", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->si.book);
- score->si.book = book;
-}
-
-void gregorio_set_score_transcriber(gregorio_score *score, char *transcriber)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_transcriber", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->si.transcriber);
- score->si.transcriber = transcriber;
-}
-
-void gregorio_set_score_transcription_date(gregorio_score *score,
- char *transcription_date)
-{
- if (!score) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_transcription_date", VERBOSITY_WARNING, 0);
- return;
- }
- free(score->si.transcription_date);
- score->si.transcription_date = transcription_date;
-}
-
-void gregorio_set_voice_style(gregorio_voice_info *voice_info, char *style)
-{
- if (!voice_info) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_voice_style", VERBOSITY_WARNING, 0);
- return;
- }
- free(voice_info->style);
- voice_info->style = style;
-}
-
-void gregorio_set_voice_virgula_position(gregorio_voice_info *voice_info,
- char *virgula_position)
-{
- if (!voice_info) {
- gregorio_message(_("function called with NULL argument"),
- "gregorio_set_voice_virgula_position", VERBOSITY_WARNING, 0);
- return;
+ header = (gregorio_header *)gregorio_malloc(sizeof(gregorio_header));
+ header->name = name;
+ header->value = value;
+ header->next = NULL;
+ if (score->last_header) {
+ score->last_header->next = header;
+ } else {
+ score->headers = header;
}
- free(voice_info->virgula_position);
- voice_info->virgula_position = virgula_position;
+ score->last_header = header;
}
/**********************************
@@ -1369,22 +1279,24 @@ void gregorio_set_voice_virgula_position(gregorio_voice_info *voice_info,
* * 3 for a C key on the second line
* * 5 for a C key on the third line (default key)
* * 7 for a C key on the fourth line
+ * * 9 for a C key on the fifth line
*
* * -2 for a F key on the first line
* * 0 for a F key on the second line
* * 2 for a F key on the third line
* * 4 for a F key on the fourth line
+ * * 6 for a F key on the fifth line
*
*********************************/
-int gregorio_calculate_new_key(char step, int line)
+int gregorio_calculate_new_key(gregorio_clef_info clef)
{
- switch (step) {
- case C_KEY:
- return (2 * line) - 1;
+ switch (clef.clef) {
+ case CLEF_C:
+ return (2 * clef.line) - 1;
break;
- case F_KEY:
- return (2 * line) - 4;
+ case CLEF_F:
+ return (2 * clef.line) - 4;
break;
default:
gregorio_message(_("can't calculate key"),
@@ -1393,57 +1305,6 @@ int gregorio_calculate_new_key(char step, int line)
}
}
-/**********************************
- *
- * The reverse function of the preceeding : give step (c or f) and
- * line (1-4) from an integer representing the key.
- *
- *********************************/
-
-void gregorio_det_step_and_line_from_key(int key, char *step, int *line)
-{
- switch (key) {
- case -2:
- *step = 'f';
- *line = 1;
- break;
- case 0:
- *step = 'f';
- *line = 2;
- break;
- case 2:
- *step = 'f';
- *line = 3;
- break;
- case 4:
- *step = 'f';
- *line = 4;
- break;
- case 1:
- *step = 'c';
- *line = 1;
- break;
- case 3:
- *step = 'c';
- *line = 2;
- break;
- case 5:
- *step = 'c';
- *line = 3;
- break;
- case 7:
- *step = 'c';
- *line = 4;
- break;
- default:
- *step = '?';
- *line = 0;
- gregorio_message(_("can't determine step and line of the key"),
- "gregorio_det_step_and_line_from_key", VERBOSITY_ERROR, 0);
- return;
- }
-}
-
static signed char gregorio_syllable_first_note(gregorio_syllable *syllable)
{
gregorio_element *element;
@@ -1460,7 +1321,9 @@ static signed char gregorio_syllable_first_note(gregorio_syllable *syllable)
if (element->type == GRE_ELEMENT && element->u.first_glyph) {
glyph = element->u.first_glyph;
while (glyph) {
- if (glyph->type == GRE_GLYPH && glyph->u.notes.first_note) {
+ if (glyph->type == GRE_GLYPH
+ && glyph->u.notes.glyph_type != G_ALTERATION
+ && glyph->u.notes.first_note) {
assert(glyph->u.notes.first_note->type == GRE_NOTE);
return glyph->u.notes.first_note->u.note.pitch;
}
@@ -1485,7 +1348,9 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable,
if (glyph) {
glyph = glyph->next;
while (glyph) {
- if (glyph->type == GRE_GLYPH && glyph->u.notes.first_note) {
+ if (glyph->type == GRE_GLYPH
+ && glyph->u.notes.glyph_type != G_ALTERATION
+ && glyph->u.notes.first_note) {
assert(glyph->u.notes.first_note->type == GRE_NOTE);
return glyph->u.notes.first_note->u.note.pitch;
}
@@ -1501,7 +1366,9 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable,
if (element->type == GRE_ELEMENT && element->u.first_glyph) {
glyph = element->u.first_glyph;
while (glyph) {
- if (glyph->type == GRE_GLYPH && glyph->u.notes.first_note) {
+ if (glyph->type == GRE_GLYPH
+ && glyph->u.notes.glyph_type != G_ALTERATION
+ && glyph->u.notes.first_note) {
assert(glyph->u.notes.first_note->type == GRE_NOTE);
return glyph->u.notes.first_note->u.note.pitch;
}
@@ -1529,44 +1396,6 @@ signed char gregorio_determine_next_pitch(gregorio_syllable *syllable,
/**********************************
*
- * A function that may be useful (used in xml-write) : we have a
- * tabular of alterations (we must remember all alterations on all
- * notes all the time, they are reinitialized when a bar is found),
- * and we assign all of them to NO_ALTERATION.
- *
- *This function works in fact with a tabular of tabular, one per
- *voice, for polyphony.
- *
- *********************************/
-
-void gregorio_reinitialize_alterations(char alterations[][13],
- int number_of_voices)
-{
- int i;
- int j;
- for (j = 0; j < number_of_voices; j++) {
- for (i = 0; i < 13; i++) {
- alterations[j][i] = NO_ALTERATION;
- }
- }
-}
-
-/**********************************
- *
- * The corresponding function for monophony.
- *
- *********************************/
-
-void gregorio_reinitialize_one_voice_alterations(char alterations[13])
-{
- int i;
- for (i = 0; i < 13; i++) {
- alterations[i] = NO_ALTERATION;
- }
-}
-
-/**********************************
- *
* A function called after the entire score is determined : we check
* if the first element is a key change, if it is the case we delete
* it and we update the score->voice-info->initial_key. Works in
@@ -1574,9 +1403,9 @@ void gregorio_reinitialize_one_voice_alterations(char alterations[13])
*
*********************************/
-void gregorio_fix_initial_keys(gregorio_score *score, int default_key)
+void gregorio_fix_initial_keys(gregorio_score *score,
+ gregorio_clef_info default_clef)
{
- int clef = 0;
gregorio_element *element;
gregorio_voice_info *voice_info;
int i;
@@ -1593,22 +1422,8 @@ void gregorio_fix_initial_keys(gregorio_score *score, int default_key)
if (!element) {
continue;
}
- if (element->type == GRE_C_KEY_CHANGE) {
- clef =
- gregorio_calculate_new_key(C_KEY,
- element->u.misc.pitched.pitch - '0');
- voice_info->initial_key = clef;
- voice_info->flatted_key = element->u.misc.pitched.flatted_key;
- gregorio_free_one_element(&(score->first_syllable->elements[i]));
- gregorio_messagef("gregorio_fix_initial_keys", VERBOSITY_INFO, 0,
- _("in voice %d the first element is a key definition, "
- "considered as initial key"), i + 1);
- } else if (element->type == GRE_F_KEY_CHANGE) {
- clef =
- gregorio_calculate_new_key(F_KEY,
- element->u.misc.pitched.pitch - '0');
- voice_info->initial_key = clef;
- voice_info->flatted_key = element->u.misc.pitched.flatted_key;
+ if (element->type == GRE_CLEF) {
+ voice_info->initial_clef = element->u.misc.clef;
gregorio_free_one_element(&(score->first_syllable->elements[i]));
gregorio_messagef("gregorio_fix_initial_keys", VERBOSITY_INFO, 0,
_("in voice %d the first element is a key definition, "
@@ -1637,8 +1452,8 @@ void gregorio_fix_initial_keys(gregorio_score *score, int default_key)
voice_info = score->first_voice_info;
for (i = 0; i < score->number_of_voices; i++) {
- if (voice_info->initial_key == NO_KEY) {
- voice_info->initial_key = default_key;
+ if (!voice_info->initial_clef.line) {
+ voice_info->initial_clef = default_clef;
gregorio_messagef("gregorio_fix_initial_keys", VERBOSITY_INFO, 0,
_("no initial key definition in voice %d, default key "
"definition applied"), i + 1);
@@ -1668,3 +1483,25 @@ bool gregorio_is_only_special(gregorio_element *element)
}
return 1;
}
+
+const char *gregorio_unknown(int value) {
+ static char buf[20];
+ gregorio_snprintf(buf, sizeof buf, "?%d", value);
+ return buf;
+}
+
+ENUM_TO_STRING(gregorio_type, GREGORIO_TYPE)
+ENUM_TO_STRING(gregorio_shape, GREGORIO_SHAPE)
+ENUM_TO_STRING(gregorio_bar, GREGORIO_BAR)
+ENUM_TO_STRING(gregorio_sign, GREGORIO_SIGN)
+ENUM_TO_STRING(gregorio_space, GREGORIO_SPACE)
+ENUM_TO_STRING(gregorio_liquescentia, GREGORIO_LIQUESCENTIA)
+ENUM_TO_STRING(grehepisema_size, GREHEPISEMA_SIZE)
+ENUM_TO_STRING(gregorio_vposition, GREGORIO_VPOSITION)
+ENUM_TO_STRING(gregorio_glyph_type, GREGORIO_GLYPH_TYPE)
+ENUM_TO_STRING(grestyle_style, GRESTYLE_STYLE)
+ENUM_TO_STRING(grestyle_type, GRESTYLE_TYPE)
+ENUM_TO_STRING(gregorio_tr_centering, GREGORIO_TR_CENTERING)
+ENUM_TO_STRING(gregorio_nlba, GREGORIO_NLBA)
+ENUM_TO_STRING(gregorio_euouae, GREGORIO_EUOUAE)
+ENUM_TO_STRING(gregorio_word_position, GREGORIO_WORD_POSITION)
diff --git a/Build/source/texk/gregorio/gregorio-src/src/struct.h b/Build/source/texk/gregorio/gregorio-src/src/struct.h
index cf9ddbe998d..0f588cafd5f 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/struct.h
+++ b/Build/source/texk/gregorio/gregorio-src/src/struct.h
@@ -32,6 +32,7 @@
#ifndef STRUCT_H
#define STRUCT_H
+#include "enum_generator.h"
#include "bool.h"
#include "sha1.h"
@@ -62,314 +63,335 @@ typedef struct gregorio_scanner_location {
/* all the different types of things a gregorio_* can be */
-typedef enum gregorio_type {
- GRE_NOTE = 1,
- GRE_GLYPH,
- GRE_ELEMENT,
- GRE_FLAT,
- GRE_SHARP,
- GRE_NATURAL,
- GRE_C_KEY_CHANGE,
- GRE_C_KEY_CHANGE_FLATED,
- GRE_SYLLABLE,
- GRE_F_KEY_CHANGE,
- GRE_F_KEY_CHANGE_FLATED,
- GRE_END_OF_LINE,
- GRE_SPACE,
- GRE_BAR,
- GRE_END_OF_PAR,
- GRE_CUSTOS,
+#define GREGORIO_TYPE(A,E,X,L) \
+ A(GRE_NOTE, 1) \
+ E(GRE_GLYPH) \
+ E(GRE_ELEMENT) \
+ E(GRE_CLEF) \
+ E(GRE_SYLLABLE) \
+ E(GRE_END_OF_LINE) \
+ E(GRE_SPACE) \
+ E(GRE_BAR) \
+ E(GRE_CUSTOS) \
+ E(GRE_MANUAL_CUSTOS) \
/* I don't really know how I could use the a TEXVERB_NOTE in gregoriotex,
- * as we don't write note by note... */
- /* GRE_TEXVERB_NOTE, */
- GRE_TEXVERB_GLYPH,
- GRE_TEXVERB_ELEMENT,
+ * as we don't write note by note... */ \
+ /* GRE_TEXVERB_NOTE, */ \
+ E(GRE_TEXVERB_GLYPH) \
+ E(GRE_TEXVERB_ELEMENT) \
/* above lines text, quite the same as GRE_TEXVERB_ELEMENT, but counted
- * differently for the spaces above the lines */
- GRE_ALT,
- GRE_NLBA,
- GRE_MANUAL_CUSTOS
-} gregorio_type;
+ * differently for the spaces above the lines */ \
+ E(GRE_ALT) \
+ E(GRE_NLBA) \
+ E(GRE_AUTOFUSE_START) \
+ L(GRE_AUTOFUSE_END)
+ENUM(gregorio_type, GREGORIO_TYPE);
+
+#define GREGORIO_CLEF(A,E,X,L) \
+ A(CLEF_C, 0) \
+ X(CLEF_F, 1)
+ENUM(gregorio_clef, GREGORIO_CLEF);
/* the different shapes, only for notes */
-typedef enum gregorio_shape {
- S_UNDETERMINED = 0,
- S_PUNCTUM,
- S_PUNCTUM_END_OF_GLYPH,
- S_PUNCTUM_INCLINATUM,
- S_PUNCTUM_INCLINATUM_DEMINUTUS,
- S_PUNCTUM_INCLINATUM_AUCTUS,
- S_VIRGA,
- S_VIRGA_REVERSA,
- S_BIVIRGA,
- S_TRIVIRGA,
- S_ORISCUS,
- S_ORISCUS_AUCTUS,
- S_ORISCUS_DEMINUTUS,
- S_ORISCUS_SCAPUS,
- S_QUILISMA,
- S_STROPHA,
- S_STROPHA_AUCTA,
- S_DISTROPHA,
- S_DISTROPHA_AUCTA,
- S_TRISTROPHA,
- S_TRISTROPHA_AUCTA,
- S_PUNCTUM_CAVUM,
- S_LINEA_PUNCTUM,
- S_LINEA_PUNCTUM_CAVUM,
- S_PUNCTUM_CAVUM_INCLINATUM,
- S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS,
+#define GREGORIO_SHAPE(A,E,X,L) \
+ A(S_UNDETERMINED, 0) \
+ E(S_PUNCTUM) \
+ E(S_PUNCTUM_END_OF_GLYPH) \
+ E(S_PUNCTUM_INCLINATUM) \
+ E(S_PUNCTUM_INCLINATUM_DEMINUTUS) \
+ E(S_PUNCTUM_INCLINATUM_AUCTUS) \
+ E(S_VIRGA) \
+ E(S_VIRGA_REVERSA) \
+ E(S_BIVIRGA) \
+ E(S_TRIVIRGA) \
+ E(S_ORISCUS_ASCENDENS) \
+ E(S_ORISCUS_DESCENDENS) \
+ E(S_ORISCUS_DEMINUTUS) \
+ E(S_ORISCUS_SCAPUS) \
+ E(S_QUILISMA) \
+ E(S_STROPHA) \
+ E(S_STROPHA_AUCTA) \
+ E(S_DISTROPHA) \
+ E(S_DISTROPHA_AUCTA) \
+ E(S_TRISTROPHA) \
+ E(S_TRISTROPHA_AUCTA) \
+ E(S_PUNCTUM_CAVUM) \
+ E(S_LINEA_PUNCTUM) \
+ E(S_LINEA_PUNCTUM_CAVUM) \
+ E(S_PUNCTUM_CAVUM_INCLINATUM) \
+ E(S_PUNCTUM_CAVUM_INCLINATUM_AUCTUS) \
+ E(S_ORISCUS_CAVUM_ASCENDENS) \
+ E(S_ORISCUS_CAVUM_DESCENDENS) \
+ E(S_ORISCUS_CAVUM_DEMINUTUS) \
+ E(S_FLAT) \
+ E(S_SHARP) \
+ E(S_NATURAL) \
/* special shapes that must not appear in the final form of the score :
* quadratum is the shape of the first note of a punctum quadratum
* and quilisma quadratum is the shape of the first note of a pes
- * quislisma quadratum */
- S_QUADRATUM,
- /* those shapes are for now used only in gregoriotex */
- S_QUILISMA_QUADRATUM,
- S_PUNCTUM_AUCTUS_ASCENDENS,
- S_PUNCTUM_AUCTUS_DESCENDENS,
- S_PUNCTUM_DEMINUTUS,
- S_LINEA
-} gregorio_shape;
+ * quislisma quadratum */ \
+ E(S_ORISCUS_UNDETERMINED) \
+ E(S_ORISCUS_CAVUM_UNDETERMINED) \
+ E(S_QUADRATUM) \
+ /* those shapes are for now used only in gregoriotex */ \
+ E(S_QUILISMA_QUADRATUM) \
+ E(S_PUNCTUM_AUCTUS_ASCENDENS) \
+ E(S_PUNCTUM_AUCTUS_DESCENDENS) \
+ E(S_PUNCTUM_DEMINUTUS) \
+ L(S_LINEA)
+ENUM(gregorio_shape, GREGORIO_SHAPE);
/* the different kind of bars */
-typedef enum gregorio_bar {
- B_NO_BAR = 0,
- B_VIRGULA,
- B_DIVISIO_MINIMA,
- B_DIVISIO_MINOR,
- B_DIVISIO_MAIOR,
- B_DIVISIO_FINALIS,
- B_DIVISIO_MINOR_D1,
- B_DIVISIO_MINOR_D2,
- B_DIVISIO_MINOR_D3,
- B_DIVISIO_MINOR_D4,
- B_DIVISIO_MINOR_D5,
- B_DIVISIO_MINOR_D6
-} gregorio_bar;
+#define GREGORIO_BAR(A,E,X,L) \
+ A(B_NO_BAR, 0) \
+ E(B_VIRGULA) \
+ E(B_DIVISIO_MINIMA) \
+ E(B_DIVISIO_MINOR) \
+ E(B_DIVISIO_MAIOR) \
+ E(B_DIVISIO_FINALIS) \
+ E(B_DIVISIO_MINOR_D1) \
+ E(B_DIVISIO_MINOR_D2) \
+ E(B_DIVISIO_MINOR_D3) \
+ E(B_DIVISIO_MINOR_D4) \
+ E(B_DIVISIO_MINOR_D5) \
+ E(B_DIVISIO_MINOR_D6) \
+ E(B_DIVISIO_MINOR_D7) \
+ L(B_DIVISIO_MINOR_D8)
+ENUM(gregorio_bar, GREGORIO_BAR);
/* definition of the signs. You can notice that the values are made so
* that if you wan to add a vertical episema to a note, you juste
* make note->signs+=_V_EPISEMA, so please don't change the value as
* this trick is used. */
-typedef enum gregorio_sign {
- _NO_SIGN = 0x00,
- _PUNCTUM_MORA = 0x01,
- _AUCTUM_DUPLEX = 0x02,
- _V_EPISEMA = 0x10,
- _V_EPISEMA_PUNCTUM_MORA = 0x11,
- _V_EPISEMA_AUCTUM_DUPLEX = 0x12,
- /* more rare signs, for now they can't be used with the others */
- _ACCENTUS = 0x03,
- _ACCENTUS_REVERSUS = 0x04,
- _CIRCULUS = 0x05,
- _SEMI_CIRCULUS = 0x06,
- _SEMI_CIRCULUS_REVERSUS = 0x07,
- /* signs of a bar */
- _BAR_H_EPISEMA = 0x08,
- _V_EPISEMA_BAR_H_EPISEMA = 0x18
-} gregorio_sign;
+#define GREGORIO_SIGN(A,E,X,L) \
+ A(_NO_SIGN, 0x00) \
+ A(_PUNCTUM_MORA, 0x01) \
+ A(_AUCTUM_DUPLEX, 0x02) \
+ A(_V_EPISEMA, 0x10) \
+ A(_V_EPISEMA_PUNCTUM_MORA, 0x11) \
+ A(_V_EPISEMA_AUCTUM_DUPLEX, 0x12) \
+ /* more rare signs, for now they can't be used with the others */ \
+ A(_ACCENTUS, 0x03) \
+ A(_ACCENTUS_REVERSUS, 0x04) \
+ A(_CIRCULUS, 0x05) \
+ A(_SEMI_CIRCULUS, 0x06) \
+ A(_SEMI_CIRCULUS_REVERSUS, 0x07) \
+ /* signs of a bar */ \
+ A(_BAR_H_EPISEMA, 0x08) \
+ X(_V_EPISEMA_BAR_H_EPISEMA, 0x18)
+ENUM(gregorio_sign, GREGORIO_SIGN);
/* the different spaces */
-typedef enum gregorio_space {
- SP_DEFAULT = 1,
- SP_NO_SPACE,
- SP_ZERO_WIDTH,
- SP_NEUMATIC_CUT,
- SP_LARGER_SPACE,
- SP_GLYPH_SPACE,
- SP_NEUMATIC_CUT_NB,
- SP_LARGER_SPACE_NB,
- SP_GLYPH_SPACE_NB
-} gregorio_space;
+#define GREGORIO_SPACE(A,E,X,L) \
+ A(SP_DEFAULT, 1) \
+ E(SP_NO_SPACE) \
+ E(SP_ZERO_WIDTH) \
+ E(SP_HALF_SPACE) \
+ E(SP_NEUMATIC_CUT) \
+ E(SP_LARGER_SPACE) \
+ E(SP_GLYPH_SPACE) \
+ E(SP_AD_HOC_SPACE) \
+ E(SP_NEUMATIC_CUT_NB) \
+ E(SP_LARGER_SPACE_NB) \
+ E(SP_GLYPH_SPACE_NB) \
+ L(SP_AD_HOC_SPACE_NB)
+ENUM(gregorio_space, GREGORIO_SPACE);
/* the different liquescences, like for the signs, have special
* values: to say that something is initio_debilis, just do
* glyph->liquescentia+=L_INITIO_DEBILIS. So don't change the value,
* the trick is much used */
-typedef enum gregorio_liquescentia {
- L_NO_LIQUESCENTIA = 0,
- L_DEMINUTUS = 0x01,
- L_AUCTUS_ASCENDENS = 0x02,
- L_AUCTUS_DESCENDENS = 0x04,
- L_AUCTA = 0x08,
- L_INITIO_DEBILIS = 0x10,
- L_DEMINUTUS_INITIO_DEBILIS = 0x11,
- L_AUCTUS_ASCENDENS_INITIO_DEBILIS = 0x12,
- L_AUCTUS_DESCENDENS_INITIO_DEBILIS = 0x14,
- L_AUCTA_INITIO_DEBILIS = 0x18
-} gregorio_liquescentia;
-
-typedef enum grehepisema_size {
- H_NORMAL = 0,
- H_SMALL_LEFT,
- H_SMALL_CENTRE,
- H_SMALL_RIGHT
-} grehepisema_size;
+#define TAIL_LIQUESCENTIA_MASK 0x07
+
+#define GREGORIO_LIQUESCENTIA(A,E,X,L) \
+ A(L_NO_LIQUESCENTIA, 0x00) \
+ A(L_DEMINUTUS, 0x01) \
+ A(L_AUCTUS_ASCENDENS, 0x02) \
+ A(L_AUCTUS_DESCENDENS, 0x04) \
+ A(L_INITIO_DEBILIS, 0x10) \
+ A(L_DEMINUTUS_INITIO_DEBILIS, 0x11) \
+ A(L_AUCTUS_ASCENDENS_INITIO_DEBILIS, 0x12) \
+ A(L_AUCTUS_DESCENDENS_INITIO_DEBILIS, 0x14) \
+ A(L_FUSED, 0x20) \
+ A(L_FUSED_DEMINUTUS, 0x21) \
+ A(L_FUSED_AUCTUS_ASCENDENS, 0x22) \
+ X(L_FUSED_AUCTUS_DESCENDENS, 0x24)
+ENUM(gregorio_liquescentia, GREGORIO_LIQUESCENTIA);
+
+#define GREHEPISEMA_SIZE(A,E,X,L) \
+ A(H_NORMAL, 0) \
+ E(H_SMALL_LEFT) \
+ E(H_SMALL_CENTRE) \
+ L(H_SMALL_RIGHT)
+ENUM(grehepisema_size, GREHEPISEMA_SIZE);
/* values are chosen so BELOW/ABOVE can be added to a pitch */
-typedef enum gregorio_vposition {
- VPOS_AUTO = 0,
- VPOS_BELOW = -1,
- VPOS_ABOVE = 1
-} gregorio_vposition;
+#define GREGORIO_VPOSITION(A,E,X,L) \
+ A(VPOS_AUTO, 0) \
+ A(VPOS_BELOW, -1) \
+ X(VPOS_ABOVE, 1)
+ENUM(gregorio_vposition, GREGORIO_VPOSITION);
/* The different types of glyph */
-typedef enum gregorio_glyph_type {
- G_PUNCTUM_INCLINATUM = 1,
- G_2_PUNCTA_INCLINATA_DESCENDENS,
- G_3_PUNCTA_INCLINATA_DESCENDENS,
- G_4_PUNCTA_INCLINATA_DESCENDENS,
- G_5_PUNCTA_INCLINATA_DESCENDENS,
- G_2_PUNCTA_INCLINATA_ASCENDENS,
- G_3_PUNCTA_INCLINATA_ASCENDENS,
- G_4_PUNCTA_INCLINATA_ASCENDENS,
- G_5_PUNCTA_INCLINATA_ASCENDENS,
- G_TRIGONUS,
- G_PUNCTA_INCLINATA,
- /* !!! DO NOT CHANGE THE ENUM ORDERING BEFORE THIS LINE !!! */
- G_UNDETERMINED,
- G_VIRGA,
- G_STROPHA,
- G_STROPHA_AUCTA,
- G_PUNCTUM,
- G_PODATUS,
- G_PES_QUADRATUM,
- G_FLEXA,
- G_TORCULUS,
- G_TORCULUS_RESUPINUS,
- G_TORCULUS_RESUPINUS_FLEXUS,
- G_PORRECTUS,
- G_PORRECTUS_FLEXUS,
- G_BIVIRGA,
- G_TRIVIRGA,
- G_DISTROPHA,
- G_DISTROPHA_AUCTA,
- G_TRISTROPHA,
- G_TRISTROPHA_AUCTA,
- G_PES_QUADRATUM_FIRST_PART,
- G_SCANDICUS,
- G_PES_QUILISMA_QUADRATUM_FIRST_PART,
- G_ANCUS,
- G_ONE_NOTE,
- G_PUNCTA_ASCENDENS,
- G_PUNCTA_DESCENDENS,
- G_VIRGA_REVERSA,
- G_SALICUS,
- G_VIRGA_STRATA,
- G_TORCULUS_LIQUESCENS,
- /* additional glyph types, necessary for determination */
- G_PORRECTUS_NO_BAR,
- G_PORRECTUS_FLEXUS_NO_BAR,
- G_PES_QUILISMA
-} gregorio_glyph_type;
+#define GREGORIO_GLYPH_TYPE(A,E,X,L) \
+ A(G_PUNCTUM_INCLINATUM, 1) \
+ E(G_2_PUNCTA_INCLINATA_DESCENDENS) \
+ E(G_3_PUNCTA_INCLINATA_DESCENDENS) \
+ E(G_4_PUNCTA_INCLINATA_DESCENDENS) \
+ E(G_5_PUNCTA_INCLINATA_DESCENDENS) \
+ E(G_2_PUNCTA_INCLINATA_ASCENDENS) \
+ E(G_3_PUNCTA_INCLINATA_ASCENDENS) \
+ E(G_4_PUNCTA_INCLINATA_ASCENDENS) \
+ E(G_5_PUNCTA_INCLINATA_ASCENDENS) \
+ E(G_TRIGONUS) \
+ E(G_PUNCTA_INCLINATA) \
+ /* !!! DO NOT CHANGE THE ENUM ORDERING BEFORE THIS LINE !!! */ \
+ E(G_UNDETERMINED) \
+ E(G_VIRGA) \
+ E(G_STROPHA) \
+ E(G_STROPHA_AUCTA) \
+ E(G_PUNCTUM) \
+ E(G_ALTERATION) \
+ E(G_PODATUS) \
+ E(G_PES_QUADRATUM) \
+ E(G_FLEXA) \
+ E(G_TORCULUS) \
+ E(G_TORCULUS_RESUPINUS) \
+ E(G_TORCULUS_RESUPINUS_FLEXUS) \
+ E(G_PORRECTUS) \
+ E(G_PORRECTUS_FLEXUS) \
+ E(G_BIVIRGA) \
+ E(G_TRIVIRGA) \
+ E(G_DISTROPHA) \
+ E(G_DISTROPHA_AUCTA) \
+ E(G_TRISTROPHA) \
+ E(G_TRISTROPHA_AUCTA) \
+ E(G_PES_QUADRATUM_FIRST_PART) \
+ E(G_SCANDICUS) \
+ E(G_PES_QUILISMA_QUADRATUM_FIRST_PART) \
+ E(G_ANCUS) \
+ E(G_ONE_NOTE) \
+ E(G_PUNCTA_ASCENDENS) \
+ E(G_PUNCTA_DESCENDENS) \
+ E(G_VIRGA_REVERSA) \
+ E(G_SALICUS) \
+ E(G_SALICUS_FLEXUS) \
+ E(G_VIRGA_STRATA) \
+ E(G_TORCULUS_LIQUESCENS) \
+ E(G_PES_QUILISMA) \
+ /* additional glyph types, necessary for determination */ \
+ E(G_PORRECTUS_NO_BAR) \
+ E(G_PORRECTUS_FLEXUS_NO_BAR) \
+ L(G_FUSED)
+ENUM(gregorio_glyph_type, GREGORIO_GLYPH_TYPE);
/*
- *
+ *
* The we define the characters. First we define the different styles. You
* can notice that center is just a style like the others
- *
+ *
*/
-typedef enum grestyle_style {
- ST_NO_STYLE = 0,
- ST_ITALIC,
- ST_CENTER,
+#define GRESTYLE_STYLE(A,E,X,L) \
+ A(ST_NO_STYLE, 0) \
+ E(ST_ITALIC) \
+ E(ST_CENTER) \
/* when the user types a {}, basically the same behaviour, except for
- * the initial */
- ST_FORCED_CENTER,
- ST_BOLD,
- ST_TT,
- ST_SMALL_CAPS,
- ST_SPECIAL_CHAR,
- ST_VERBATIM,
- ST_INITIAL, /* a style used to determine the initial */
- ST_UNDERLINED,
- ST_COLORED,
- ST_FIRST_WORD,
- ST_FIRST_SYLLABLE,
- ST_FIRST_SYLLABLE_INITIAL,
- ST_SYLLABLE_INITIAL
-} grestyle_style;
+ * the initial */ \
+ E(ST_FORCED_CENTER) \
+ E(ST_BOLD) \
+ E(ST_TT) \
+ E(ST_SMALL_CAPS) \
+ E(ST_SPECIAL_CHAR) \
+ E(ST_VERBATIM) \
+ E(ST_INITIAL) /* a style used to determine the initial */ \
+ E(ST_UNDERLINED) \
+ E(ST_COLORED) \
+ E(ST_FIRST_WORD) \
+ E(ST_FIRST_SYLLABLE) \
+ E(ST_FIRST_SYLLABLE_INITIAL) \
+ L(ST_SYLLABLE_INITIAL)
+ENUM(grestyle_style, GRESTYLE_STYLE);
/*
* Then the different types of styles. See the next comments for further
- * readings.
+ * readings.
*/
-typedef enum grestyle_type {
- ST_T_NOTHING = 0,
- ST_T_BEGIN,
- ST_T_END
-} grestyle_type;
+#define GRESTYLE_TYPE(A,E,X,L) \
+ A(ST_T_NOTHING, 0) \
+ E(ST_T_BEGIN) \
+ L(ST_T_END)
+ENUM(grestyle_type, GRESTYLE_TYPE);
/*
- * The different types of translation centerings
+ * The different types of translation centerings
*/
-typedef enum gregorio_tr_centering {
- TR_NORMAL = 0,
- TR_WITH_CENTER_BEGINNING,
- TR_WITH_CENTER_END
-} gregorio_tr_centering;
+#define GREGORIO_TR_CENTERING(A,E,X,L) \
+ A(TR_NORMAL, 0) \
+ E(TR_WITH_CENTER_BEGINNING) \
+ L(TR_WITH_CENTER_END)
+ENUM(gregorio_tr_centering, GREGORIO_TR_CENTERING);
/*
- * Nothing, beginning or end of area without linebreak
+ * Nothing, beginning or end of area without linebreak
*/
-typedef enum gregorio_nlba {
- NLBA_NORMAL = 0,
- NLBA_BEGINNING,
- NLBA_END
-} gregorio_nlba;
-
-typedef enum gregorio_euouae {
- EUOUAE_NORMAL = 0,
- EUOUAE_BEGINNING,
- EUOUAE_END
-} gregorio_euouae;
-
-typedef enum gregorio_word_position {
- WORD_BEGINNING = 1,
- WORD_MIDDLE,
- WORD_END,
- WORD_ONE_SYLLABLE
-} gregorio_word_position;
-
-/* the centering schemes for gabc: */
-typedef enum gregorio_lyric_centering {
- SCHEME_DEFAULT = 0,
- SCHEME_VOWEL,
- SCHEME_SYLLABLE
-} gregorio_lyric_centering;
+#define GREGORIO_NLBA(A,E,X,L) \
+ A(NLBA_NORMAL, 0) \
+ E(NLBA_BEGINNING) \
+ L(NLBA_END)
+ENUM(gregorio_nlba, GREGORIO_NLBA);
+
+#define GREGORIO_EUOUAE(A,E,X,L) \
+ A(EUOUAE_NORMAL, 0) \
+ E(EUOUAE_BEGINNING) \
+ L(EUOUAE_END)
+ENUM(gregorio_euouae, GREGORIO_EUOUAE);
+
+#define GREGORIO_WORD_POSITION(A,E,X,L) \
+ A(WORD_BEGINNING, 1) \
+ E(WORD_MIDDLE) \
+ E(WORD_END) \
+ L(WORD_ONE_SYLLABLE)
+ENUM(gregorio_word_position, GREGORIO_WORD_POSITION);
typedef struct gregorio_extra_info {
- /* the sub-type of GRE_END_OF_LINE */
- ENUM_BITFIELD(gregorio_type) sub_type:8;
- ENUM_BITFIELD(gregorio_bar) bar:8;
- ENUM_BITFIELD(gregorio_space) space:8;
- ENUM_BITFIELD(gregorio_nlba) nlba:8;
+ char *ad_hoc_space_factor;
+ ENUM_BITFIELD(gregorio_bar) bar:4;
+ ENUM_BITFIELD(gregorio_space) space:4;
+ ENUM_BITFIELD(gregorio_nlba) nlba:2;
+ bool eol_ragged:1;
+ bool eol_forces_custos:1;
+ bool eol_forces_custos_on:1;
} gregorio_extra_info;
+typedef struct gregorio_clef_info {
+ unsigned char line;
+ unsigned char secondary_line;
+ ENUM_BITFIELD(gregorio_clef) clef:1;
+ bool flatted:1;
+ ENUM_BITFIELD(gregorio_clef) secondary_clef:1;
+ bool secondary_flatted:1;
+} gregorio_clef_info;
+
typedef union gregorio_misc_element_info {
- /* pitched is used for GRE_CUSTOS, GRE_FLAT, GRE_SHARP, GRE_NATURAL,
- * GRE_C_KEY_CHANGE, GRE_F_KEY_CHANGE, GRE_C_KEY_CHANGE_FLATED, and
- * GRE_F_KEY_CHANGE_FLATED */
+ /* pitched is used for GRE_CUSTOS */
struct {
- /* The pitch of the glyph for GRE_FLAT, GRE_NATURAL, GRE_SHARP.
- * If a clef change, pitch will be a number indicating the line of
- * the clef. */
+ /* The pitch of the glyph. */
signed char pitch;
/* boolean indicating a clef with a B-flat */
- bool flatted_key:1;
bool force_pitch:1;
} pitched;
+ /* clef is used for GRE_CLEF */
+ struct gregorio_clef_info clef;
/* unpitched is used for everything else */
struct {
struct gregorio_extra_info info;
@@ -381,7 +403,7 @@ typedef union gregorio_misc_element_info {
/*
* ! We start with the most precise structure, the note structure. The
* note is always a real note (we'll see that glyphs and elements can be
- * other things).
+ * other things).
*/
typedef struct gregorio_note {
/* then two pointer to other notes, to make a chained list. */
@@ -394,9 +416,7 @@ typedef struct gregorio_note {
* structure generation. */
char *texverb;
union {
- /* note is used for GRE_NOTE, GRE_FLAT, GRE_SHARP, GRE_NATURAL,
- * GRE_C_KEY_CHANGE, GRE_F_KEY_CHANGE, GRE_C_KEY_CHANGE_FLATED, and
- * GRE_F_KEY_CHANGE_FLATED */
+ /* note is used for GRE_NOTE */
struct {
/* the pitch is the height of the note on the score, that is to
* say the letter it is represented by in gabc. If a clef
@@ -411,6 +431,8 @@ typedef struct gregorio_note {
* determination of glyphs. */
ENUM_BITFIELD(gregorio_liquescentia) liquescentia:8;
} note;
+ /* clef is used for GRE_CLEF */
+ struct gregorio_clef_info clef;
/* other is used for everything else */
struct gregorio_extra_info other;
} u;
@@ -445,6 +467,12 @@ typedef struct gregorio_note {
ENUM_BITFIELD(grehepisema_size) h_episema_below_size:2;
bool h_episema_above_connect:1;
bool h_episema_below_connect:1;
+ bool supposed_high_ledger_line:1;
+ bool supposed_low_ledger_line:1;
+ /* the "explicit" flags indicate that the "supposed" flags contain values
+ * that were explicitly specified in the gabc file */
+ bool explicit_high_ledger_line:1;
+ bool explicit_low_ledger_line:1;
bool is_lower_note:1;
bool is_upper_note:1;
ENUM_BITFIELD(gregorio_vposition) mora_vposition:2;
@@ -452,9 +480,8 @@ typedef struct gregorio_note {
} gregorio_note;
/*
- * ! @brief The gregorio glyph structure Unlike gregorio_note,
- * gregorio_glyph can be other things besides \c GRE_GLYPH: it can also be
- * \c GRE_FLAT, \c GRE_NATURAL or \c GRE_SPACE
+ * ! @brief The gregorio glyph structure Unlike gregorio_note, gregorio_glyph
+ * can be other things besides GRE_GLYPH: it can also be GRE_SPACE
*/
typedef struct gregorio_glyph {
/* two pointer to make a chained list */
@@ -469,6 +496,7 @@ typedef struct gregorio_glyph {
/* a pointer to a (chained list of) gregorio_notes, the first of
* the glyph. */
struct gregorio_note *first_note;
+ signed char fuse_to_next_glyph;
/* The glyph type for a GRE_GLYPH (porrectus, pes, etc.). They
* are all listed above. */
ENUM_BITFIELD(gregorio_glyph_type) glyph_type:8;
@@ -515,7 +543,7 @@ typedef struct gregorio_element {
} gregorio_element;
/*
- *
+ *
* gregorio_characters are a bit specials. As there can be styles in the
* text, I had to find a structure mode adapted that just grewchar *. So
* basically a gregorio_character is a double-chained list of things that
@@ -524,7 +552,7 @@ typedef struct gregorio_element {
* P->style(type: beginning, style italic) -> o -> style(type:end, style:
* italic). But for this list to be coherent, it is mandatory that it is
* xml-compliant, that is to say that a<b>c<i>d</b>e</i> will be
- * interpreted as a<b>c<i>d</i></b><i>e</i>. This MUST be done when reading
+ * interpreted as a<b>c<i>d</i></b><i>e</i>. This MUST be done when reading
* a file, so that the structure in memory is coherent. It makes input
* modules more comple, but output modules muche more simpler. The last
* particularity is that center must also be determined in the input
@@ -532,13 +560,13 @@ typedef struct gregorio_element {
* complex, because for TeX-like output modules, we need to close all
* styles before the center style: if the user types <i>pot</i> it must be
* represented as <i>p</i>{<i>o</i>}<i>t</i>.
- *
+ *
* Here is the declaration of the gregorio_style struct. It is simply two
* chars, one telling the type of style character it is (beginning for a
* character that marks the beginning of a style, and end for a character
* marking the end of a style). The other char simply is the style
* represented by the character (italic, etc.)
- *
+ *
*/
typedef struct gregorio_style {
@@ -547,10 +575,10 @@ typedef struct gregorio_style {
} gregorio_style;
/*
- *
- * This union is quite ugly... but necessary for a gregorio_character to be
+ *
+ * This union is quite ugly... but necessary for a gregorio_character to be
* able to be a grewchar or gregorio_style.
- *
+ *
*/
typedef union character_or_style {
grewchar character;
@@ -558,7 +586,7 @@ typedef union character_or_style {
} character_or_style;
/*
- *
+ *
* Finally the gregorio_character structure in itself, It is first a char
* determining the type (character or gregorio_style). This char is 0 when
* it is a style and something else when it is a character. Then the two
@@ -567,7 +595,7 @@ typedef union character_or_style {
* know it is a character of style), you must access to
* mygregoriochar.cos.s.style, and for the character
* mygregoriochar.cos.character .
- *
+ *
*/
typedef struct gregorio_character {
@@ -594,10 +622,11 @@ typedef struct gregorio_syllable {
* case of polyphonic score. In most scores (monophonic), the array
* has only one element. */
struct gregorio_element **elements;
+ unsigned short euouae_id;
unsigned short src_line, src_column, src_offset;
/* a syllable can be a GRE_SYLLABLE, a GRE_*_KEY_CHANGE or a
* GRE_BAR. It is useful when there is only that in a syllable. */
- char type;
+ ENUM_BITFIELD(gregorio_type) type:8;
/* again, an additional field to put some signs or other things... */
ENUM_BITFIELD(gregorio_sign) special_sign:8;
/* type of translation (with center beginning or only center end) */
@@ -613,30 +642,18 @@ typedef struct gregorio_syllable {
bool first_word:1;
} gregorio_syllable;
-/* The items in source_info used to be -- well, most of them -- in
- * gregorio_voice_info. This is because the different `voices' may
- * in future be used for different variants of a melody:
- * e.g. notated in square notation, notated in some early neumatic
- * form from manuscript A, and another in manuscript B. In that
- * case the different voices would naturally have different source
- * info. However, this enhancement to gregorio is not yet planned,
- * and so this structure is made part of gregorio_score. */
-typedef struct source_info {
- char *author;
- char *date;
- char *manuscript;
- char *manuscript_reference; /* was reference */
- char *manuscript_storage_place; /* was storage_place */
- char *book;
- char *transcriber;
- char *transcription_date;
-} source_info;
+/* Stores a header in a singly-linked list */
+typedef struct gregorio_header {
+ char *name;
+ char *value;
+ struct gregorio_header *next;
+} gregorio_header;
/*
- *
+ *
* Score is the top structure, the structure in which we will convert
* everything, and from which we will construct XML
- *
+ *
*/
#define MAX_ANNOTATIONS 2
@@ -654,22 +671,15 @@ typedef struct gregorio_score {
char *name;
char *gabc_copyright;
char *score_copyright;
- char *office_part;
- char *occasion;
- /* the meter, numbers of syllables per line, as e.g. 8.8.8.8 */
- char *meter;
- char *commentary;
- char *arranger;
- struct source_info si;
- /* the mode of a song is between 1 and 8 */
- char mode;
+ char *mode;
+ char *mode_modifier;
+ char *mode_differentia;
+ char *author;
/* There is one annotation for each line above the initial letter */
char *annotation[MAX_ANNOTATIONS];
- /* field giving informations on the initial (no initial, normal initial
+ /* field giving informations on the initial (no initial, normal initial
* or two lines initial) */
- char initial_style;
- /* the font to use in gregoriotex */
- char *gregoriotex_font;
+ signed char initial_style; /* DEPRECATED */
size_t nabc_lines;
char *user_notes;
/* the determination method (maximal ambitus, etc.) */
@@ -677,29 +687,27 @@ typedef struct gregorio_score {
/* then, as there are some metadata that are voice-specific, we add a
* pointer to the first voice_info. (see comments below) */
struct gregorio_voice_info *first_voice_info;
- gregorio_lyric_centering centering;
+ struct gregorio_header *headers;
+ struct gregorio_header *last_header;
+ unsigned char staff_lines;
+ signed char highest_pitch;
+ signed char high_ledger_line_pitch;
+ bool legacy_oriscus_orientation;
} gregorio_score;
/*
- *
+ *
* gregorio_voice info contains everything that is voice_specific, for
* example the key, etc. that can be different from one voice to another.
* The order of the voice_info (it is a chained list) is the same as the
* order of the voices (from top to bottom in their representation on the
* score).
- *
+ *
*/
typedef struct gregorio_voice_info {
- /* the only thing that is worth a comment here is the key. We have a
- * special representation for the key. See comments on
- * src/struct-utils.c for further reading. */
- int initial_key;
- /* See source_info above for comments about the move of author etc. */
- char *style;
- char *virgula_position;
+ gregorio_clef_info initial_clef;
struct gregorio_voice_info *next_voice_info;
- bool flatted_key;
} gregorio_voice_info;
/* the maximum number of voices, more than this is total nonsense in
@@ -711,19 +719,13 @@ typedef struct gregorio_voice_info {
#define C_KEY 'c'
#define F_KEY 'f'
#define NO_KEY -5
-#define DEFAULT_KEY 5
-
-#define MONOPHONY 0
-/* the different initial styles */
+extern gregorio_clef_info gregorio_default_clef;
-#define NO_INITIAL 0
-#define NORMAL_INITIAL 1
-#define BIG_INITIAL 2
+#define MONOPHONY 0
-#define NO_ALTERATION USELESS_VALUE
-#define FLAT GRE_FLAT
-#define NATURAL GRE_NATURAL
+/* the different initial styles - DEPRECATED by 4.1 */
+#define INITIAL_NOT_SPECIFIED -1
#define USELESS_VALUE 0
@@ -735,15 +737,19 @@ static __inline bool is_puncta_inclinata(char glyph)
#define IS_INITIO_DEBILIS 5
#define NO_INITIO_DEBILIS 0
-static __inline bool is_liquescentia(char liquescentia)
+static __inline bool is_tail_liquescentia(char liquescentia)
{
- return liquescentia == L_DEMINUTUS || liquescentia == L_AUCTUS_ASCENDENS
- || liquescentia == L_AUCTUS_DESCENDENS || liquescentia == L_AUCTA;
+ return liquescentia & TAIL_LIQUESCENTIA_MASK;
}
static __inline bool is_initio_debilis(char liquescentia)
{
- return liquescentia >= L_INITIO_DEBILIS;
+ return liquescentia & L_INITIO_DEBILIS;
+}
+
+static __inline bool is_fused(char liquescentia)
+{
+ return liquescentia & L_FUSED;
}
#define HEPISEMA_NONE 0
@@ -752,8 +758,8 @@ static __inline bool is_initio_debilis(char liquescentia)
/* The first pitch MUST be an odd number */
#define LOWEST_PITCH 3
-#define HIGHEST_PITCH (LOWEST_PITCH + 12)
#define DUMMY_PITCH (LOWEST_PITCH + 6)
+#define LOW_LEDGER_LINE_PITCH (LOWEST_PITCH + 1)
gregorio_score *gregorio_new_score(void);
void gregorio_add_note(gregorio_note **current_note, signed char pitch,
@@ -774,7 +780,8 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
gregorio_euouae euouae, const gregorio_scanner_location *loc,
bool first_word);
void gregorio_add_special_sign(gregorio_note *current_note, gregorio_sign sign);
-void gregorio_change_shape(gregorio_note *note, gregorio_shape shape);
+void gregorio_change_shape(gregorio_note *note, gregorio_shape shape,
+ bool legacy_oriscus_orientation);
void gregorio_position_h_episema_above(gregorio_note *note, signed char height,
bool connect);
void gregorio_position_h_episema_below(gregorio_note *note, signed char height,
@@ -784,90 +791,120 @@ void gregorio_add_h_episema(gregorio_note *note, grehepisema_size size,
unsigned int *nbof_isolated_episema);
void gregorio_add_sign(gregorio_note *note, gregorio_sign sign,
gregorio_vposition vposition);
-void gregorio_add_liquescentia(gregorio_note *note,
- gregorio_liquescentia liquescentia);
+void gregorio_add_tail_liquescentia(gregorio_note *note,
+ gregorio_liquescentia liquescentia, bool legacy_oriscus_orientation);
void gregorio_add_voice_info(gregorio_voice_info **current_voice_info);
void gregorio_free_voice_infos(gregorio_voice_info *voice_info);
void gregorio_free_one_note(gregorio_note **note);
void gregorio_free_one_glyph(gregorio_glyph **glyph);
void gregorio_free_score(gregorio_score *score);
-void gregorio_go_to_first_character(gregorio_character **character);
+void gregorio_free_characters(gregorio_character *current_character);
+void gregorio_go_to_first_character(const gregorio_character **character);
+void gregorio_add_clef_as_glyph(gregorio_glyph **current_glyph,
+ gregorio_clef_info clef, char *texverb);
void gregorio_add_pitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, signed char pitch, bool flatted_key,
- bool force_pitch, char *texverb);
+ gregorio_type type, signed char pitch, bool force_pitch, char *texverb);
void gregorio_add_unpitched_element_as_glyph(gregorio_glyph **current_glyph,
- gregorio_type type, gregorio_extra_info info, gregorio_sign sign,
+ gregorio_type type, gregorio_extra_info *info, gregorio_sign sign,
char *texverb);
void gregorio_add_end_of_line_as_note(gregorio_note **current_note,
- gregorio_type sub_type, const gregorio_scanner_location *loc);
+ bool eol_ragged, bool eol_forces_custos, bool eol_forces_custos_on,
+ const gregorio_scanner_location *loc);
void gregorio_add_custo_as_note(gregorio_note **current_note,
const gregorio_scanner_location *loc);
void gregorio_add_manual_custos_as_note(gregorio_note **current_note,
signed char pitch, const gregorio_scanner_location *loc);
-void gregorio_add_clef_change_as_note(gregorio_note **current_note,
- gregorio_type type, signed char clef_line,
+void gregorio_add_clef_as_note(gregorio_note **current_note,
+ gregorio_clef clef, signed char clef_line, bool flatted,
const gregorio_scanner_location *loc);
+void gregorio_add_secondary_clef_to_note(gregorio_note *current_note,
+ gregorio_clef clef, signed char clef_line, bool flatted);
void gregorio_add_bar_as_note(gregorio_note **current_note, gregorio_bar bar,
const gregorio_scanner_location *loc);
-void gregorio_add_alteration_as_note(gregorio_note **current_note,
- gregorio_type type, signed char pitch,
- const gregorio_scanner_location *loc);
void gregorio_add_space_as_note(gregorio_note **current_note,
- gregorio_space space,
+ gregorio_space space, char *factor,
const gregorio_scanner_location *loc);
void gregorio_add_texverb_as_note(gregorio_note **current_note, char *str,
gregorio_type type, const gregorio_scanner_location *loc);
void gregorio_add_nlba_as_note(gregorio_note **current_note,
gregorio_nlba type, const gregorio_scanner_location *loc);
-void gregorio_add_texverb_to_note(gregorio_note **current_note, char *str);
+void gregorio_start_autofuse(gregorio_note **current_note,
+ const gregorio_scanner_location *loc);
+void gregorio_end_autofuse(gregorio_note **current_note,
+ const gregorio_scanner_location *loc);
+void gregorio_add_texverb_to_note(gregorio_note *current_note, char *str);
void gregorio_add_cs_to_note(gregorio_note *const*current_note, char *str,
bool nabc);
void gregorio_add_misc_element(gregorio_element **current_element,
- gregorio_type type, gregorio_misc_element_info info, char *texverb);
-void gregorio_reinitialize_alterations(char alterations[][13],
- int number_of_voices);
-void gregorio_reinitialize_one_voice_alterations(char alterations[13]);
-void gregorio_set_score_name(gregorio_score *score, char *name);
-void gregorio_set_score_gabc_copyright(gregorio_score *score, char *gabc_copyright);
-void gregorio_set_score_score_copyright(gregorio_score *score,
- char *score_copyright);
-void gregorio_set_score_office_part(gregorio_score *score, char *office_part);
-void gregorio_set_score_occasion(gregorio_score *score, char *occasion);
-void gregorio_set_score_meter(gregorio_score *score, char *meter);
-void gregorio_set_score_commentary(gregorio_score *score, char *commentary);
-void gregorio_set_score_arranger(gregorio_score *score, char *arranger);
-void gregorio_set_score_gabc_version(gregorio_score *score, char *gabc_version);
-void gregorio_set_score_number_of_voices(gregorio_score *score,
- int number_of_voices);
+ gregorio_type type, gregorio_misc_element_info *info, char *texverb);
void gregorio_set_score_annotation(gregorio_score *score, char *annotation);
-void gregorio_set_score_author(gregorio_score *score, char *author);
-void gregorio_set_score_date(gregorio_score *score, char *date);
-void gregorio_set_score_manuscript(gregorio_score *score, char *manuscript);
-void gregorio_set_score_book(gregorio_score *score, char *book);
-void gregorio_set_score_manuscript_reference(gregorio_score *score,
- char *reference);
-void gregorio_set_score_manuscript_storage_place(gregorio_score *score,
- char *storage_place);
-void gregorio_set_score_transcriber(gregorio_score *score, char *transcriber);
-void gregorio_set_score_transcription_date(gregorio_score *score,
- char *transcription_date);
-void gregorio_set_score_user_notes(gregorio_score *score, char *user_notes);
-void gregorio_set_voice_style(gregorio_voice_info *voice_info, char *style);
-void gregorio_set_voice_virgula_position(gregorio_voice_info *voice_info,
- char *virgula_position);
-void gregorio_fix_initial_keys(gregorio_score *score, int default_key);
+void gregorio_set_score_staff_lines(gregorio_score *score, char staff_lines);
+void gregorio_add_score_header(gregorio_score *score, char *name,
+ char *value);
+void gregorio_fix_initial_keys(gregorio_score *score,
+ gregorio_clef_info default_clef);
void gregorio_go_to_first_note(gregorio_note **note);
void gregorio_go_to_first_glyph(gregorio_glyph **glyph);
-void gregorio_det_step_and_line_from_key(int key, char *step, int *line);
bool gregorio_is_only_special(gregorio_element *element);
-int gregorio_calculate_new_key(char step, int line);
+int gregorio_calculate_new_key(gregorio_clef_info clef);
void gregorio_add_character(gregorio_character **current_character,
grewchar wcharacter);
void gregorio_begin_style(gregorio_character **current_character,
grestyle_style style);
void gregorio_end_style(gregorio_character **current_character,
grestyle_style style);
+gregorio_character *gregorio_clone_characters(const gregorio_character *source);
signed char gregorio_determine_next_pitch(gregorio_syllable *syllable,
gregorio_element *element, gregorio_glyph *glyph);
+const char *gregorio_unknown(int value);
+
+static __inline void gregorio_go_to_first_character_c(gregorio_character **character)
+{
+ gregorio_go_to_first_character((const gregorio_character **)character);
+}
+
+static __inline gregorio_note *gregorio_glyph_last_note(
+ const gregorio_glyph *const glyph)
+{
+ gregorio_note *note;
+ if (!glyph || glyph->type != GRE_GLYPH) {
+ return NULL;
+ }
+ for (note = glyph->u.notes.first_note; note->next; note = note->next) {
+ /* iterate to find the last note */
+ }
+ return note;
+}
+
+static __inline const gregorio_glyph *gregorio_next_non_texverb_glyph(
+ const gregorio_glyph *glyph)
+{
+ if (glyph) {
+ for (glyph = glyph->next; glyph; glyph = glyph->next) {
+ if (glyph->type != GRE_TEXVERB_GLYPH) {
+ return glyph;
+ }
+ }
+ }
+ return NULL;
+}
+
+static __inline const gregorio_glyph *gregorio_previous_non_texverb_glyph(
+ const gregorio_glyph *glyph)
+{
+ if (glyph) {
+ for (glyph = glyph->previous; glyph; glyph = glyph->previous) {
+ if (glyph->type != GRE_TEXVERB_GLYPH) {
+ return glyph;
+ }
+ }
+ }
+ return NULL;
+}
+
+static __inline char gregorio_clef_to_char(gregorio_clef clef)
+{
+ return (clef == CLEF_C)? 'c' : 'f';
+}
#endif
diff --git a/Build/source/texk/gregorio/gregorio-src/src/unicode.c b/Build/source/texk/gregorio/gregorio-src/src/unicode.c
index 9b15a6d92e4..afb7ab71a63 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/unicode.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/unicode.c
@@ -135,7 +135,7 @@ gregorio_character *gregorio_build_char_list_from_buf(const char *const buf)
i++;
}
free(gwstring);
- gregorio_go_to_first_character(&current_character);
+ gregorio_go_to_first_character_c(&current_character);
return current_character;
}