diff --git a/c/parsing/Makefile.am b/c/parsing/Makefile.am index 7a4e13e06..bf35233f4 100644 --- a/c/parsing/Makefile.am +++ b/c/parsing/Makefile.am @@ -1,71 +1,11 @@ AM_CPPFLAGS= -I${srcdir} AM_CFLAGS= -std=gnu99 -noinst_PROGRAMS= lemon -lemon_SOURCES= lemon_action.c \ - lemon_action.h \ - lemon_assert.c \ - lemon_assert.h \ - lemon_config_list.c \ - lemon_config_list.h \ - lemon_dims.h \ - lemon_error.c \ - lemon_error.h \ - lemon_fsm.c \ - lemon_fsm.h \ - lemon_main.c \ - lemon_memory.c \ - lemon_memory.h \ - lemon_msort.c \ - lemon_msort.h \ - lemon_option.c \ - lemon_option.h \ - lemon_parse.c \ - lemon_parse.h \ - lemon_plink.c \ - lemon_plink.h \ - lemon_report.c \ - lemon_report.h \ - lemon_set.c \ - lemon_set.h \ - lemon_state_table.c \ - lemon_state_table.h \ - lemon_string.c \ - lemon_string.h \ - lemon_structs.h \ - lemon_symbol.c \ - lemon_symbol.h - noinst_LTLIBRARIES= libdsl.la -# if we don't want to distribute the generated sources, move them to a nodist_libfoo_la_SOURCES variable -libdsl_la_SOURCES= mlr_dsl_lexer.c mlr_dsl_lexer.h mlr_dsl_parse.c mlr_dsl_parse.h mlr_dsl_wrapper.c mlr_dsl_wrapper.h -CLEANFILES= mlr_dsl_lexer.c mlr_dsl_lexer.h mlr_dsl_parse.c mlr_dsl_parse.h mlr_dsl_parse.out -EXTRA_DIST= lempar.c mlr_dsl_lexer.l mlr_dsl_parse.y +libdsl_la_SOURCES= mlr_dsl_lexer.c \ + mlr_dsl_lexer.h \ + mlr_dsl_parse.c \ + mlr_dsl_parse.h \ + mlr_dsl_wrapper.c \ + mlr_dsl_wrapper.h -mlr_dsl_wrapper.c: mlr_dsl_lexer.h -mlr_dsl_parse.h: mlr_dsl_parse.c -mlr_dsl_parse.c: mlr_dsl_parse.y lempar.c lemon${EXEEXT} - ./lemon -s mlr_dsl_parse.y -# lemon does not re-generate the file if it exists and is the same -# this causes problems with the dependency above - touch mlr_dsl_parse.h - mv mlr_dsl_parse.c mlr_dsl_parse.c.tmp - sed \ - -e 's/ParseTrace/mlr_dsl_ParseTrace/g' \ - -e 's/ParseTokenName/mlr_dsl_ParseTokenName/g' \ - -e 's/lemon_parser_alloc/mlr_dsl_lemon_parser_alloc/g' \ - -e 's/lemon_parser_free/mlr_dsl_lemon_parser_free/g' \ - -e 's/lemon_parser_parse_token/mlr_dsl_lemon_parser_parse_token/g' \ - -e 's/yy_destructor/mlr_dsl_yy_destructor/g' \ - mlr_dsl_parse.c.tmp > mlr_dsl_parse.c - rm -f mlr_dsl_parse.c.tmp - - -mlr_dsl_lexer.h: mlr_dsl_lexer.c -mlr_dsl_lexer.c: mlr_dsl_lexer.l mlr_dsl_parse.h - flex --prefix=mlr_dsl_lexer_ --outfile=mlr_dsl_lexer.c --header-file=mlr_dsl_lexer.h ${srcdir}/mlr_dsl_lexer.l - -distclean-local: - if [ "${srcdir}" != "." ]; then \ - rm -f lempar.c mlr_dsl_parse.y; \ - fi diff --git a/c/parsing/Makefile.no-autoconfig b/c/parsing/Makefile.no-autoconfig index 24e208454..c9c6c9e12 100644 --- a/c/parsing/Makefile.no-autoconfig +++ b/c/parsing/Makefile.no-autoconfig @@ -172,8 +172,6 @@ lemon: \ # ---------------------------------------------------------------- clean: rm -f *.o - rm -f mlr_dsl_parse.c mlr_dsl_parse.h mlr_dsl_parse.out - rm -f mlr_dsl_lexer.c mlr_dsl_lexer.h rm -f ex0_parse.c ex0_parse.h ex0_parse.out rm -f ex0_lexer.c ex0_lexer.h rm -f ex0 diff --git a/c/parsing/mlr_dsl_lexer.c b/c/parsing/mlr_dsl_lexer.c new file mode 100644 index 000000000..f23779500 --- /dev/null +++ b/c/parsing/mlr_dsl_lexer.c @@ -0,0 +1,3182 @@ +#line 2 "mlr_dsl_lexer.c" + +#line 4 "mlr_dsl_lexer.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN yyg->yy_start = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START ((yyg->yy_start - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE mlr_dsl_lexer_restart(yyin ,yyscanner ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = yyg->yy_hold_char; \ + YY_RESTORE_YY_MORE_OFFSET \ + yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + yy_size_t yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via mlr_dsl_lexer_restart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ + ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] + +void mlr_dsl_lexer_restart (FILE *input_file ,yyscan_t yyscanner ); +void mlr_dsl_lexer__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void mlr_dsl_lexer__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void mlr_dsl_lexer__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void mlr_dsl_lexer_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void mlr_dsl_lexer_pop_buffer_state (yyscan_t yyscanner ); + +static void mlr_dsl_lexer_ensure_buffer_stack (yyscan_t yyscanner ); +static void mlr_dsl_lexer__load_buffer_state (yyscan_t yyscanner ); +static void mlr_dsl_lexer__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); + +#define YY_FLUSH_BUFFER mlr_dsl_lexer__flush_buffer(YY_CURRENT_BUFFER ,yyscanner) + +YY_BUFFER_STATE mlr_dsl_lexer__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); + +void *mlr_dsl_lexer_alloc (yy_size_t ,yyscan_t yyscanner ); +void *mlr_dsl_lexer_realloc (void *,yy_size_t ,yyscan_t yyscanner ); +void mlr_dsl_lexer_free (void * ,yyscan_t yyscanner ); + +#define yy_new_buffer mlr_dsl_lexer__create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + mlr_dsl_lexer_ensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + mlr_dsl_lexer__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + mlr_dsl_lexer_ensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + mlr_dsl_lexer__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define mlr_dsl_lexer_wrap(n) 1 +#define YY_SKIP_YYWRAP + +typedef unsigned char YY_CHAR; + +typedef int yy_state_type; + +#define yytext_ptr yytext_r + +static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); +static int yy_get_next_buffer (yyscan_t yyscanner ); +static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + yyg->yytext_ptr = yy_bp; \ + yyleng = (yy_size_t) (yy_cp - yy_bp); \ + yyg->yy_hold_char = *yy_cp; \ + *yy_cp = '\0'; \ + yyg->yy_c_buf_p = yy_cp; + +#define YY_NUM_RULES 133 +#define YY_END_OF_BUFFER 134 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[289] = + { 0, + 0, 0, 134, 132, 131, 131, 85, 132, 132, 90, + 83, 55, 127, 128, 67, 61, 129, 63, 65, 69, + 99, 99, 36, 1, 49, 4, 47, 35, 95, 126, + 126, 126, 126, 126, 126, 126, 97, 98, 53, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 2, 51, 3, 86, 46, + 0, 101, 0, 0, 130, 89, 91, 0, 84, 41, + 56, 87, 68, 62, 64, 77, 73, 75, 79, 99, + 66, 71, 70, 99, 99, 0, 0, 57, 50, 45, + 43, 48, 59, 96, 93, 0, 126, 126, 126, 126, + + 126, 126, 126, 126, 118, 119, 126, 126, 126, 54, + 39, 126, 126, 126, 126, 126, 126, 26, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 32, + 29, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 52, 37, 44, 102, 0, 0, 92, 42, + 88, 78, 74, 76, 81, 80, 0, 72, 99, 0, + 0, 99, 100, 58, 60, 0, 0, 94, 125, 126, + 120, 113, 112, 114, 124, 126, 116, 115, 117, 40, + 25, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 24, 126, 126, 126, 126, 28, 126, 106, 103, + + 105, 126, 126, 126, 109, 126, 7, 126, 126, 104, + 126, 38, 0, 0, 92, 82, 0, 99, 0, 0, + 99, 99, 0, 0, 94, 126, 123, 126, 108, 126, + 21, 126, 11, 126, 33, 34, 10, 126, 126, 126, + 126, 19, 126, 126, 126, 126, 20, 110, 126, 126, + 99, 0, 99, 99, 126, 23, 30, 126, 12, 8, + 9, 126, 111, 126, 107, 13, 126, 126, 126, 6, + 27, 99, 126, 126, 126, 15, 5, 14, 22, 18, + 17, 126, 122, 126, 16, 121, 31, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 4, 5, 6, 7, 8, 9, 1, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 28, 28, 29, 30, + 31, 31, 32, 31, 31, 33, 34, 35, 36, 37, + 31, 38, 39, 31, 40, 41, 31, 31, 31, 31, + 42, 43, 44, 45, 46, 1, 47, 48, 49, 50, + + 51, 52, 53, 54, 55, 31, 56, 57, 58, 59, + 60, 61, 31, 62, 63, 64, 65, 66, 67, 68, + 31, 31, 69, 70, 71, 72, 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, 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, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[73] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 1, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 1, 1, 1, 1, 4, 3, 3, 3, 3, + 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 2, 1, + 1, 1 + } ; + +static yyconst flex_int16_t yy_base[299] = + { 0, + 0, 0, 397, 398, 398, 398, 373, 68, 392, 62, + 371, 66, 398, 398, 64, 370, 398, 369, 65, 62, + 74, 78, 398, 398, 76, 58, 77, 398, 74, 0, + 356, 70, 76, 344, 74, 78, 398, 398, 72, 332, + 58, 63, 59, 76, 81, 80, 341, 322, 324, 334, + 57, 89, 325, 336, 328, 398, 104, 398, 398, 309, + 139, 325, 376, 375, 398, 398, 79, 102, 398, 354, + 398, 353, 398, 398, 398, 352, 351, 350, 130, 136, + 398, 349, 398, 138, 142, 144, 0, 348, 398, 398, + 398, 398, 347, 398, 137, 107, 0, 328, 335, 329, + + 327, 326, 325, 135, 0, 0, 324, 323, 322, 398, + 337, 302, 305, 297, 305, 298, 295, 0, 295, 287, + 113, 296, 300, 287, 291, 290, 286, 283, 285, 0, + 279, 281, 283, 285, 275, 119, 290, 286, 271, 272, + 272, 278, 398, 309, 398, 398, 109, 167, 398, 398, + 398, 398, 398, 398, 308, 398, 173, 398, 165, 180, + 167, 178, 0, 398, 398, 132, 174, 398, 0, 301, + 0, 0, 0, 0, 0, 297, 0, 0, 0, 398, + 0, 273, 270, 279, 268, 260, 262, 264, 269, 269, + 255, 0, 263, 254, 252, 268, 0, 265, 0, 0, + + 0, 254, 247, 149, 0, 249, 0, 259, 258, 0, + 251, 398, 136, 187, 158, 398, 186, 193, 200, 195, + 202, 204, 165, 199, 181, 272, 0, 247, 0, 249, + 0, 249, 0, 242, 0, 0, 173, 210, 217, 216, + 202, 0, 201, 202, 201, 197, 0, 0, 197, 209, + 208, 213, 221, 225, 201, 0, 0, 200, 0, 0, + 0, 193, 0, 194, 0, 196, 195, 191, 187, 0, + 0, 228, 216, 215, 183, 178, 0, 0, 0, 0, + 0, 206, 0, 182, 0, 0, 0, 398, 270, 274, + 277, 280, 282, 286, 163, 290, 294, 298 + + } ; + +static yyconst flex_int16_t yy_def[299] = + { 0, + 288, 1, 288, 288, 288, 288, 288, 289, 290, 291, + 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, 292, 293, + 293, 293, 293, 293, 293, 293, 288, 288, 288, 293, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 293, 293, 288, 288, 288, 288, 288, + 289, 288, 289, 290, 288, 288, 291, 294, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 288, 288, 288, 288, 295, 288, 288, 288, + 288, 288, 288, 288, 292, 296, 293, 293, 293, 293, + + 293, 293, 293, 293, 293, 293, 293, 293, 293, 288, + 288, 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, 288, 288, 288, 288, 294, 297, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, + 288, 288, 295, 288, 288, 296, 298, 288, 293, 293, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 288, + 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, 288, 294, 297, 294, 288, 288, 288, 288, 288, + 288, 288, 296, 298, 296, 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, + 288, 288, 288, 288, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 293, 288, 293, 293, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 293, 293, 293, 293, 0, 288, 288, + 288, 288, 288, 288, 288, 288, 288, 288 + + } ; + +static yyconst flex_int16_t yy_nxt[471] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 30, 31, 32, + 30, 33, 30, 34, 35, 36, 30, 30, 30, 30, + 30, 37, 4, 38, 39, 30, 40, 41, 42, 43, + 44, 45, 30, 30, 46, 30, 30, 47, 48, 30, + 49, 50, 51, 52, 53, 54, 55, 30, 56, 57, + 58, 59, 62, 66, 70, 72, 76, 77, 82, 78, + 90, 79, 80, 80, 83, 94, 73, 81, 71, 84, + 288, 85, 85, 84, 110, 85, 85, 88, 89, 92, + + 93, 99, 86, 105, 100, 101, 86, 107, 113, 116, + 63, 106, 102, 103, 108, 109, 111, 114, 118, 115, + 136, 137, 117, 119, 86, 120, 143, 125, 86, 91, + 68, 130, 121, 122, 123, 126, 124, 127, 131, 138, + 128, 87, 96, 62, 148, 129, 155, 288, 288, 167, + 139, 148, 156, 80, 80, 159, 159, 84, 161, 85, + 85, 162, 162, 175, 157, 163, 160, 189, 204, 147, + 86, 176, 149, 144, 167, 190, 166, 168, 148, 149, + 205, 63, 159, 159, 222, 222, 157, 217, 160, 147, + 218, 218, 86, 219, 220, 162, 162, 221, 221, 245, + + 148, 166, 168, 251, 251, 288, 149, 167, 246, 214, + 218, 218, 254, 254, 252, 219, 224, 253, 253, 221, + 221, 222, 222, 167, 260, 251, 251, 273, 149, 214, + 272, 272, 287, 261, 286, 168, 285, 215, 253, 253, + 274, 224, 254, 254, 225, 272, 272, 284, 283, 282, + 281, 168, 280, 279, 278, 277, 276, 215, 275, 271, + 270, 269, 268, 267, 266, 265, 264, 263, 262, 225, + 61, 61, 61, 61, 64, 64, 64, 64, 67, 67, + 67, 95, 95, 95, 97, 97, 147, 147, 147, 147, + 166, 166, 166, 166, 213, 213, 213, 213, 223, 223, + + 223, 223, 259, 258, 257, 256, 255, 250, 249, 248, + 247, 244, 243, 242, 241, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, + 216, 212, 211, 210, 209, 208, 207, 206, 203, 202, + 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, + 191, 188, 187, 186, 185, 184, 183, 182, 181, 180, + 179, 178, 177, 174, 173, 172, 171, 170, 169, 165, + 164, 158, 154, 153, 152, 151, 150, 65, 288, 146, + 145, 142, 141, 140, 135, 134, 133, 132, 112, 104, + 98, 75, 74, 69, 65, 60, 288, 3, 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 + } ; + +static yyconst flex_int16_t yy_chk[471] = + { 0, + 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 8, 10, 12, 15, 19, 19, 20, 19, + 26, 19, 19, 19, 20, 29, 15, 19, 12, 21, + 67, 21, 21, 22, 39, 22, 22, 25, 25, 27, + + 27, 32, 21, 35, 32, 33, 22, 36, 41, 42, + 8, 35, 33, 33, 36, 36, 39, 41, 43, 41, + 51, 51, 42, 43, 21, 44, 57, 45, 22, 26, + 10, 46, 44, 44, 44, 45, 44, 45, 46, 52, + 45, 21, 29, 61, 68, 45, 79, 67, 95, 96, + 52, 147, 79, 80, 80, 84, 84, 85, 86, 85, + 85, 86, 86, 104, 80, 295, 84, 121, 136, 148, + 85, 104, 68, 57, 166, 121, 167, 96, 213, 147, + 136, 61, 159, 159, 161, 161, 80, 157, 84, 214, + 157, 157, 85, 159, 160, 162, 162, 160, 160, 204, + + 215, 224, 166, 217, 217, 95, 213, 223, 204, 148, + 218, 218, 220, 220, 219, 159, 167, 219, 219, 221, + 221, 222, 222, 225, 237, 251, 251, 255, 215, 214, + 252, 252, 284, 237, 282, 223, 276, 148, 253, 253, + 255, 224, 254, 254, 167, 272, 272, 275, 274, 273, + 269, 225, 268, 267, 266, 264, 262, 214, 258, 250, + 249, 246, 245, 244, 243, 241, 240, 239, 238, 224, + 289, 289, 289, 289, 290, 290, 290, 290, 291, 291, + 291, 292, 292, 292, 293, 293, 294, 294, 294, 294, + 296, 296, 296, 296, 297, 297, 297, 297, 298, 298, + + 298, 298, 234, 232, 230, 228, 226, 211, 209, 208, + 206, 203, 202, 198, 196, 195, 194, 193, 191, 190, + 189, 188, 187, 186, 185, 184, 183, 182, 176, 170, + 155, 144, 142, 141, 140, 139, 138, 137, 135, 134, + 133, 132, 131, 129, 128, 127, 126, 125, 124, 123, + 122, 120, 119, 117, 116, 115, 114, 113, 112, 111, + 109, 108, 107, 103, 102, 101, 100, 99, 98, 93, + 88, 82, 78, 77, 76, 72, 70, 64, 63, 62, + 60, 55, 54, 53, 50, 49, 48, 47, 40, 34, + 31, 18, 16, 11, 9, 7, 3, 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 + } ; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +#line 1 "mlr_dsl_lexer.l" +#line 2 "mlr_dsl_lexer.l" +#include "stdio.h" // for fileno() prototype +#include "string.h" // for strdup() prototype +#include "mlr_dsl_parse.h" +#include "../dsl/mlr_dsl_ast.h" +// http://flex.sourceforge.net/manual/Extra-Data.html + +// NOTE: any new keywords defined here should also be documented +// in dsl/mlr_dsl_cst.c's mlr_dsl_keyword_usage() et al. +#line 643 "mlr_dsl_lexer.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#define YY_EXTRA_TYPE struct _mlr_dsl_ast_node_t ** + +/* Holds the entire state of the reentrant scanner. */ +struct yyguts_t + { + + /* User-defined. Not touched by flex. */ + YY_EXTRA_TYPE yyextra_r; + + /* The rest are the same as the globals declared in the non-reentrant scanner. */ + FILE *yyin_r, *yyout_r; + size_t yy_buffer_stack_top; /**< index of top of stack. */ + size_t yy_buffer_stack_max; /**< capacity of stack. */ + YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ + char yy_hold_char; + yy_size_t yy_n_chars; + yy_size_t yyleng_r; + char *yy_c_buf_p; + int yy_init; + int yy_start; + int yy_did_buffer_switch_on_eof; + int yy_start_stack_ptr; + int yy_start_stack_depth; + int *yy_start_stack; + yy_state_type yy_last_accepting_state; + char* yy_last_accepting_cpos; + + int yylineno_r; + int yy_flex_debug_r; + + char *yytext_r; + int yy_more_flag; + int yy_more_len; + + }; /* end struct yyguts_t */ + +static int yy_init_globals (yyscan_t yyscanner ); + +int mlr_dsl_lexer_lex_init (yyscan_t* scanner); + +int mlr_dsl_lexer_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int mlr_dsl_lexer_lex_destroy (yyscan_t yyscanner ); + +int mlr_dsl_lexer_get_debug (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE mlr_dsl_lexer_get_extra (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *mlr_dsl_lexer_get_in (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *mlr_dsl_lexer_get_out (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_out (FILE * out_str ,yyscan_t yyscanner ); + +yy_size_t mlr_dsl_lexer_get_leng (yyscan_t yyscanner ); + +char *mlr_dsl_lexer_get_text (yyscan_t yyscanner ); + +int mlr_dsl_lexer_get_lineno (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_lineno (int line_number ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int mlr_dsl_lexer_wrap (yyscan_t yyscanner ); +#else +extern int mlr_dsl_lexer_wrap (yyscan_t yyscanner ); +#endif +#endif + + static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (yyscan_t yyscanner ); +#else +static int input (yyscan_t yyscanner ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + yy_size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int mlr_dsl_lexer_lex (yyscan_t yyscanner); + +#define YY_DECL int mlr_dsl_lexer_lex (yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + +#line 16 "mlr_dsl_lexer.l" + + +#line 865 "mlr_dsl_lexer.c" + + if ( !yyg->yy_init ) + { + yyg->yy_init = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! yyg->yy_start ) + yyg->yy_start = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + mlr_dsl_lexer_ensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + mlr_dsl_lexer__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + mlr_dsl_lexer__load_buffer_state(yyscanner ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + 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 >= 289 ) + 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] != 398 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 18 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_SEMICOLON; +} + YY_BREAK +case 2: +YY_RULE_SETUP +#line 22 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_LBRACE; +} + YY_BREAK +case 3: +YY_RULE_SETUP +#line 26 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_RBRACE; +} + YY_BREAK +case 4: +YY_RULE_SETUP +#line 31 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_SREC_ASSIGNMENT); + return MD_TOKEN_ASSIGN; +} + YY_BREAK +case 5: +YY_RULE_SETUP +#line 35 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FILTER); + return MD_TOKEN_FILTER; +} + YY_BREAK +case 6: +YY_RULE_SETUP +#line 39 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_UNSET); + return MD_TOKEN_UNSET; +} + YY_BREAK +case 7: +YY_RULE_SETUP +#line 43 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_TEE); + return MD_TOKEN_TEE; +} + YY_BREAK +case 8: +YY_RULE_SETUP +#line 47 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EMITF); + return MD_TOKEN_EMITF; +} + YY_BREAK +case 9: +YY_RULE_SETUP +#line 51 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EMITP); + return MD_TOKEN_EMITP; +} + YY_BREAK +case 10: +YY_RULE_SETUP +#line 55 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EMIT); + return MD_TOKEN_EMIT; +} + YY_BREAK +case 11: +YY_RULE_SETUP +#line 59 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_DUMP); + return MD_TOKEN_DUMP; +} + YY_BREAK +case 12: +YY_RULE_SETUP +#line 63 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EDUMP); + return MD_TOKEN_EDUMP; +} + YY_BREAK +case 13: +YY_RULE_SETUP +#line 67 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_PRINT); + return MD_TOKEN_PRINT; +} + YY_BREAK +case 14: +YY_RULE_SETUP +#line 71 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_PRINTN); + return MD_TOKEN_PRINTN; +} + YY_BREAK +case 15: +YY_RULE_SETUP +#line 75 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EPRINT); + return MD_TOKEN_EPRINT; +} + YY_BREAK +case 16: +YY_RULE_SETUP +#line 79 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_EPRINTN); + return MD_TOKEN_EPRINTN; +} + YY_BREAK +case 17: +YY_RULE_SETUP +#line 83 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STDOUT); + return MD_TOKEN_STDOUT; +} + YY_BREAK +case 18: +YY_RULE_SETUP +#line 87 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STDERR); + return MD_TOKEN_STDERR; +} + YY_BREAK +case 19: +YY_RULE_SETUP +#line 92 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_FUNC_DEF; +} + YY_BREAK +case 20: +YY_RULE_SETUP +#line 96 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_SUBR_DEF; +} + YY_BREAK +case 21: +YY_RULE_SETUP +#line 100 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_SUBR_CALL; +} + YY_BREAK +case 22: +YY_RULE_SETUP +#line 104 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_RETURN; +} + YY_BREAK +case 23: +YY_RULE_SETUP +#line 108 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_BEGIN; +} + YY_BREAK +case 24: +YY_RULE_SETUP +#line 112 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_END; +} + YY_BREAK +case 25: +YY_RULE_SETUP +#line 116 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_ALL); + return MD_TOKEN_ALL; +} + YY_BREAK +case 26: +YY_RULE_SETUP +#line 121 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_DO_WHILE); + return MD_TOKEN_DO; +} + YY_BREAK +case 27: +YY_RULE_SETUP +#line 125 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_WHILE); + return MD_TOKEN_WHILE; +} + YY_BREAK +case 28: +YY_RULE_SETUP +#line 129 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_FOR; +} + YY_BREAK +case 29: +YY_RULE_SETUP +#line 133 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_IN); + return MD_TOKEN_IN; +} + YY_BREAK +case 30: +YY_RULE_SETUP +#line 137 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_BREAK); + return MD_TOKEN_BREAK; +} + YY_BREAK +case 31: +YY_RULE_SETUP +#line 141 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTINUE); + return MD_TOKEN_CONTINUE; +} + YY_BREAK +case 32: +YY_RULE_SETUP +#line 145 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_IF_ITEM); + return MD_TOKEN_IF; +} + YY_BREAK +case 33: +YY_RULE_SETUP +#line 149 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_IF_ITEM); + return MD_TOKEN_ELIF; +} + YY_BREAK +case 34: +YY_RULE_SETUP +#line 153 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_IF_ITEM); + return MD_TOKEN_ELSE; +} + YY_BREAK +case 35: +YY_RULE_SETUP +#line 158 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_QUESTION_MARK; +} + YY_BREAK +case 36: +YY_RULE_SETUP +#line 163 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_COLON; +} + YY_BREAK +case 37: +YY_RULE_SETUP +#line 168 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_OR; +} + YY_BREAK +case 38: +YY_RULE_SETUP +#line 172 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_OR_EQUALS; +} + YY_BREAK +case 39: +YY_RULE_SETUP +#line 176 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_XOR; +} + YY_BREAK +case 40: +YY_RULE_SETUP +#line 180 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_XOR_EQUALS; +} + YY_BREAK +case 41: +YY_RULE_SETUP +#line 184 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_AND; +} + YY_BREAK +case 42: +YY_RULE_SETUP +#line 188 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_AND_EQUALS; +} + YY_BREAK +case 43: +YY_RULE_SETUP +#line 193 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_MATCHES; +} + YY_BREAK +case 44: +YY_RULE_SETUP +#line 197 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_DOES_NOT_MATCH; +} + YY_BREAK +case 45: +YY_RULE_SETUP +#line 201 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_EQ; +} + YY_BREAK +case 46: +YY_RULE_SETUP +#line 205 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_NE; +} + YY_BREAK +case 47: +YY_RULE_SETUP +#line 210 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_GT; +} + YY_BREAK +case 48: +YY_RULE_SETUP +#line 214 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_GE; +} + YY_BREAK +case 49: +YY_RULE_SETUP +#line 218 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LT; +} + YY_BREAK +case 50: +YY_RULE_SETUP +#line 222 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LE; +} + YY_BREAK +case 51: +YY_RULE_SETUP +#line 227 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_OR; +} + YY_BREAK +case 52: +YY_RULE_SETUP +#line 231 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_OR_EQUALS; +} + YY_BREAK +case 53: +YY_RULE_SETUP +#line 236 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_XOR; +} + YY_BREAK +case 54: +YY_RULE_SETUP +#line 240 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_XOR_EQUALS; +} + YY_BREAK +case 55: +YY_RULE_SETUP +#line 245 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_AND; +} + YY_BREAK +case 56: +YY_RULE_SETUP +#line 249 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_AND_EQUALS; +} + YY_BREAK +case 57: +YY_RULE_SETUP +#line 254 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_LSH; +} + YY_BREAK +case 58: +YY_RULE_SETUP +#line 258 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_LSH_EQUALS; +} + YY_BREAK +case 59: +YY_RULE_SETUP +#line 262 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_RSH; +} + YY_BREAK +case 60: +YY_RULE_SETUP +#line 266 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_RSH_EQUALS; +} + YY_BREAK +case 61: +YY_RULE_SETUP +#line 271 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_PLUS; +} + YY_BREAK +case 62: +YY_RULE_SETUP +#line 275 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_PLUS_EQUALS; +} + YY_BREAK +case 63: +YY_RULE_SETUP +#line 279 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_MINUS; +} + YY_BREAK +case 64: +YY_RULE_SETUP +#line 283 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_MINUS_EQUALS; +} + YY_BREAK +case 65: +YY_RULE_SETUP +#line 287 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_DOT; +} + YY_BREAK +case 66: +YY_RULE_SETUP +#line 291 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_DOT_EQUALS; +} + YY_BREAK +case 67: +YY_RULE_SETUP +#line 295 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_TIMES; +} + YY_BREAK +case 68: +YY_RULE_SETUP +#line 299 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_TIMES_EQUALS; +} + YY_BREAK +case 69: +YY_RULE_SETUP +#line 303 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_DIVIDE; +} + YY_BREAK +case 70: +YY_RULE_SETUP +#line 307 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_DIVIDE_EQUALS; +} + YY_BREAK +case 71: +YY_RULE_SETUP +#line 311 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_INT_DIVIDE; +} + YY_BREAK +case 72: +YY_RULE_SETUP +#line 315 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_INT_DIVIDE_EQUALS; +} + YY_BREAK +case 73: +YY_RULE_SETUP +#line 320 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OPLUS; +} + YY_BREAK +case 74: +YY_RULE_SETUP +#line 324 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OPLUS_EQUALS; +} + YY_BREAK +case 75: +YY_RULE_SETUP +#line 328 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OMINUS; +} + YY_BREAK +case 76: +YY_RULE_SETUP +#line 332 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OMINUS_EQUALS; +} + YY_BREAK +case 77: +YY_RULE_SETUP +#line 336 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OTIMES; +} + YY_BREAK +case 78: +YY_RULE_SETUP +#line 340 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_OTIMES_EQUALS; +} + YY_BREAK +case 79: +YY_RULE_SETUP +#line 344 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_ODIVIDE; +} + YY_BREAK +case 80: +YY_RULE_SETUP +#line 348 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_ODIVIDE_EQUALS; +} + YY_BREAK +case 81: +YY_RULE_SETUP +#line 352 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_INT_ODIVIDE; +} + YY_BREAK +case 82: +YY_RULE_SETUP +#line 356 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_INT_ODIVIDE_EQUALS; +} + YY_BREAK +case 83: +YY_RULE_SETUP +#line 361 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_MOD; +} + YY_BREAK +case 84: +YY_RULE_SETUP +#line 365 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_MOD_EQUALS; +} + YY_BREAK +case 85: +YY_RULE_SETUP +#line 370 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_LOGICAL_NOT; +} + YY_BREAK +case 86: +YY_RULE_SETUP +#line 375 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_BITWISE_NOT; +} + YY_BREAK +case 87: +YY_RULE_SETUP +#line 380 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_POW; +} + YY_BREAK +case 88: +YY_RULE_SETUP +#line 384 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_OPERATOR); + return MD_TOKEN_POW_EQUALS; +} + YY_BREAK +case 89: +YY_RULE_SETUP +#line 389 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FULL_SREC); + return MD_TOKEN_FULL_SREC; +} + YY_BREAK +case 90: +YY_RULE_SETUP +#line 393 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_DOLLAR_SIGN; +} + YY_BREAK +case 91: +YY_RULE_SETUP +#line 398 "mlr_dsl_lexer.l" +{ + // Note: the parser depends on the dollar sign being here. If this is changed, + // that needs to be changed as well. + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FIELD_NAME); + return MD_TOKEN_FIELD_NAME; +} + YY_BREAK +case 92: +/* rule 92 can match eol */ +YY_RULE_SETUP +#line 404 "mlr_dsl_lexer.l" +{ + // Note: the parser depends on the dollar sign being here. If this is changed, + // that needs to be changed as well. + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FIELD_NAME); + return MD_TOKEN_BRACED_FIELD_NAME; +} + YY_BREAK +case 93: +YY_RULE_SETUP +#line 411 "mlr_dsl_lexer.l" +{ + // Note: the parser depends on the at-sign being here. If this is changed, + // that needs to be changed as well. + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRING_LITERAL); + return MD_TOKEN_UNBRACED_OOSVAR_NAME; +} + YY_BREAK +case 94: +/* rule 94 can match eol */ +YY_RULE_SETUP +#line 417 "mlr_dsl_lexer.l" +{ + // Note: the parser depends on the percent-sign being here. If this is changed, + // that needs to be changed as well. + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRING_LITERAL); + return MD_TOKEN_BRACED_OOSVAR_NAME; +} + YY_BREAK +case 95: +YY_RULE_SETUP +#line 423 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_AT_SIGN; +} + YY_BREAK +case 96: +YY_RULE_SETUP +#line 427 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FULL_OOSVAR); + return MD_TOKEN_FULL_OOSVAR; +} + YY_BREAK +case 97: +YY_RULE_SETUP +#line 432 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_LEFT_BRACKET; +} + YY_BREAK +case 98: +YY_RULE_SETUP +#line 436 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_RIGHT_BRACKET; +} + YY_BREAK +case 99: +YY_RULE_SETUP +#line 441 "mlr_dsl_lexer.l" +{ + // Leading minus sign is handled via the unary-minus operator, not here. + // 123 + // 123. 123.4 + // .234 + // 1e2 + // 1e-2 + // 1.2e3 1.e3 + // 1.2e-3 1.e-3 + // .2e3 + // .2e-3 1.e-3 + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_NUMERIC_LITERAL); + return MD_TOKEN_NUMBER; +} + YY_BREAK +case 100: +YY_RULE_SETUP +#line 455 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_NUMERIC_LITERAL); + return MD_TOKEN_NUMBER; +} + YY_BREAK +case 101: +/* rule 101 can match eol */ +YY_RULE_SETUP +#line 460 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRING_LITERAL); + return MD_TOKEN_STRING; +} + YY_BREAK +case 102: +/* rule 102 can match eol */ +YY_RULE_SETUP +#line 465 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_REGEXI); + return MD_TOKEN_REGEXI; +} + YY_BREAK +case 103: +YY_RULE_SETUP +#line 470 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_MAP; +} + YY_BREAK +case 104: +YY_RULE_SETUP +#line 474 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_VAR; +} + YY_BREAK +case 105: +YY_RULE_SETUP +#line 478 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_NUMERIC_LOCAL_DEFINITION); + return MD_TOKEN_NUMERIC; +} + YY_BREAK +case 106: +YY_RULE_SETUP +#line 482 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_INT_LOCAL_DEFINITION); + return MD_TOKEN_INT; +} + YY_BREAK +case 107: +YY_RULE_SETUP +#line 486 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_FLOAT_LOCAL_DEFINITION); + return MD_TOKEN_FLOAT; +} + YY_BREAK +case 108: +YY_RULE_SETUP +#line 490 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_BOOLEAN_LOCAL_DEFINITION); + return MD_TOKEN_BOOLEAN; +} + YY_BREAK +case 109: +YY_RULE_SETUP +#line 494 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRING_LOCAL_DEFINITION); + return MD_TOKEN_STRING; +} + YY_BREAK +case 110: +YY_RULE_SETUP +#line 499 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_BOOLEAN_LITERAL); + return MD_TOKEN_TRUE; +} + YY_BREAK +case 111: +YY_RULE_SETUP +#line 503 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_BOOLEAN_LITERAL); + return MD_TOKEN_FALSE; +} + YY_BREAK +case 112: +YY_RULE_SETUP +#line 508 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 113: +YY_RULE_SETUP +#line 512 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 114: +YY_RULE_SETUP +#line 516 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 115: +YY_RULE_SETUP +#line 520 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 116: +YY_RULE_SETUP +#line 524 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 117: +YY_RULE_SETUP +#line 528 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 118: +YY_RULE_SETUP +#line 533 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 119: +YY_RULE_SETUP +#line 537 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 120: +YY_RULE_SETUP +#line 541 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 121: +YY_RULE_SETUP +#line 545 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 122: +YY_RULE_SETUP +#line 549 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 123: +YY_RULE_SETUP +#line 553 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 124: +YY_RULE_SETUP +#line 557 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_CONTEXT_VARIABLE); + return MD_TOKEN_CONTEXT_VARIABLE; +} + YY_BREAK +case 125: +YY_RULE_SETUP +#line 561 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_ENV); + return MD_TOKEN_ENV; +} + YY_BREAK +case 126: +YY_RULE_SETUP +#line 566 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_NON_SIGIL_NAME); + return MD_TOKEN_NON_SIGIL_NAME; +} + YY_BREAK +case 127: +YY_RULE_SETUP +#line 571 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_LPAREN; +} + YY_BREAK +case 128: +YY_RULE_SETUP +#line 575 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_RPAREN; +} + YY_BREAK +case 129: +YY_RULE_SETUP +#line 580 "mlr_dsl_lexer.l" +{ + *yyextra = mlr_dsl_ast_node_alloc(yytext, MD_AST_NODE_TYPE_STRIPPED_AWAY); + return MD_TOKEN_COMMA; +} + YY_BREAK +case 130: +/* rule 130 can match eol */ +YY_RULE_SETUP +#line 585 "mlr_dsl_lexer.l" +{ } + YY_BREAK +case 131: +/* rule 131 can match eol */ +YY_RULE_SETUP +#line 587 "mlr_dsl_lexer.l" +{ } + YY_BREAK +case 132: +YY_RULE_SETUP +#line 589 "mlr_dsl_lexer.l" +{ + return -1; +} + YY_BREAK +case 133: +YY_RULE_SETUP +#line 592 "mlr_dsl_lexer.l" +ECHO; + YY_BREAK +#line 2026 "mlr_dsl_lexer.c" +case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * mlr_dsl_lexer_lex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if ( mlr_dsl_lexer_wrap(yyscanner ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of mlr_dsl_lexer_lex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = yyg->yytext_ptr; + register int number_to_move, i; + int ret_val; + + if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; + + else + { + yy_size_t num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) (yyg->yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + yy_size_t new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + mlr_dsl_lexer_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + yyg->yy_n_chars, num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + if ( yyg->yy_n_chars == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + mlr_dsl_lexer_restart(yyin ,yyscanner); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) mlr_dsl_lexer_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + + yyg->yy_n_chars += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; + + yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (yyscan_t yyscanner) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_current_state = yyg->yy_start; + + for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + 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 >= 289 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) +{ + register int yy_is_jam; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ + register char *yy_cp = yyg->yy_c_buf_p; + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + 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 >= 289 ) + 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 == 288); + + return yy_is_jam ? 0 : yy_current_state; +} + + static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) +{ + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_cp = yyg->yy_c_buf_p; + + /* undo effects of setting up yytext */ + *yy_cp = yyg->yy_hold_char; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + register yy_size_t number_to_move = yyg->yy_n_chars + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + yyg->yytext_ptr = yy_bp; + yyg->yy_hold_char = *yy_cp; + yyg->yy_c_buf_p = yy_cp; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (yyscan_t yyscanner) +#else + static int input (yyscan_t yyscanner) +#endif + +{ + int c; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + *yyg->yy_c_buf_p = yyg->yy_hold_char; + + if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + /* This was really a NUL. */ + *yyg->yy_c_buf_p = '\0'; + + else + { /* need more input */ + yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + ++yyg->yy_c_buf_p; + + switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + mlr_dsl_lexer_restart(yyin ,yyscanner); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( mlr_dsl_lexer_wrap(yyscanner ) ) + return 0; + + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(yyscanner); +#else + return input(yyscanner); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = yyg->yytext_ptr + offset; + break; + } + } + } + + c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ + *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ + yyg->yy_hold_char = *++yyg->yy_c_buf_p; + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * @param yyscanner The scanner object. + * @note This function does not reset the start condition to @c INITIAL . + */ + void mlr_dsl_lexer_restart (FILE * input_file , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! YY_CURRENT_BUFFER ){ + mlr_dsl_lexer_ensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + mlr_dsl_lexer__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + mlr_dsl_lexer__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); + mlr_dsl_lexer__load_buffer_state(yyscanner ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * @param yyscanner The scanner object. + */ + void mlr_dsl_lexer__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* TODO. We should be able to replace this entire function body + * with + * mlr_dsl_lexer_pop_buffer_state(); + * mlr_dsl_lexer_push_buffer_state(new_buffer); + */ + mlr_dsl_lexer_ensure_buffer_stack (yyscanner); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + mlr_dsl_lexer__load_buffer_state(yyscanner ); + + /* We don't actually know whether we did this switch during + * EOF (mlr_dsl_lexer_wrap()) processing, but the only time this flag + * is looked at is after mlr_dsl_lexer_wrap() is called, so it's safe + * to go ahead and always set it. + */ + yyg->yy_did_buffer_switch_on_eof = 1; +} + +static void mlr_dsl_lexer__load_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyg->yy_hold_char = *yyg->yy_c_buf_p; +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * @param yyscanner The scanner object. + * @return the allocated buffer state. + */ + YY_BUFFER_STATE mlr_dsl_lexer__create_buffer (FILE * file, int size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) mlr_dsl_lexer_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer__create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) mlr_dsl_lexer_alloc(b->yy_buf_size + 2 ,yyscanner ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer__create_buffer()" ); + + b->yy_is_our_buffer = 1; + + mlr_dsl_lexer__init_buffer(b,file ,yyscanner); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with mlr_dsl_lexer__create_buffer() + * @param yyscanner The scanner object. + */ + void mlr_dsl_lexer__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + mlr_dsl_lexer_free((void *) b->yy_ch_buf ,yyscanner ); + + mlr_dsl_lexer_free((void *) b ,yyscanner ); +} + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a mlr_dsl_lexer_restart() or at EOF. + */ + static void mlr_dsl_lexer__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) + +{ + int oerrno = errno; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + mlr_dsl_lexer__flush_buffer(b ,yyscanner); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then mlr_dsl_lexer__init_buffer was _probably_ + * called from mlr_dsl_lexer_restart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * @param yyscanner The scanner object. + */ + void mlr_dsl_lexer__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + mlr_dsl_lexer__load_buffer_state(yyscanner ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * @param yyscanner The scanner object. + */ +void mlr_dsl_lexer_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (new_buffer == NULL) + return; + + mlr_dsl_lexer_ensure_buffer_stack(yyscanner); + + /* This block is copied from mlr_dsl_lexer__switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + yyg->yy_buffer_stack_top++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from mlr_dsl_lexer__switch_to_buffer. */ + mlr_dsl_lexer__load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * @param yyscanner The scanner object. + */ +void mlr_dsl_lexer_pop_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (!YY_CURRENT_BUFFER) + return; + + mlr_dsl_lexer__delete_buffer(YY_CURRENT_BUFFER ,yyscanner); + YY_CURRENT_BUFFER_LVALUE = NULL; + if (yyg->yy_buffer_stack_top > 0) + --yyg->yy_buffer_stack_top; + + if (YY_CURRENT_BUFFER) { + mlr_dsl_lexer__load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void mlr_dsl_lexer_ensure_buffer_stack (yyscan_t yyscanner) +{ + yy_size_t num_to_alloc; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (!yyg->yy_buffer_stack) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + yyg->yy_buffer_stack = (struct yy_buffer_state**)mlr_dsl_lexer_alloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer_ensure_buffer_stack()" ); + + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + yyg->yy_buffer_stack_max = num_to_alloc; + yyg->yy_buffer_stack_top = 0; + return; + } + + if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = yyg->yy_buffer_stack_max + grow_size; + yyg->yy_buffer_stack = (struct yy_buffer_state**)mlr_dsl_lexer_realloc + (yyg->yy_buffer_stack, + num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer_ensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); + yyg->yy_buffer_stack_max = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE mlr_dsl_lexer__scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) mlr_dsl_lexer_alloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer__scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + mlr_dsl_lexer__switch_to_buffer(b ,yyscanner ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to mlr_dsl_lexer_lex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * mlr_dsl_lexer__scan_bytes() instead. + */ +YY_BUFFER_STATE mlr_dsl_lexer__scan_string (yyconst char * yystr , yyscan_t yyscanner) +{ + + return mlr_dsl_lexer__scan_bytes(yystr,strlen(yystr) ,yyscanner); +} + +/** Setup the input buffer state to scan the given bytes. The next call to mlr_dsl_lexer_lex() will + * scan from a @e copy of @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE mlr_dsl_lexer__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n, i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) mlr_dsl_lexer_alloc(n ,yyscanner ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in mlr_dsl_lexer__scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = mlr_dsl_lexer__scan_buffer(buf,n ,yyscanner); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in mlr_dsl_lexer__scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = yyg->yy_hold_char; \ + yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ + yyg->yy_hold_char = *yyg->yy_c_buf_p; \ + *yyg->yy_c_buf_p = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the user-defined data for this scanner. + * @param yyscanner The scanner object. + */ +YY_EXTRA_TYPE mlr_dsl_lexer_get_extra (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyextra; +} + +/** Get the current line number. + * @param yyscanner The scanner object. + */ +int mlr_dsl_lexer_get_lineno (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yylineno; +} + +/** Get the current column number. + * @param yyscanner The scanner object. + */ +int mlr_dsl_lexer_get_column (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yycolumn; +} + +/** Get the input stream. + * @param yyscanner The scanner object. + */ +FILE *mlr_dsl_lexer_get_in (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyin; +} + +/** Get the output stream. + * @param yyscanner The scanner object. + */ +FILE *mlr_dsl_lexer_get_out (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyout; +} + +/** Get the length of the current token. + * @param yyscanner The scanner object. + */ +yy_size_t mlr_dsl_lexer_get_leng (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyleng; +} + +/** Get the current token. + * @param yyscanner The scanner object. + */ + +char *mlr_dsl_lexer_get_text (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yytext; +} + +/** Set the user-defined data. This data is never touched by the scanner. + * @param user_defined The data to be associated with this scanner. + * @param yyscanner The scanner object. + */ +void mlr_dsl_lexer_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyextra = user_defined ; +} + +/** Set the current line number. + * @param line_number + * @param yyscanner The scanner object. + */ +void mlr_dsl_lexer_set_lineno (int line_number , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* lineno is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "mlr_dsl_lexer_set_lineno called with no buffer" , yyscanner); + + yylineno = line_number; +} + +/** Set the current column. + * @param line_number + * @param yyscanner The scanner object. + */ +void mlr_dsl_lexer_set_column (int column_no , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* column is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "mlr_dsl_lexer_set_column called with no buffer" , yyscanner); + + yycolumn = column_no; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * @param yyscanner The scanner object. + * @see mlr_dsl_lexer__switch_to_buffer + */ +void mlr_dsl_lexer_set_in (FILE * in_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyin = in_str ; +} + +void mlr_dsl_lexer_set_out (FILE * out_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyout = out_str ; +} + +int mlr_dsl_lexer_get_debug (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yy_flex_debug; +} + +void mlr_dsl_lexer_set_debug (int bdebug , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yy_flex_debug = bdebug ; +} + +/* Accessor methods for yylval and yylloc */ + +/* User-visible API */ + +/* mlr_dsl_lexer_lex_init is special because it creates the scanner itself, so it is + * the ONLY reentrant function that doesn't take the scanner as the last argument. + * That's why we explicitly handle the declaration, instead of using our macros. + */ + +int mlr_dsl_lexer_lex_init(yyscan_t* ptr_yy_globals) + +{ + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) mlr_dsl_lexer_alloc ( sizeof( struct yyguts_t ), NULL ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + return yy_init_globals ( *ptr_yy_globals ); +} + +/* mlr_dsl_lexer_lex_init_extra has the same functionality as mlr_dsl_lexer_lex_init, but follows the + * convention of taking the scanner as the last argument. Note however, that + * this is a *pointer* to a scanner, as it will be allocated by this call (and + * is the reason, too, why this function also must handle its own declaration). + * The user defined value in the first argument will be available to mlr_dsl_lexer_alloc in + * the yyextra field. + */ + +int mlr_dsl_lexer_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) + +{ + struct yyguts_t dummy_yyguts; + + mlr_dsl_lexer_set_extra (yy_user_defined, &dummy_yyguts); + + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) mlr_dsl_lexer_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in + yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + mlr_dsl_lexer_set_extra (yy_user_defined, *ptr_yy_globals); + + return yy_init_globals ( *ptr_yy_globals ); +} + +static int yy_init_globals (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from mlr_dsl_lexer_lex_destroy(), so don't allocate here. + */ + + yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack_top = 0; + yyg->yy_buffer_stack_max = 0; + yyg->yy_c_buf_p = (char *) 0; + yyg->yy_init = 0; + yyg->yy_start = 0; + + yyg->yy_start_stack_ptr = 0; + yyg->yy_start_stack_depth = 0; + yyg->yy_start_stack = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * mlr_dsl_lexer_lex_init() + */ + return 0; +} + +/* mlr_dsl_lexer_lex_destroy is for both reentrant and non-reentrant scanners. */ +int mlr_dsl_lexer_lex_destroy (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + mlr_dsl_lexer__delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); + YY_CURRENT_BUFFER_LVALUE = NULL; + mlr_dsl_lexer_pop_buffer_state(yyscanner); + } + + /* Destroy the stack itself. */ + mlr_dsl_lexer_free(yyg->yy_buffer_stack ,yyscanner); + yyg->yy_buffer_stack = NULL; + + /* Destroy the start condition stack. */ + mlr_dsl_lexer_free(yyg->yy_start_stack ,yyscanner ); + yyg->yy_start_stack = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * mlr_dsl_lexer_lex() is called, initialization will occur. */ + yy_init_globals( yyscanner); + + /* Destroy the main struct (reentrant only). */ + mlr_dsl_lexer_free ( yyscanner , yyscanner ); + yyscanner = NULL; + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *mlr_dsl_lexer_alloc (yy_size_t size , yyscan_t yyscanner) +{ + return (void *) malloc( size ); +} + +void *mlr_dsl_lexer_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner) +{ + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); +} + +void mlr_dsl_lexer_free (void * ptr , yyscan_t yyscanner) +{ + free( (char *) ptr ); /* see mlr_dsl_lexer_realloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 592 "mlr_dsl_lexer.l" + + + diff --git a/c/parsing/mlr_dsl_lexer.h b/c/parsing/mlr_dsl_lexer.h new file mode 100644 index 000000000..5f71b4c76 --- /dev/null +++ b/c/parsing/mlr_dsl_lexer.h @@ -0,0 +1,334 @@ +#ifndef mlr_dsl_lexer_HEADER_H +#define mlr_dsl_lexer_HEADER_H 1 +#define mlr_dsl_lexer_IN_HEADER 1 + +#line 6 "mlr_dsl_lexer.h" + +#line 8 "mlr_dsl_lexer.h" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + yy_size_t yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +void mlr_dsl_lexer_restart (FILE *input_file ,yyscan_t yyscanner ); +void mlr_dsl_lexer__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void mlr_dsl_lexer__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void mlr_dsl_lexer__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void mlr_dsl_lexer_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void mlr_dsl_lexer_pop_buffer_state (yyscan_t yyscanner ); + +YY_BUFFER_STATE mlr_dsl_lexer__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE mlr_dsl_lexer__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); + +void *mlr_dsl_lexer_alloc (yy_size_t ,yyscan_t yyscanner ); +void *mlr_dsl_lexer_realloc (void *,yy_size_t ,yyscan_t yyscanner ); +void mlr_dsl_lexer_free (void * ,yyscan_t yyscanner ); + +/* Begin user sect3 */ + +#define mlr_dsl_lexer_wrap(n) 1 +#define YY_SKIP_YYWRAP + +#define yytext_ptr yytext_r + +#ifdef YY_HEADER_EXPORT_START_CONDITIONS +#define INITIAL 0 + +#endif + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#define YY_EXTRA_TYPE struct _mlr_dsl_ast_node_t ** + +int mlr_dsl_lexer_lex_init (yyscan_t* scanner); + +int mlr_dsl_lexer_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int mlr_dsl_lexer_lex_destroy (yyscan_t yyscanner ); + +int mlr_dsl_lexer_get_debug (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE mlr_dsl_lexer_get_extra (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *mlr_dsl_lexer_get_in (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *mlr_dsl_lexer_get_out (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_out (FILE * out_str ,yyscan_t yyscanner ); + +yy_size_t mlr_dsl_lexer_get_leng (yyscan_t yyscanner ); + +char *mlr_dsl_lexer_get_text (yyscan_t yyscanner ); + +int mlr_dsl_lexer_get_lineno (yyscan_t yyscanner ); + +void mlr_dsl_lexer_set_lineno (int line_number ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int mlr_dsl_lexer_wrap (yyscan_t yyscanner ); +#else +extern int mlr_dsl_lexer_wrap (yyscan_t yyscanner ); +#endif +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int mlr_dsl_lexer_lex (yyscan_t yyscanner); + +#define YY_DECL int mlr_dsl_lexer_lex (yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + +#undef YY_NEW_FILE +#undef YY_FLUSH_BUFFER +#undef yy_set_bol +#undef yy_new_buffer +#undef yy_set_interactive +#undef YY_DO_BEFORE_ACTION + +#ifdef YY_DECL_IS_OURS +#undef YY_DECL_IS_OURS +#undef YY_DECL +#endif + +#line 592 "mlr_dsl_lexer.l" + + +#line 333 "mlr_dsl_lexer.h" +#undef mlr_dsl_lexer_IN_HEADER +#endif /* mlr_dsl_lexer_HEADER_H */ diff --git a/c/parsing/mlr_dsl_parse.c b/c/parsing/mlr_dsl_parse.c new file mode 100644 index 000000000..282ba446d --- /dev/null +++ b/c/parsing/mlr_dsl_parse.c @@ -0,0 +1,9462 @@ +/* Driver template for the LEMON parser generator. +** The author disclaims copyright to this source code. +*/ +/* First off, code is include which follows the "include" declaration +** in the input file. */ +#include +#line 4 "mlr_dsl_parse.y" + +#include +#include +#include +#include "../lib/mlrutil.h" +#include "../dsl/mlr_dsl_ast.h" +#include "../containers/sllv.h" + +// ================================================================ +// AST: +// * parens, commas, semis, line endings, whitespace are all stripped away +// * variable names and literal values remain as leaf nodes of the AST +// * = + - * / ** {function names} remain as non-leaf nodes of the AST +// CST: See mlr_dsl_cst.c +// +// Note: This parser accepts many things that are invalid, e.g. +// +// * begin{end{}} -- begin/end not at top level +// * begin{$x=1} -- references to stream records at begin/end +// * break/continue outside of for/while/do-while +// * return outside of a function definition +// * $x=x -- boundvars outside of for-loop variable bindings +// +// All of the above are enforced by the CST builder's semantic-analysis logic, +// which takes this parser's output AST as input. This is done (a) to keep this +// grammar from being overly complex, and (b) so we can get much more +// informative error messages in C than in Lemon ('syntax error'). +// +// The parser hooks all build up an abstract syntax tree specifically for the CST builder. +// For clearer visuals on what the ASTs look like: +// * See mlr_dsl_cst.c +// * See reg_test/run's filter -v and put -v outputs, e.g. in reg_test/expected/out +// * Do "mlr -n put -v 'your expression goes here'" +// ================================================================ + + +#line 45 "mlr_dsl_parse.c" +/* Next is all token values, in a form suitable for use by makeheaders. +** This section will be null unless lemon is run with the -m switch. +*/ +/* +** These constants (all generated automatically by the parser generator) +** specify the various kinds of tokens (terminals) that the parser +** understands. +** +** Each symbol here is a terminal symbol in the grammar. +*/ +/* Make sure the INTERFACE macro is defined. +*/ +#ifndef INTERFACE +# define INTERFACE 1 +#endif +/* The next thing included is series of defines which control +** various aspects of the generated parser. +** YYCODETYPE is the data type used for storing terminal +** and nonterminal numbers. "unsigned char" is +** used if there are fewer than 250 terminals +** and nonterminals. "int" is used otherwise. +** YYNOCODE is a number of type YYCODETYPE which corresponds +** to no legal terminal or nonterminal number. This +** number is used to fill in empty slots of the hash +** table. +** YYFALLBACK If defined, this indicates that one or more tokens +** have fall-back values which should be used if the +** original value of the token will not parse. +** YYACTIONTYPE is the data type used for storing terminal +** and nonterminal numbers. "unsigned char" is +** used if there are fewer than 250 rules and +** states combined. "int" is used otherwise. +** ParseTOKENTYPE is the data type used for minor tokens given +** directly to the parser from the tokenizer. +** YYMINORTYPE is the data type used for all minor tokens. +** This is typically a union of many types, one of +** which is ParseTOKENTYPE. The entry in the union +** for base tokens is called "yy0". +** YYSTACKDEPTH is the maximum depth of the parser's stack. +** ParseARG_SDECL A static variable declaration for the %extra_argument +** ParseARG_PDECL A parameter declaration for the %extra_argument +** ParseARG_STORE Code to store %extra_argument into pparser +** ParseARG_FETCH Code to extract %extra_argument from pparser +** YYNSTATE the combined number of states. +** YYNRULE the number of rules in the grammar +** YYERRORSYMBOL is the code number of the error symbol. If not +** defined, then do no error processing. +*/ +#define YYCODETYPE unsigned short int +#define YYNOCODE 267 +#define YYACTIONTYPE unsigned short int +#define ParseTOKENTYPE mlr_dsl_ast_node_t* +typedef union { + ParseTOKENTYPE yy0; + mlr_dsl_ast_node_t* yy95; + int yy533; +} YYMINORTYPE; +#define YYSTACKDEPTH 800 +#define ParseARG_SDECL mlr_dsl_ast_t* past; +#define ParseARG_PDECL ,mlr_dsl_ast_t* past +#define ParseARG_FETCH mlr_dsl_ast_t* past = pparser->past +#define ParseARG_STORE pparser->past = past +#define YYNSTATE 1035 +#define YYNRULE 529 +#define YYERRORSYMBOL 119 +#define YYERRSYMDT yy533 +#define YY_NO_ACTION (YYNSTATE+YYNRULE+2) +#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) +#define YY_ERROR_ACTION (YYNSTATE+YYNRULE) + +/* Next are that tables used to determine what action to take based on the +** current state and lookahead token. These tables are used to implement +** functions that take a state number and lookahead value and return an +** action integer. +** +** Suppose the action integer is N. Then the action is determined as +** follows +** +** 0 <= N < YYNSTATE Shift N. That is, push the lookahead +** token onto the stack and goto state N. +** +** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE. +** +** N == YYNSTATE+YYNRULE A syntax error has occurred. +** +** N == YYNSTATE+YYNRULE+1 The parser accepts its input. +** +** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused +** slots in the yy_action[] table. +** +** The action table is constructed as a single large table named yy_action[]. +** Given state S and lookahead X, the action is computed as +** +** yy_action[ yy_shift_ofst[S] + X ] +** +** If the index value yy_shift_ofst[S]+X is out of range or if the value +** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S] +** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table +** and that yy_default[S] should be used instead. +** +** The formula above is for computing the action when the lookahead is +** a terminal symbol. If the lookahead is a non-terminal (as occurs after +** a reduce action) then the yy_reduce_ofst[] array is used in place of +** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of +** YY_SHIFT_USE_DFLT. +** +** The following are the tables generated in this section: +** +** yy_action[] A single table containing all actions. +** yy_lookahead[] A table containing the lookahead for each entry in +** yy_action. Used to detect hash collisions. +** yy_shift_ofst[] For each state, the offset into yy_action for +** shifting terminals. +** yy_reduce_ofst[] For each state, the offset into yy_action for +** shifting non-terminals after a reduce. +** yy_default[] Default action for each state. +*/ +static YYACTIONTYPE yy_action[] = { + /* 0 */ 1565, 1, 2, 4, 6, 7, 8, 9, 10, 11, + /* 10 */ 12, 13, 14, 306, 942, 206, 207, 208, 209, 210, + /* 20 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 30 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 40 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 50 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 60 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 70 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 80 */ 273, 274, 275, 276, 277, 278, 279, 64, 65, 97, + /* 90 */ 98, 99, 376, 549, 33, 673, 680, 684, 336, 297, + /* 100 */ 344, 816, 389, 437, 485, 610, 789, 66, 84, 45, + /* 110 */ 82, 94, 103, 173, 175, 177, 73, 89, 185, 20, + /* 120 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 130 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 967, + /* 140 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 150 */ 14, 306, 329, 206, 207, 208, 209, 210, 211, 212, + /* 160 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 170 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 180 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 190 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 200 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 210 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 220 */ 275, 276, 277, 278, 279, 43, 80, 92, 181, 183, + /* 230 */ 78, 549, 293, 1020, 1015, 1016, 336, 228, 344, 546, + /* 240 */ 389, 437, 485, 610, 944, 66, 84, 134, 138, 1022, + /* 250 */ 1023, 1024, 1025, 1026, 1027, 1028, 41, 20, 21, 26, + /* 260 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 270 */ 47, 60, 85, 96, 108, 109, 117, 350, 2, 4, + /* 280 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 290 */ 361, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 300 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 310 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 320 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 330 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 340 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 350 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 360 */ 277, 278, 279, 31, 71, 189, 191, 339, 873, 549, + /* 370 */ 285, 1020, 1015, 1016, 336, 999, 344, 760, 389, 437, + /* 380 */ 485, 610, 738, 66, 84, 1020, 1018, 1016, 361, 139, + /* 390 */ 1009, 97, 98, 99, 945, 20, 21, 26, 69, 70, + /* 400 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 410 */ 85, 96, 108, 109, 117, 296, 2, 4, 6, 7, + /* 420 */ 8, 9, 10, 11, 12, 13, 14, 306, 375, 206, + /* 430 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 440 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 450 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 460 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 470 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 480 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 490 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 500 */ 279, 960, 888, 934, 116, 1158, 1555, 549, 765, 155, + /* 510 */ 1158, 947, 336, 738, 344, 800, 389, 437, 485, 610, + /* 520 */ 789, 66, 84, 1158, 989, 135, 87, 892, 892, 910, + /* 530 */ 135, 991, 139, 20, 21, 26, 69, 70, 88, 101, + /* 540 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 550 */ 108, 109, 117, 334, 2, 4, 6, 7, 8, 9, + /* 560 */ 10, 11, 12, 13, 14, 306, 29, 206, 207, 208, + /* 570 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 580 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 590 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 600 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 610 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 620 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 630 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 929, + /* 640 */ 328, 883, 337, 1546, 338, 549, 997, 287, 144, 1029, + /* 650 */ 336, 316, 344, 917, 389, 437, 485, 610, 749, 66, + /* 660 */ 84, 1012, 950, 738, 87, 732, 87, 979, 22, 204, + /* 670 */ 738, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 680 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 690 */ 117, 308, 2, 4, 6, 7, 8, 9, 10, 11, + /* 700 */ 12, 13, 14, 306, 361, 206, 207, 208, 209, 210, + /* 710 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 720 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 730 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 740 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 750 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 760 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 770 */ 273, 274, 275, 276, 277, 278, 279, 965, 133, 1134, + /* 780 */ 811, 1001, 783, 549, 1017, 789, 1005, 789, 336, 227, + /* 790 */ 344, 951, 389, 437, 485, 610, 299, 66, 84, 952, + /* 800 */ 912, 139, 892, 361, 135, 953, 955, 547, 956, 20, + /* 810 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 820 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 941, + /* 830 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 840 */ 14, 306, 194, 206, 207, 208, 209, 210, 211, 212, + /* 850 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 860 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 870 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 880 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 890 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 900 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 910 */ 275, 276, 277, 278, 279, 754, 371, 958, 368, 961, + /* 920 */ 367, 549, 301, 963, 111, 966, 336, 130, 344, 364, + /* 930 */ 389, 437, 485, 610, 363, 66, 84, 968, 202, 303, + /* 940 */ 970, 128, 971, 37, 320, 973, 356, 20, 21, 26, + /* 950 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 960 */ 47, 60, 85, 96, 108, 109, 117, 1032, 2, 4, + /* 970 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 980 */ 975, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 990 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 1000 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 1010 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 1020 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 1030 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 1040 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 1050 */ 277, 278, 279, 68, 321, 976, 355, 35, 978, 549, + /* 1060 */ 305, 318, 980, 197, 336, 914, 344, 307, 389, 437, + /* 1070 */ 485, 610, 198, 66, 84, 1030, 987, 122, 1528, 779, + /* 1080 */ 772, 351, 87, 24, 349, 20, 21, 26, 69, 70, + /* 1090 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 1100 */ 85, 96, 108, 109, 117, 304, 2, 4, 6, 7, + /* 1110 */ 8, 9, 10, 11, 12, 13, 14, 306, 784, 206, + /* 1120 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 1130 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 1140 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 1150 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 1160 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 1170 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 1180 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 1190 */ 279, 777, 786, 770, 993, 379, 735, 549, 794, 796, + /* 1200 */ 1031, 995, 336, 766, 344, 1559, 389, 437, 485, 610, + /* 1210 */ 801, 66, 84, 805, 807, 166, 158, 3, 605, 812, + /* 1220 */ 761, 309, 168, 20, 21, 26, 69, 70, 88, 101, + /* 1230 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 1240 */ 108, 109, 117, 1034, 2, 4, 6, 7, 8, 9, + /* 1250 */ 10, 11, 12, 13, 14, 306, 817, 206, 207, 208, + /* 1260 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 1270 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 1280 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 1290 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 1300 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 1310 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 1320 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 348, + /* 1330 */ 713, 756, 170, 1557, 372, 549, 326, 346, 172, 750, + /* 1340 */ 336, 1035, 344, 531, 389, 437, 485, 610, 745, 66, + /* 1350 */ 84, 1002, 743, 120, 733, 598, 153, 27, 842, 1004, + /* 1360 */ 846, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 1370 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 1380 */ 117, 288, 2, 4, 6, 7, 8, 9, 10, 11, + /* 1390 */ 12, 13, 14, 306, 343, 206, 207, 208, 209, 210, + /* 1400 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 1410 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 1420 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 1430 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 1440 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 1450 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 1460 */ 273, 274, 275, 276, 277, 278, 279, 114, 850, 533, + /* 1470 */ 342, 720, 118, 549, 718, 340, 711, 858, 336, 690, + /* 1480 */ 344, 534, 389, 437, 485, 610, 862, 66, 84, 707, + /* 1490 */ 100, 866, 311, 180, 703, 1548, 324, 699, 116, 20, + /* 1500 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 1510 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 300, + /* 1520 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 1530 */ 14, 306, 872, 206, 207, 208, 209, 210, 211, 212, + /* 1540 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 1550 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 1560 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 1570 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 1580 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 1590 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 1600 */ 275, 276, 277, 278, 279, 874, 39, 876, 1033, 878, + /* 1610 */ 881, 549, 879, 538, 335, 884, 336, 886, 344, 333, + /* 1620 */ 389, 437, 485, 610, 61, 66, 84, 889, 283, 891, + /* 1630 */ 897, 313, 1545, 539, 284, 687, 894, 20, 21, 26, + /* 1640 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 1650 */ 47, 60, 85, 96, 108, 109, 117, 936, 2, 4, + /* 1660 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 1670 */ 896, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 1680 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 1690 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 1700 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 1710 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 1720 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 1730 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 1740 */ 277, 278, 279, 540, 686, 899, 1133, 901, 141, 549, + /* 1750 */ 902, 683, 286, 904, 336, 682, 344, 332, 389, 437, + /* 1760 */ 485, 610, 188, 66, 84, 908, 137, 139, 910, 676, + /* 1770 */ 203, 912, 1136, 289, 675, 20, 21, 26, 69, 70, + /* 1780 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 1790 */ 85, 96, 108, 109, 117, 957, 2, 4, 6, 7, + /* 1800 */ 8, 9, 10, 11, 12, 13, 14, 306, 916, 206, + /* 1810 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 1820 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 1830 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 1840 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 1850 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 1860 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 1870 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 1880 */ 279, 291, 919, 201, 670, 314, 920, 549, 922, 384, + /* 1890 */ 292, 925, 336, 924, 344, 1021, 389, 437, 485, 610, + /* 1900 */ 383, 66, 84, 927, 322, 930, 294, 135, 659, 932, + /* 1910 */ 380, 295, 935, 20, 21, 26, 69, 70, 88, 101, + /* 1920 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 1930 */ 108, 109, 117, 898, 2, 4, 6, 7, 8, 9, + /* 1940 */ 10, 11, 12, 13, 14, 306, 937, 206, 207, 208, + /* 1950 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 1960 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 1970 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 1980 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 1990 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 2000 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 2010 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 544, + /* 2020 */ 330, 939, 545, 940, 797, 549, 797, 797, 797, 797, + /* 2030 */ 336, 797, 344, 797, 389, 437, 485, 610, 797, 66, + /* 2040 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 2050 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 2060 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 2070 */ 117, 880, 2, 4, 6, 7, 8, 9, 10, 11, + /* 2080 */ 12, 13, 14, 306, 797, 206, 207, 208, 209, 210, + /* 2090 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 2100 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 2110 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 2120 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 2130 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 2140 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 2150 */ 273, 274, 275, 276, 277, 278, 279, 797, 797, 797, + /* 2160 */ 797, 797, 797, 549, 797, 797, 797, 797, 336, 797, + /* 2170 */ 344, 797, 389, 437, 485, 610, 797, 66, 84, 797, + /* 2180 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 2190 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 2200 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 875, + /* 2210 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 2220 */ 14, 306, 797, 206, 207, 208, 209, 210, 211, 212, + /* 2230 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 2240 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 2250 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 2260 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 2270 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 2280 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 2290 */ 275, 276, 277, 278, 279, 797, 797, 797, 797, 797, + /* 2300 */ 797, 549, 797, 797, 797, 797, 336, 797, 344, 797, + /* 2310 */ 389, 437, 485, 610, 797, 66, 84, 797, 797, 797, + /* 2320 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 2330 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 2340 */ 47, 60, 85, 96, 108, 109, 117, 921, 2, 4, + /* 2350 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 2360 */ 797, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 2370 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 2380 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 2390 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 2400 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 2410 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 2420 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 2430 */ 277, 278, 279, 797, 797, 797, 797, 797, 797, 549, + /* 2440 */ 797, 797, 797, 797, 336, 797, 344, 797, 389, 437, + /* 2450 */ 485, 610, 797, 66, 84, 797, 797, 797, 797, 797, + /* 2460 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 2470 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 2480 */ 85, 96, 108, 109, 117, 871, 2, 4, 6, 7, + /* 2490 */ 8, 9, 10, 11, 12, 13, 14, 306, 797, 206, + /* 2500 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 2510 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 2520 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 2530 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 2540 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 2550 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 2560 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 2570 */ 279, 797, 797, 797, 797, 797, 797, 549, 797, 797, + /* 2580 */ 797, 797, 336, 797, 344, 797, 389, 437, 485, 610, + /* 2590 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 2600 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 2610 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 2620 */ 108, 109, 117, 977, 2, 4, 6, 7, 8, 9, + /* 2630 */ 10, 11, 12, 13, 14, 306, 797, 206, 207, 208, + /* 2640 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 2650 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 2660 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 2670 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 2680 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 2690 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 2700 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 797, + /* 2710 */ 797, 797, 797, 797, 797, 549, 797, 797, 797, 797, + /* 2720 */ 336, 797, 344, 797, 389, 437, 485, 610, 797, 66, + /* 2730 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 2740 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 2750 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 2760 */ 117, 319, 2, 4, 6, 7, 8, 9, 10, 11, + /* 2770 */ 12, 13, 14, 306, 797, 206, 207, 208, 209, 210, + /* 2780 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 2790 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 2800 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 2810 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 2820 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 2830 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 2840 */ 273, 274, 275, 276, 277, 278, 279, 797, 797, 797, + /* 2850 */ 797, 797, 797, 549, 797, 797, 797, 797, 336, 797, + /* 2860 */ 344, 797, 389, 437, 485, 610, 797, 66, 84, 797, + /* 2870 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 2880 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 2890 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 926, + /* 2900 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 2910 */ 14, 306, 797, 206, 207, 208, 209, 210, 211, 212, + /* 2920 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 2930 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 2940 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 2950 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 2960 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 2970 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 2980 */ 275, 276, 277, 278, 279, 797, 797, 797, 797, 797, + /* 2990 */ 797, 549, 797, 797, 797, 797, 336, 797, 344, 797, + /* 3000 */ 389, 437, 485, 610, 797, 66, 84, 797, 797, 797, + /* 3010 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 3020 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 3030 */ 47, 60, 85, 96, 108, 109, 117, 972, 2, 4, + /* 3040 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 3050 */ 797, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 3060 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 3070 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 3080 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 3090 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 3100 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 3110 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 3120 */ 277, 278, 279, 797, 797, 797, 797, 797, 797, 549, + /* 3130 */ 797, 797, 797, 797, 336, 797, 344, 797, 389, 437, + /* 3140 */ 485, 610, 797, 66, 84, 797, 797, 797, 797, 797, + /* 3150 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 3160 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 3170 */ 85, 96, 108, 109, 117, 315, 2, 4, 6, 7, + /* 3180 */ 8, 9, 10, 11, 12, 13, 14, 306, 797, 206, + /* 3190 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 3200 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 3210 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 3220 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 3230 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 3240 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 3250 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 3260 */ 279, 797, 797, 797, 797, 797, 797, 549, 797, 797, + /* 3270 */ 797, 797, 336, 797, 344, 797, 389, 437, 485, 610, + /* 3280 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 3290 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 3300 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 3310 */ 108, 109, 117, 5, 2, 4, 6, 7, 8, 9, + /* 3320 */ 10, 11, 12, 13, 14, 306, 797, 206, 207, 208, + /* 3330 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 3340 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 3350 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 3360 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 3370 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 3380 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 3390 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 797, + /* 3400 */ 797, 797, 797, 797, 797, 549, 797, 797, 797, 797, + /* 3410 */ 336, 797, 344, 797, 389, 437, 485, 610, 797, 66, + /* 3420 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 3430 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 3440 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 3450 */ 117, 890, 2, 4, 6, 7, 8, 9, 10, 11, + /* 3460 */ 12, 13, 14, 306, 797, 206, 207, 208, 209, 210, + /* 3470 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 3480 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 3490 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 3500 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 3510 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 3520 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 3530 */ 273, 274, 275, 276, 277, 278, 279, 797, 797, 797, + /* 3540 */ 797, 797, 797, 549, 797, 797, 797, 797, 336, 797, + /* 3550 */ 344, 797, 389, 437, 485, 610, 797, 66, 84, 797, + /* 3560 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 3570 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 3580 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 931, + /* 3590 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 3600 */ 14, 306, 797, 206, 207, 208, 209, 210, 211, 212, + /* 3610 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 3620 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 3630 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 3640 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 3650 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 3660 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 3670 */ 275, 276, 277, 278, 279, 797, 797, 797, 797, 797, + /* 3680 */ 797, 549, 797, 797, 797, 797, 336, 797, 344, 797, + /* 3690 */ 389, 437, 485, 610, 797, 66, 84, 797, 797, 797, + /* 3700 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 3710 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 3720 */ 47, 60, 85, 96, 108, 109, 117, 903, 2, 4, + /* 3730 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 306, + /* 3740 */ 797, 206, 207, 208, 209, 210, 211, 212, 213, 214, + /* 3750 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + /* 3760 */ 225, 119, 229, 230, 231, 232, 233, 234, 235, 236, + /* 3770 */ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 3780 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 3790 */ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + /* 3800 */ 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + /* 3810 */ 277, 278, 279, 797, 797, 797, 797, 797, 797, 549, + /* 3820 */ 797, 797, 797, 797, 336, 797, 344, 797, 389, 437, + /* 3830 */ 485, 610, 797, 66, 84, 797, 797, 797, 797, 797, + /* 3840 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 3850 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 3860 */ 85, 96, 108, 109, 117, 885, 2, 4, 6, 7, + /* 3870 */ 8, 9, 10, 11, 12, 13, 14, 306, 797, 206, + /* 3880 */ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + /* 3890 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 119, + /* 3900 */ 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + /* 3910 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 3920 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 3930 */ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + /* 3940 */ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + /* 3950 */ 279, 797, 797, 797, 797, 797, 797, 549, 797, 797, + /* 3960 */ 797, 797, 336, 797, 344, 797, 389, 437, 485, 610, + /* 3970 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 3980 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 3990 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 4000 */ 108, 109, 117, 946, 2, 4, 6, 7, 8, 9, + /* 4010 */ 10, 11, 12, 13, 14, 306, 797, 206, 207, 208, + /* 4020 */ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + /* 4030 */ 219, 220, 221, 222, 223, 224, 225, 119, 229, 230, + /* 4040 */ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + /* 4050 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 4060 */ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + /* 4070 */ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + /* 4080 */ 271, 272, 273, 274, 275, 276, 277, 278, 279, 797, + /* 4090 */ 797, 797, 797, 797, 797, 549, 797, 797, 797, 797, + /* 4100 */ 336, 797, 344, 797, 389, 437, 485, 610, 797, 66, + /* 4110 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 4120 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 4130 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 4140 */ 117, 1003, 2, 4, 6, 7, 8, 9, 10, 11, + /* 4150 */ 12, 13, 14, 306, 797, 206, 207, 208, 209, 210, + /* 4160 */ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + /* 4170 */ 221, 222, 223, 224, 225, 119, 229, 230, 231, 232, + /* 4180 */ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + /* 4190 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 4200 */ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + /* 4210 */ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + /* 4220 */ 273, 274, 275, 276, 277, 278, 279, 797, 797, 797, + /* 4230 */ 797, 797, 797, 549, 797, 797, 797, 797, 336, 797, + /* 4240 */ 344, 797, 389, 437, 485, 610, 797, 66, 84, 797, + /* 4250 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 4260 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 4270 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 962, + /* 4280 */ 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, + /* 4290 */ 14, 306, 797, 206, 207, 208, 209, 210, 211, 212, + /* 4300 */ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + /* 4310 */ 223, 224, 225, 119, 229, 230, 231, 232, 233, 234, + /* 4320 */ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + /* 4330 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 4340 */ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + /* 4350 */ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + /* 4360 */ 275, 276, 277, 278, 279, 797, 797, 797, 797, 797, + /* 4370 */ 797, 549, 797, 797, 797, 797, 336, 797, 344, 797, + /* 4380 */ 389, 437, 485, 610, 797, 66, 84, 797, 797, 797, + /* 4390 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 4400 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 4410 */ 47, 60, 85, 96, 108, 109, 117, 1014, 797, 6, + /* 4420 */ 7, 8, 9, 10, 11, 12, 13, 14, 1007, 1019, + /* 4430 */ 797, 1132, 797, 797, 797, 906, 797, 1022, 1023, 1024, + /* 4440 */ 1025, 1026, 1027, 1028, 907, 909, 911, 913, 915, 797, + /* 4450 */ 119, 229, 230, 231, 232, 233, 234, 235, 236, 237, + /* 4460 */ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 4470 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 4480 */ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + /* 4490 */ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + /* 4500 */ 278, 279, 361, 797, 797, 797, 327, 797, 549, 797, + /* 4510 */ 996, 797, 797, 797, 797, 666, 797, 389, 437, 485, + /* 4520 */ 610, 797, 66, 84, 667, 668, 662, 797, 658, 663, + /* 4530 */ 664, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 4540 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 4550 */ 96, 108, 109, 117, 1019, 797, 1135, 96, 697, 701, + /* 4560 */ 705, 797, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 797, + /* 4570 */ 797, 797, 797, 1011, 797, 6, 7, 8, 9, 10, + /* 4580 */ 11, 12, 13, 14, 1007, 1419, 1419, 797, 797, 797, + /* 4590 */ 797, 797, 797, 797, 797, 797, 1419, 797, 1419, 797, + /* 4600 */ 797, 1419, 797, 97, 98, 99, 119, 229, 230, 231, + /* 4610 */ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + /* 4620 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 4630 */ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + /* 4640 */ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + /* 4650 */ 272, 273, 274, 275, 276, 277, 278, 279, 797, 797, + /* 4660 */ 797, 797, 797, 797, 549, 797, 797, 998, 797, 797, + /* 4670 */ 797, 797, 694, 389, 437, 485, 610, 797, 66, 84, + /* 4680 */ 797, 695, 696, 797, 797, 797, 797, 797, 797, 704, + /* 4690 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 4700 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 4710 */ 918, 923, 1224, 1224, 96, 797, 115, 797, 797, 150, + /* 4720 */ 797, 797, 797, 1224, 797, 1224, 134, 138, 1224, 1008, + /* 4730 */ 797, 6, 7, 8, 9, 10, 11, 12, 13, 14, + /* 4740 */ 1007, 797, 797, 797, 797, 797, 797, 797, 120, 797, + /* 4750 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 4760 */ 797, 797, 119, 229, 230, 231, 232, 233, 234, 235, + /* 4770 */ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + /* 4780 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 4790 */ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + /* 4800 */ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + /* 4810 */ 276, 277, 278, 279, 797, 797, 797, 97, 98, 99, + /* 4820 */ 549, 797, 797, 797, 1000, 797, 797, 694, 661, 389, + /* 4830 */ 437, 485, 610, 797, 66, 84, 695, 696, 797, 660, + /* 4840 */ 797, 797, 797, 797, 689, 797, 20, 21, 26, 69, + /* 4850 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 4860 */ 60, 85, 96, 108, 109, 117, 331, 877, 691, 96, + /* 4870 */ 96, 797, 115, 797, 797, 150, 797, 692, 693, 797, + /* 4880 */ 797, 797, 134, 138, 797, 1010, 797, 6, 7, 8, + /* 4890 */ 9, 10, 11, 12, 13, 14, 1007, 797, 797, 797, + /* 4900 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 4910 */ 96, 797, 797, 797, 797, 797, 797, 797, 119, 229, + /* 4920 */ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + /* 4930 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 4940 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + /* 4950 */ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + /* 4960 */ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + /* 4970 */ 797, 797, 797, 97, 98, 99, 549, 797, 797, 797, + /* 4980 */ 797, 797, 797, 694, 797, 389, 437, 485, 610, 797, + /* 4990 */ 66, 84, 695, 696, 797, 797, 797, 797, 797, 797, + /* 5000 */ 708, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 5010 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 5020 */ 109, 117, 954, 694, 797, 96, 797, 115, 797, 797, + /* 5030 */ 150, 797, 695, 696, 797, 797, 797, 134, 138, 797, + /* 5040 */ 700, 1013, 797, 6, 7, 8, 9, 10, 11, 12, + /* 5050 */ 13, 14, 1007, 797, 797, 797, 797, 797, 797, 797, + /* 5060 */ 797, 797, 797, 797, 797, 96, 797, 797, 797, 797, + /* 5070 */ 797, 797, 797, 797, 119, 229, 230, 231, 232, 233, + /* 5080 */ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + /* 5090 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 5100 */ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + /* 5110 */ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + /* 5120 */ 274, 275, 276, 277, 278, 279, 797, 797, 97, 98, + /* 5130 */ 99, 797, 549, 797, 797, 797, 797, 797, 797, 797, + /* 5140 */ 797, 389, 437, 485, 610, 797, 66, 84, 797, 797, + /* 5150 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 5160 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 5170 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 5180 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 5190 */ 797, 797, 797, 797, 797, 797, 797, 1006, 797, 6, + /* 5200 */ 7, 8, 9, 10, 11, 12, 13, 14, 1007, 797, + /* 5210 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 5220 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 5230 */ 119, 229, 230, 231, 232, 233, 234, 235, 236, 237, + /* 5240 */ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 5250 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 5260 */ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + /* 5270 */ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + /* 5280 */ 278, 279, 797, 797, 797, 797, 797, 797, 549, 797, + /* 5290 */ 797, 797, 797, 797, 797, 797, 797, 389, 437, 485, + /* 5300 */ 610, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 5310 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 5320 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 5330 */ 96, 108, 109, 117, 1040, 15, 604, 597, 226, 280, + /* 5340 */ 281, 282, 115, 131, 797, 797, 797, 797, 290, 797, + /* 5350 */ 354, 362, 366, 370, 378, 374, 382, 298, 302, 310, + /* 5360 */ 317, 325, 797, 345, 797, 390, 352, 111, 530, 395, + /* 5370 */ 397, 399, 401, 403, 405, 407, 409, 411, 413, 415, + /* 5380 */ 417, 419, 421, 427, 429, 431, 433, 435, 423, 425, + /* 5390 */ 797, 797, 797, 797, 797, 655, 797, 672, 797, 797, + /* 5400 */ 797, 688, 709, 768, 819, 836, 838, 852, 854, 869, + /* 5410 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 5420 */ 797, 797, 797, 797, 797, 797, 48, 50, 52, 54, + /* 5430 */ 797, 797, 797, 797, 797, 797, 797, 797, 56, 58, + /* 5440 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 5450 */ 125, 127, 15, 604, 597, 226, 280, 281, 282, 115, + /* 5460 */ 131, 797, 797, 797, 797, 290, 797, 354, 362, 366, + /* 5470 */ 370, 378, 374, 382, 298, 302, 310, 317, 325, 797, + /* 5480 */ 345, 797, 438, 352, 114, 530, 443, 445, 447, 449, + /* 5490 */ 451, 453, 455, 457, 459, 461, 463, 465, 467, 469, + /* 5500 */ 475, 477, 479, 481, 483, 471, 473, 797, 797, 797, + /* 5510 */ 797, 797, 655, 797, 672, 797, 797, 797, 688, 709, + /* 5520 */ 768, 819, 836, 838, 852, 854, 869, 797, 797, 797, + /* 5530 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 5540 */ 797, 797, 797, 48, 50, 52, 54, 797, 797, 797, + /* 5550 */ 797, 797, 797, 797, 797, 56, 58, 797, 64, 65, + /* 5560 */ 97, 98, 99, 105, 106, 107, 124, 125, 127, 15, + /* 5570 */ 604, 597, 226, 280, 281, 797, 115, 131, 797, 797, + /* 5580 */ 797, 797, 797, 797, 354, 362, 366, 370, 378, 374, + /* 5590 */ 382, 797, 797, 797, 317, 797, 797, 797, 797, 550, + /* 5600 */ 352, 87, 530, 555, 557, 559, 561, 563, 565, 567, + /* 5610 */ 569, 571, 573, 575, 577, 579, 581, 587, 589, 591, + /* 5620 */ 593, 595, 583, 585, 797, 797, 797, 797, 797, 655, + /* 5630 */ 938, 672, 797, 797, 797, 688, 709, 768, 819, 836, + /* 5640 */ 838, 852, 854, 869, 797, 797, 797, 797, 797, 797, + /* 5650 */ 797, 943, 797, 969, 797, 797, 797, 797, 797, 797, + /* 5660 */ 48, 50, 52, 54, 797, 797, 797, 797, 797, 797, + /* 5670 */ 119, 797, 56, 58, 974, 64, 65, 97, 98, 99, + /* 5680 */ 105, 106, 107, 124, 125, 127, 15, 604, 597, 226, + /* 5690 */ 280, 281, 797, 981, 948, 797, 797, 797, 797, 797, + /* 5700 */ 797, 354, 986, 988, 990, 992, 994, 382, 797, 928, + /* 5710 */ 933, 317, 797, 797, 797, 665, 657, 352, 905, 530, + /* 5720 */ 797, 361, 797, 146, 149, 797, 797, 797, 86, 797, + /* 5730 */ 797, 797, 959, 964, 797, 797, 797, 110, 113, 63, + /* 5740 */ 126, 905, 66, 84, 797, 119, 655, 669, 672, 797, + /* 5750 */ 797, 96, 688, 709, 768, 819, 836, 838, 852, 854, + /* 5760 */ 869, 36, 76, 77, 91, 102, 112, 47, 60, 85, + /* 5770 */ 96, 108, 109, 117, 96, 656, 797, 48, 50, 52, + /* 5780 */ 54, 797, 797, 797, 797, 797, 797, 797, 895, 56, + /* 5790 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 5800 */ 124, 125, 127, 86, 797, 797, 146, 149, 797, 900, + /* 5810 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 5820 */ 64, 65, 97, 98, 99, 797, 797, 797, 119, 20, + /* 5830 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 5840 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 140, + /* 5850 */ 142, 143, 797, 797, 797, 797, 797, 146, 149, 797, + /* 5860 */ 797, 797, 797, 797, 797, 797, 797, 882, 887, 797, + /* 5870 */ 797, 797, 797, 797, 797, 797, 905, 797, 797, 119, + /* 5880 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 5890 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 5900 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 96, + /* 5910 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 5920 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 5930 */ 109, 117, 167, 142, 143, 164, 119, 86, 797, 797, + /* 5940 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 5950 */ 797, 66, 84, 797, 797, 797, 797, 119, 797, 797, + /* 5960 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 5970 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 5980 */ 108, 109, 117, 136, 142, 143, 797, 797, 797, 797, + /* 5990 */ 797, 164, 797, 797, 86, 797, 797, 797, 797, 797, + /* 6000 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 6010 */ 797, 797, 797, 119, 797, 86, 797, 797, 797, 797, + /* 6020 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 6030 */ 84, 184, 112, 47, 60, 85, 96, 108, 109, 117, + /* 6040 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 6050 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 6060 */ 117, 797, 146, 149, 152, 154, 157, 797, 797, 797, + /* 6070 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6080 */ 110, 113, 63, 126, 119, 66, 84, 797, 797, 797, + /* 6090 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 6100 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 6110 */ 47, 60, 85, 96, 108, 109, 117, 827, 826, 797, + /* 6120 */ 156, 154, 157, 797, 797, 797, 797, 797, 797, 797, + /* 6130 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 6140 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 6150 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 6160 */ 797, 797, 797, 797, 797, 797, 797, 728, 20, 21, + /* 6170 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 6180 */ 112, 47, 60, 85, 96, 108, 109, 117, 729, 145, + /* 6190 */ 143, 865, 826, 797, 797, 797, 797, 86, 797, 797, + /* 6200 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 6210 */ 797, 66, 84, 119, 797, 797, 797, 797, 797, 797, + /* 6220 */ 797, 797, 835, 20, 21, 26, 69, 70, 88, 101, + /* 6230 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 6240 */ 108, 109, 117, 827, 826, 797, 724, 797, 797, 797, + /* 6250 */ 797, 797, 797, 797, 797, 725, 726, 797, 797, 797, + /* 6260 */ 797, 797, 797, 797, 791, 119, 797, 797, 797, 799, + /* 6270 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6280 */ 110, 113, 63, 126, 797, 66, 84, 797, 96, 797, + /* 6290 */ 797, 797, 797, 797, 797, 797, 868, 20, 21, 26, + /* 6300 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 6310 */ 47, 60, 85, 96, 108, 109, 117, 827, 826, 797, + /* 6320 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 6330 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 119, + /* 6340 */ 797, 797, 797, 797, 797, 797, 797, 797, 839, 20, + /* 6350 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 6360 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 827, + /* 6370 */ 826, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6380 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6390 */ 797, 119, 797, 797, 797, 797, 797, 86, 797, 797, + /* 6400 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 6410 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 6420 */ 797, 797, 867, 20, 21, 26, 69, 70, 88, 101, + /* 6430 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 6440 */ 108, 109, 117, 132, 797, 797, 797, 797, 797, 86, + /* 6450 */ 797, 728, 797, 797, 797, 797, 797, 797, 110, 113, + /* 6460 */ 63, 126, 797, 66, 84, 119, 797, 797, 797, 797, + /* 6470 */ 797, 797, 729, 797, 855, 20, 21, 26, 69, 70, + /* 6480 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 6490 */ 85, 96, 108, 109, 117, 827, 826, 797, 797, 797, + /* 6500 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6510 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 6520 */ 797, 985, 949, 86, 797, 797, 797, 797, 797, 797, + /* 6530 */ 724, 797, 110, 113, 63, 126, 797, 66, 84, 725, + /* 6540 */ 726, 797, 797, 797, 797, 797, 797, 797, 710, 20, + /* 6550 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 6560 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 160, + /* 6570 */ 161, 797, 96, 797, 797, 86, 797, 728, 797, 797, + /* 6580 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 6590 */ 84, 119, 797, 797, 797, 797, 797, 797, 729, 797, + /* 6600 */ 847, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 6610 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 6620 */ 117, 797, 827, 826, 797, 797, 797, 797, 797, 797, + /* 6630 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6640 */ 797, 797, 797, 797, 119, 797, 797, 797, 797, 86, + /* 6650 */ 797, 797, 797, 797, 797, 797, 724, 797, 110, 113, + /* 6660 */ 63, 126, 797, 66, 84, 725, 726, 797, 797, 797, + /* 6670 */ 797, 797, 797, 797, 795, 20, 21, 26, 69, 70, + /* 6680 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 6690 */ 85, 96, 108, 109, 117, 797, 827, 826, 96, 797, + /* 6700 */ 797, 159, 86, 797, 797, 797, 797, 797, 797, 797, + /* 6710 */ 797, 110, 113, 63, 126, 797, 66, 84, 119, 797, + /* 6720 */ 797, 797, 797, 797, 797, 797, 797, 863, 20, 21, + /* 6730 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 6740 */ 112, 47, 60, 85, 96, 108, 109, 117, 832, 826, + /* 6750 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6760 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6770 */ 119, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 6780 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 6790 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6800 */ 797, 822, 20, 21, 26, 69, 70, 88, 101, 75, + /* 6810 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 6820 */ 109, 117, 827, 826, 797, 797, 797, 797, 86, 797, + /* 6830 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 6840 */ 126, 797, 66, 84, 119, 797, 797, 797, 797, 797, + /* 6850 */ 797, 797, 797, 833, 20, 21, 26, 69, 70, 88, + /* 6860 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 6870 */ 96, 108, 109, 117, 827, 826, 797, 797, 797, 797, + /* 6880 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 6890 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 6900 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 6910 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 6920 */ 797, 797, 797, 797, 797, 797, 797, 853, 20, 21, + /* 6930 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 6940 */ 112, 47, 60, 85, 96, 108, 109, 117, 827, 826, + /* 6950 */ 797, 797, 797, 797, 86, 797, 797, 797, 797, 797, + /* 6960 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 6970 */ 119, 797, 797, 797, 797, 797, 797, 797, 797, 851, + /* 6980 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 6990 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 7000 */ 827, 826, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7010 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7020 */ 797, 797, 119, 797, 797, 797, 797, 797, 86, 797, + /* 7030 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 7040 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 7050 */ 797, 797, 797, 837, 20, 21, 26, 69, 70, 88, + /* 7060 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 7070 */ 96, 108, 109, 117, 827, 826, 797, 797, 797, 797, + /* 7080 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 7090 */ 113, 63, 126, 797, 66, 84, 119, 797, 797, 797, + /* 7100 */ 797, 797, 797, 797, 797, 830, 20, 21, 26, 69, + /* 7110 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 7120 */ 60, 85, 96, 108, 109, 117, 827, 826, 797, 797, + /* 7130 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7140 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 7150 */ 797, 797, 797, 797, 86, 797, 119, 797, 797, 797, + /* 7160 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 7170 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 859, + /* 7180 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 7190 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 7200 */ 827, 826, 797, 797, 797, 797, 86, 797, 797, 797, + /* 7210 */ 797, 797, 797, 797, 86, 110, 113, 63, 126, 797, + /* 7220 */ 66, 84, 119, 110, 113, 63, 126, 797, 66, 84, + /* 7230 */ 797, 870, 20, 21, 26, 69, 70, 88, 101, 75, + /* 7240 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 7250 */ 109, 117, 737, 62, 60, 85, 96, 108, 109, 117, + /* 7260 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7270 */ 797, 797, 797, 797, 119, 797, 797, 797, 797, 797, + /* 7280 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 7290 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 7300 */ 797, 797, 797, 797, 797, 843, 20, 21, 26, 69, + /* 7310 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 7320 */ 60, 85, 96, 108, 109, 117, 677, 797, 797, 797, + /* 7330 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 7340 */ 797, 110, 113, 63, 126, 797, 66, 84, 119, 797, + /* 7350 */ 797, 797, 797, 797, 734, 797, 797, 797, 20, 21, + /* 7360 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 7370 */ 112, 47, 60, 85, 96, 108, 109, 117, 677, 797, + /* 7380 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7390 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7400 */ 119, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 7410 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 7420 */ 66, 84, 681, 797, 797, 797, 797, 797, 797, 797, + /* 7430 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 7440 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 7450 */ 109, 117, 797, 788, 797, 797, 797, 797, 86, 797, + /* 7460 */ 797, 728, 797, 797, 797, 797, 797, 110, 113, 63, + /* 7470 */ 126, 797, 66, 84, 857, 119, 797, 797, 797, 797, + /* 7480 */ 797, 797, 729, 797, 20, 21, 26, 69, 70, 88, + /* 7490 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 7500 */ 96, 108, 109, 117, 715, 797, 797, 797, 797, 797, + /* 7510 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7520 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 7530 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 7540 */ 724, 797, 110, 113, 63, 126, 797, 66, 84, 725, + /* 7550 */ 726, 797, 797, 797, 797, 797, 797, 785, 790, 20, + /* 7560 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 7570 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 715, + /* 7580 */ 797, 797, 96, 797, 86, 797, 797, 797, 797, 797, + /* 7590 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 7600 */ 797, 119, 797, 721, 797, 797, 797, 797, 797, 797, + /* 7610 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 7620 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 7630 */ 788, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7640 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7650 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 86, + /* 7660 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 7670 */ 63, 126, 797, 66, 84, 797, 797, 797, 746, 797, + /* 7680 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 7690 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 7700 */ 85, 96, 108, 109, 117, 981, 131, 797, 797, 797, + /* 7710 */ 86, 797, 797, 797, 907, 982, 983, 984, 915, 110, + /* 7720 */ 113, 63, 126, 797, 66, 84, 797, 119, 797, 797, + /* 7730 */ 797, 67, 797, 797, 818, 797, 20, 21, 26, 69, + /* 7740 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 7750 */ 60, 85, 96, 108, 109, 117, 825, 824, 797, 797, + /* 7760 */ 797, 797, 115, 131, 797, 150, 797, 797, 797, 797, + /* 7770 */ 797, 797, 134, 138, 123, 797, 797, 797, 797, 797, + /* 7780 */ 797, 797, 797, 797, 797, 86, 797, 797, 67, 48, + /* 7790 */ 50, 52, 54, 677, 110, 113, 63, 126, 797, 66, + /* 7800 */ 84, 56, 58, 797, 64, 65, 97, 98, 99, 105, + /* 7810 */ 106, 107, 124, 125, 127, 119, 823, 797, 820, 828, + /* 7820 */ 831, 42, 102, 112, 47, 60, 85, 96, 108, 109, + /* 7830 */ 117, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 7840 */ 797, 797, 797, 797, 797, 797, 48, 50, 52, 54, + /* 7850 */ 797, 797, 797, 715, 797, 797, 797, 797, 56, 58, + /* 7860 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 7870 */ 125, 127, 797, 86, 797, 119, 797, 797, 797, 797, + /* 7880 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 829, + /* 7890 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 7900 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 7910 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 7920 */ 797, 797, 797, 797, 797, 797, 797, 677, 119, 797, + /* 7930 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 7940 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 119, + /* 7950 */ 797, 797, 757, 797, 797, 797, 797, 797, 797, 20, + /* 7960 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 7970 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 7980 */ 677, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 7990 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 8000 */ 66, 84, 119, 797, 797, 797, 797, 86, 797, 797, + /* 8010 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 8020 */ 797, 66, 84, 861, 59, 47, 60, 85, 96, 108, + /* 8030 */ 109, 117, 797, 20, 21, 26, 69, 70, 88, 101, + /* 8040 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 8050 */ 108, 109, 117, 797, 797, 797, 797, 797, 797, 797, + /* 8060 */ 86, 677, 797, 797, 797, 797, 797, 797, 797, 110, + /* 8070 */ 113, 63, 126, 797, 66, 84, 821, 797, 797, 797, + /* 8080 */ 797, 797, 797, 119, 797, 797, 20, 21, 26, 69, + /* 8090 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 8100 */ 60, 85, 96, 108, 109, 117, 797, 357, 360, 797, + /* 8110 */ 611, 797, 797, 797, 613, 615, 617, 619, 621, 623, + /* 8120 */ 625, 627, 629, 631, 633, 635, 637, 639, 797, 119, + /* 8130 */ 645, 647, 797, 641, 643, 649, 651, 653, 797, 797, + /* 8140 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 8150 */ 110, 113, 63, 126, 797, 66, 84, 841, 797, 797, + /* 8160 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 8170 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 8180 */ 47, 60, 85, 96, 108, 109, 117, 86, 797, 797, + /* 8190 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 8200 */ 119, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 8210 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 8220 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 8230 */ 108, 109, 117, 737, 797, 797, 797, 797, 797, 797, + /* 8240 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 8250 */ 797, 797, 797, 797, 797, 119, 797, 797, 86, 797, + /* 8260 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 8270 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 8280 */ 797, 797, 797, 797, 715, 797, 205, 69, 70, 88, + /* 8290 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 8300 */ 96, 108, 109, 117, 797, 797, 119, 797, 797, 797, + /* 8310 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 8320 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 8330 */ 797, 797, 797, 797, 797, 751, 797, 797, 797, 20, + /* 8340 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 8350 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 606, + /* 8360 */ 607, 797, 797, 797, 86, 797, 797, 728, 797, 797, + /* 8370 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 8380 */ 797, 119, 797, 712, 797, 797, 797, 797, 729, 797, + /* 8390 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 8400 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 8410 */ 797, 797, 797, 797, 797, 797, 797, 797, 788, 797, + /* 8420 */ 797, 797, 797, 797, 797, 797, 728, 797, 797, 797, + /* 8430 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 86, + /* 8440 */ 119, 797, 797, 797, 797, 797, 724, 729, 110, 113, + /* 8450 */ 63, 126, 797, 66, 84, 725, 726, 797, 797, 797, + /* 8460 */ 797, 797, 797, 797, 778, 20, 21, 26, 69, 70, + /* 8470 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 8480 */ 85, 96, 108, 109, 117, 797, 797, 797, 96, 774, + /* 8490 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 8500 */ 797, 797, 797, 797, 797, 724, 797, 110, 113, 63, + /* 8510 */ 126, 119, 66, 84, 725, 726, 797, 797, 797, 797, + /* 8520 */ 797, 797, 813, 744, 20, 21, 26, 69, 70, 88, + /* 8530 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 8540 */ 96, 108, 109, 117, 797, 797, 797, 96, 797, 797, + /* 8550 */ 797, 797, 677, 797, 797, 797, 797, 797, 797, 797, + /* 8560 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 86, + /* 8570 */ 797, 797, 797, 797, 119, 797, 797, 797, 110, 113, + /* 8580 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 771, + /* 8590 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 8600 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 8610 */ 85, 96, 108, 109, 117, 677, 797, 797, 797, 797, + /* 8620 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 8630 */ 797, 797, 86, 797, 797, 797, 797, 119, 797, 797, + /* 8640 */ 797, 110, 113, 63, 126, 797, 66, 84, 698, 797, + /* 8650 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 8660 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 8670 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 8680 */ 797, 797, 797, 797, 797, 797, 677, 797, 119, 797, + /* 8690 */ 797, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 8700 */ 797, 797, 797, 797, 110, 113, 63, 126, 119, 66, + /* 8710 */ 84, 742, 797, 797, 797, 797, 797, 797, 797, 797, + /* 8720 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 8730 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 8740 */ 117, 551, 552, 797, 797, 797, 86, 797, 797, 728, + /* 8750 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 8760 */ 66, 84, 797, 119, 797, 797, 86, 797, 797, 797, + /* 8770 */ 729, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 8780 */ 66, 84, 776, 93, 112, 47, 60, 85, 96, 108, + /* 8790 */ 109, 117, 20, 21, 26, 69, 70, 88, 101, 75, + /* 8800 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 8810 */ 109, 117, 797, 797, 797, 797, 797, 797, 797, 797, + /* 8820 */ 677, 86, 797, 797, 797, 797, 797, 797, 724, 797, + /* 8830 */ 110, 113, 63, 126, 797, 66, 84, 725, 726, 797, + /* 8840 */ 797, 797, 119, 797, 797, 797, 755, 20, 21, 26, + /* 8850 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 8860 */ 47, 60, 85, 96, 108, 109, 117, 737, 797, 797, + /* 8870 */ 96, 797, 797, 797, 797, 728, 797, 797, 797, 797, + /* 8880 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 8890 */ 797, 797, 797, 797, 797, 797, 729, 797, 797, 797, + /* 8900 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 8910 */ 113, 63, 126, 797, 66, 84, 793, 797, 797, 797, + /* 8920 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 8930 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 8940 */ 60, 85, 96, 108, 109, 117, 797, 86, 797, 797, + /* 8950 */ 797, 797, 797, 797, 724, 797, 110, 113, 63, 126, + /* 8960 */ 119, 66, 84, 725, 726, 797, 797, 797, 797, 767, + /* 8970 */ 797, 797, 769, 20, 21, 26, 69, 70, 88, 101, + /* 8980 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 8990 */ 108, 109, 117, 391, 392, 797, 96, 797, 797, 797, + /* 9000 */ 797, 728, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9010 */ 797, 797, 797, 797, 797, 119, 797, 797, 86, 797, + /* 9020 */ 797, 797, 729, 797, 797, 797, 797, 110, 113, 63, + /* 9030 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 9040 */ 797, 797, 797, 774, 23, 21, 26, 69, 70, 88, + /* 9050 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 9060 */ 96, 108, 109, 117, 797, 119, 797, 797, 797, 797, + /* 9070 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 9080 */ 724, 797, 110, 113, 63, 126, 797, 66, 84, 725, + /* 9090 */ 726, 797, 797, 797, 797, 797, 797, 797, 719, 20, + /* 9100 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 9110 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 9120 */ 797, 797, 96, 86, 797, 119, 797, 797, 797, 797, + /* 9130 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 9140 */ 797, 797, 797, 780, 797, 797, 797, 797, 797, 20, + /* 9150 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 9160 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 825, + /* 9170 */ 824, 797, 797, 797, 797, 115, 131, 797, 150, 797, + /* 9180 */ 797, 797, 797, 86, 797, 134, 138, 123, 797, 797, + /* 9190 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 9200 */ 797, 67, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9210 */ 797, 797, 797, 797, 797, 797, 774, 38, 77, 91, + /* 9220 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 823, + /* 9230 */ 797, 840, 844, 848, 797, 797, 797, 797, 119, 797, + /* 9240 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9250 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 48, + /* 9260 */ 50, 52, 54, 797, 797, 797, 388, 385, 797, 797, + /* 9270 */ 797, 56, 58, 797, 64, 65, 97, 98, 99, 105, + /* 9280 */ 106, 107, 124, 125, 127, 727, 723, 797, 119, 797, + /* 9290 */ 797, 115, 763, 797, 150, 797, 86, 797, 797, 797, + /* 9300 */ 797, 134, 138, 797, 797, 110, 113, 63, 126, 797, + /* 9310 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9320 */ 677, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 9330 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 9340 */ 109, 117, 119, 797, 797, 722, 86, 716, 741, 752, + /* 9350 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 9360 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9370 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 9380 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 9390 */ 109, 117, 97, 98, 99, 677, 797, 797, 797, 797, + /* 9400 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 9410 */ 113, 63, 126, 797, 66, 84, 845, 119, 797, 797, + /* 9420 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 9430 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 9440 */ 60, 85, 96, 108, 109, 117, 797, 486, 797, 797, + /* 9450 */ 788, 488, 490, 492, 494, 496, 498, 500, 502, 504, + /* 9460 */ 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, + /* 9470 */ 526, 528, 119, 797, 797, 86, 797, 797, 797, 797, + /* 9480 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 9490 */ 84, 674, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9500 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 9510 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 9520 */ 117, 797, 797, 797, 797, 115, 131, 797, 797, 797, + /* 9530 */ 86, 797, 797, 797, 797, 134, 138, 123, 797, 110, + /* 9540 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 9550 */ 797, 67, 536, 797, 802, 797, 20, 21, 26, 69, + /* 9560 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 9570 */ 60, 85, 96, 108, 109, 117, 825, 824, 797, 797, + /* 9580 */ 797, 797, 115, 131, 797, 150, 797, 797, 797, 727, + /* 9590 */ 723, 797, 134, 138, 123, 115, 814, 797, 150, 797, + /* 9600 */ 797, 797, 797, 797, 797, 134, 138, 797, 67, 48, + /* 9610 */ 50, 52, 54, 797, 797, 797, 797, 797, 797, 599, + /* 9620 */ 600, 56, 58, 797, 64, 65, 97, 98, 99, 105, + /* 9630 */ 106, 107, 124, 125, 127, 797, 823, 797, 856, 860, + /* 9640 */ 864, 603, 797, 797, 797, 797, 797, 797, 797, 722, + /* 9650 */ 797, 775, 792, 803, 797, 797, 797, 797, 797, 797, + /* 9660 */ 797, 797, 797, 797, 797, 797, 48, 50, 52, 54, + /* 9670 */ 797, 797, 797, 677, 797, 797, 797, 797, 56, 58, + /* 9680 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 9690 */ 125, 127, 797, 797, 797, 119, 97, 98, 99, 86, + /* 9700 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 9710 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 9720 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 9730 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 9740 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 9750 */ 797, 797, 797, 86, 774, 797, 797, 797, 797, 797, + /* 9760 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 702, + /* 9770 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 20, + /* 9780 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 9790 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 9800 */ 677, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9810 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9820 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 797, + /* 9830 */ 797, 797, 797, 797, 86, 797, 797, 797, 797, 797, + /* 9840 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 9850 */ 797, 797, 797, 797, 808, 797, 797, 797, 797, 797, + /* 9860 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 9870 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 9880 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 9890 */ 113, 63, 126, 119, 66, 84, 717, 797, 797, 797, + /* 9900 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 9910 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 9920 */ 60, 85, 96, 108, 109, 117, 16, 17, 797, 797, + /* 9930 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9940 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 9950 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 9960 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 9970 */ 797, 797, 797, 797, 797, 797, 797, 737, 797, 797, + /* 9980 */ 28, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 9990 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 119, + /* 10000 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 10010 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 10020 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10030 */ 439, 440, 20, 21, 26, 69, 70, 88, 101, 75, + /* 10040 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 10050 */ 109, 117, 119, 797, 797, 797, 797, 86, 797, 797, + /* 10060 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 10070 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 762, + /* 10080 */ 797, 797, 323, 20, 21, 26, 69, 70, 88, 101, + /* 10090 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 10100 */ 108, 109, 117, 797, 119, 797, 797, 797, 797, 797, + /* 10110 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 10120 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 10130 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 10140 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 10150 */ 60, 85, 96, 108, 109, 117, 797, 797, 797, 797, + /* 10160 */ 797, 797, 86, 797, 456, 797, 797, 797, 797, 797, + /* 10170 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 10180 */ 797, 797, 797, 797, 797, 797, 119, 797, 20, 21, + /* 10190 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 10200 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 10210 */ 797, 797, 797, 596, 797, 797, 797, 797, 797, 797, + /* 10220 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10230 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 10240 */ 797, 797, 797, 119, 86, 797, 797, 797, 797, 797, + /* 10250 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 10260 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10270 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 10280 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 10290 */ 797, 797, 797, 86, 797, 797, 408, 797, 119, 797, + /* 10300 */ 797, 86, 110, 113, 63, 126, 797, 66, 84, 797, + /* 10310 */ 110, 113, 63, 126, 797, 66, 84, 797, 119, 20, + /* 10320 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 10330 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 104, + /* 10340 */ 47, 60, 85, 96, 108, 109, 117, 532, 797, 797, + /* 10350 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 10360 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 119, + /* 10370 */ 66, 84, 797, 797, 797, 797, 86, 797, 797, 797, + /* 10380 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 10390 */ 66, 84, 79, 102, 112, 47, 60, 85, 96, 108, + /* 10400 */ 109, 117, 20, 21, 26, 69, 70, 88, 101, 75, + /* 10410 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 10420 */ 109, 117, 410, 797, 797, 797, 797, 86, 797, 797, + /* 10430 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 10440 */ 797, 66, 84, 797, 119, 797, 797, 797, 797, 797, + /* 10450 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 10460 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 10470 */ 108, 109, 117, 797, 797, 797, 797, 797, 797, 797, + /* 10480 */ 797, 454, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10490 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10500 */ 797, 797, 86, 119, 797, 797, 797, 797, 797, 797, + /* 10510 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 10520 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 10530 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 10540 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 10550 */ 797, 797, 412, 119, 797, 797, 797, 797, 797, 797, + /* 10560 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10570 */ 110, 113, 63, 126, 119, 66, 84, 797, 797, 797, + /* 10580 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 10590 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 10600 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 10610 */ 797, 86, 797, 797, 797, 568, 797, 797, 797, 797, + /* 10620 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 10630 */ 797, 797, 86, 797, 797, 797, 797, 119, 797, 797, + /* 10640 */ 797, 110, 113, 63, 126, 797, 66, 84, 81, 112, + /* 10650 */ 47, 60, 85, 96, 108, 109, 117, 797, 20, 21, + /* 10660 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 10670 */ 112, 47, 60, 85, 96, 108, 109, 117, 736, 797, + /* 10680 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10690 */ 797, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 10700 */ 119, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 10710 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10720 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 10730 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 10740 */ 117, 797, 797, 797, 797, 797, 797, 797, 797, 414, + /* 10750 */ 119, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 10760 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 10770 */ 126, 119, 66, 84, 797, 797, 797, 797, 797, 797, + /* 10780 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 10790 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 10800 */ 96, 108, 109, 117, 452, 797, 797, 797, 86, 797, + /* 10810 */ 797, 797, 728, 797, 797, 797, 797, 110, 113, 63, + /* 10820 */ 126, 797, 66, 84, 797, 797, 119, 797, 797, 86, + /* 10830 */ 797, 797, 797, 729, 797, 797, 797, 797, 110, 113, + /* 10840 */ 63, 126, 797, 66, 84, 182, 112, 47, 60, 85, + /* 10850 */ 96, 108, 109, 117, 797, 20, 21, 26, 69, 70, + /* 10860 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 10870 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 10880 */ 797, 797, 797, 416, 86, 797, 797, 797, 797, 797, + /* 10890 */ 797, 724, 797, 110, 113, 63, 126, 797, 66, 84, + /* 10900 */ 725, 726, 797, 797, 797, 119, 797, 797, 797, 806, + /* 10910 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 10920 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 10930 */ 450, 797, 797, 96, 797, 797, 797, 797, 728, 797, + /* 10940 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 10950 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 729, + /* 10960 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 10970 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 10980 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 10990 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 11000 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 11010 */ 86, 797, 797, 797, 797, 797, 797, 724, 797, 110, + /* 11020 */ 113, 63, 126, 119, 66, 84, 725, 726, 797, 797, + /* 11030 */ 797, 797, 797, 797, 797, 739, 20, 21, 26, 69, + /* 11040 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 11050 */ 60, 85, 96, 108, 109, 117, 834, 797, 797, 96, + /* 11060 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11070 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 11080 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11090 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 11100 */ 797, 797, 797, 797, 797, 797, 418, 25, 21, 26, + /* 11110 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 11120 */ 47, 60, 85, 96, 108, 109, 117, 797, 119, 797, + /* 11130 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 11140 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 11150 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11160 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 11170 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 11180 */ 109, 117, 165, 797, 797, 797, 86, 797, 797, 797, + /* 11190 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 11200 */ 66, 84, 797, 797, 119, 797, 797, 797, 797, 797, + /* 11210 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 11220 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 11230 */ 109, 117, 147, 148, 797, 797, 797, 797, 115, 131, + /* 11240 */ 1544, 150, 797, 797, 797, 797, 797, 797, 134, 138, + /* 11250 */ 123, 797, 797, 797, 797, 797, 797, 797, 115, 131, + /* 11260 */ 797, 797, 86, 797, 67, 797, 797, 797, 134, 138, + /* 11270 */ 123, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 11280 */ 797, 797, 797, 797, 67, 797, 797, 797, 20, 21, + /* 11290 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 11300 */ 112, 47, 60, 85, 96, 108, 109, 117, 448, 797, + /* 11310 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11320 */ 797, 797, 48, 50, 52, 54, 797, 797, 797, 797, + /* 11330 */ 119, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 11340 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 11350 */ 797, 797, 797, 797, 446, 797, 797, 64, 65, 97, + /* 11360 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 11370 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 11380 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 11390 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 11400 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 11410 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 11420 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 11430 */ 96, 108, 109, 117, 86, 420, 797, 797, 797, 797, + /* 11440 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 11450 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 11460 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 11470 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 11480 */ 797, 797, 797, 797, 797, 797, 797, 797, 753, 797, + /* 11490 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11500 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11510 */ 119, 797, 797, 797, 797, 86, 797, 797, 119, 797, + /* 11520 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 11530 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11540 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 11550 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 11560 */ 117, 797, 444, 797, 797, 797, 797, 797, 86, 797, + /* 11570 */ 797, 797, 797, 797, 797, 797, 86, 110, 113, 63, + /* 11580 */ 126, 797, 66, 84, 119, 110, 113, 63, 126, 797, + /* 11590 */ 66, 84, 797, 797, 20, 21, 26, 69, 70, 88, + /* 11600 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 11610 */ 96, 108, 109, 117, 178, 47, 60, 85, 96, 108, + /* 11620 */ 109, 117, 171, 797, 797, 797, 797, 797, 797, 797, + /* 11630 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11640 */ 797, 797, 86, 797, 119, 797, 797, 797, 797, 797, + /* 11650 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 11660 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 11670 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 11680 */ 112, 47, 60, 85, 96, 108, 109, 117, 347, 797, + /* 11690 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11700 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 11710 */ 119, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 11720 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 11730 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 11740 */ 112, 47, 60, 85, 96, 108, 109, 117, 115, 131, + /* 11750 */ 797, 797, 797, 797, 797, 797, 797, 797, 134, 138, + /* 11760 */ 123, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 11770 */ 119, 797, 797, 797, 67, 797, 797, 110, 113, 63, + /* 11780 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 11790 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 11800 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 11810 */ 96, 108, 109, 117, 422, 797, 678, 679, 797, 797, + /* 11820 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 11830 */ 797, 797, 48, 50, 52, 54, 119, 110, 113, 63, + /* 11840 */ 126, 797, 66, 84, 56, 58, 797, 64, 65, 97, + /* 11850 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 11860 */ 797, 797, 804, 797, 797, 797, 51, 47, 60, 85, + /* 11870 */ 96, 108, 109, 117, 797, 797, 797, 797, 797, 797, + /* 11880 */ 797, 797, 797, 797, 119, 797, 797, 797, 797, 797, + /* 11890 */ 797, 797, 797, 797, 86, 797, 797, 797, 797, 797, + /* 11900 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 11910 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 11920 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 11930 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 11940 */ 436, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 11950 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 11960 */ 797, 797, 119, 797, 797, 797, 797, 797, 20, 21, + /* 11970 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 11980 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 11990 */ 797, 797, 797, 797, 797, 797, 529, 797, 797, 797, + /* 12000 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12010 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 12020 */ 86, 797, 797, 797, 797, 797, 119, 797, 797, 110, + /* 12030 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 12040 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 12050 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 12060 */ 60, 85, 96, 108, 109, 117, 797, 424, 797, 797, + /* 12070 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 12080 */ 797, 797, 797, 797, 86, 110, 113, 63, 126, 119, + /* 12090 */ 66, 84, 797, 110, 113, 63, 126, 797, 66, 84, + /* 12100 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 12110 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 12120 */ 109, 117, 53, 47, 60, 85, 96, 108, 109, 117, + /* 12130 */ 548, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12140 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 12150 */ 797, 797, 119, 797, 797, 797, 110, 113, 63, 126, + /* 12160 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 12170 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 12180 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 12190 */ 108, 109, 117, 434, 797, 797, 797, 797, 797, 797, + /* 12200 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12210 */ 86, 797, 797, 797, 797, 119, 797, 797, 797, 110, + /* 12220 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 12230 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 12240 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 12250 */ 60, 85, 96, 108, 109, 117, 797, 797, 797, 797, + /* 12260 */ 797, 797, 797, 797, 432, 119, 797, 797, 797, 797, + /* 12270 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 12280 */ 797, 797, 110, 113, 63, 126, 119, 66, 84, 797, + /* 12290 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 12300 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 12310 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 187, + /* 12320 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 12330 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 12340 */ 797, 119, 797, 797, 86, 797, 797, 797, 797, 797, + /* 12350 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 12360 */ 44, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 12370 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 12380 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 12390 */ 797, 797, 797, 797, 797, 797, 797, 797, 773, 86, + /* 12400 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 12410 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 12420 */ 119, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 12430 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 12440 */ 85, 96, 108, 109, 117, 426, 797, 797, 797, 797, + /* 12450 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12460 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 12470 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 12480 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 12490 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 12500 */ 797, 797, 797, 728, 20, 21, 26, 69, 70, 88, + /* 12510 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 12520 */ 96, 108, 109, 117, 729, 86, 797, 797, 797, 797, + /* 12530 */ 797, 797, 797, 797, 110, 113, 63, 126, 119, 66, + /* 12540 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12550 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 12560 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 12570 */ 117, 787, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12580 */ 797, 797, 724, 797, 797, 797, 797, 797, 797, 797, + /* 12590 */ 797, 725, 726, 119, 797, 797, 86, 797, 797, 797, + /* 12600 */ 740, 797, 797, 748, 797, 110, 113, 63, 126, 797, + /* 12610 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12620 */ 797, 121, 797, 797, 96, 797, 30, 88, 101, 75, + /* 12630 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 12640 */ 109, 117, 797, 119, 797, 797, 797, 797, 797, 797, + /* 12650 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12660 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 12670 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 12680 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 12690 */ 47, 60, 85, 96, 108, 109, 117, 430, 797, 797, + /* 12700 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12710 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 119, + /* 12720 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 12730 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 12740 */ 47, 60, 85, 96, 108, 109, 117, 147, 148, 797, + /* 12750 */ 797, 797, 797, 115, 131, 1547, 150, 797, 797, 797, + /* 12760 */ 797, 797, 797, 134, 138, 123, 797, 727, 723, 797, + /* 12770 */ 797, 797, 797, 115, 798, 797, 150, 86, 797, 67, + /* 12780 */ 797, 797, 797, 134, 138, 797, 110, 113, 63, 126, + /* 12790 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 12800 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 12810 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 12820 */ 108, 109, 117, 428, 797, 797, 797, 722, 797, 797, + /* 12830 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 12840 */ 54, 797, 797, 797, 797, 119, 797, 797, 797, 56, + /* 12850 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 12860 */ 124, 125, 127, 797, 797, 797, 797, 797, 797, 527, + /* 12870 */ 797, 797, 797, 797, 97, 98, 99, 797, 797, 797, + /* 12880 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12890 */ 797, 119, 797, 797, 797, 797, 797, 797, 797, 797, + /* 12900 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 12910 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 12920 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 12930 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 12940 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 86, + /* 12950 */ 525, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 12960 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 12970 */ 797, 797, 119, 797, 797, 20, 21, 26, 69, 70, + /* 12980 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 12990 */ 85, 96, 108, 109, 117, 727, 723, 797, 797, 797, + /* 13000 */ 797, 115, 730, 570, 150, 797, 797, 797, 797, 797, + /* 13010 */ 797, 134, 138, 797, 797, 797, 797, 797, 797, 797, + /* 13020 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 13030 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 13040 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 13050 */ 797, 797, 797, 797, 797, 722, 20, 21, 26, 69, + /* 13060 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 13070 */ 60, 85, 96, 108, 109, 117, 797, 612, 797, 797, + /* 13080 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 13090 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 119, + /* 13100 */ 797, 797, 97, 98, 99, 797, 797, 797, 797, 20, + /* 13110 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 13120 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 13130 */ 797, 797, 797, 797, 797, 797, 797, 353, 797, 797, + /* 13140 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13150 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 119, + /* 13160 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 13170 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 13180 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 13190 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 13200 */ 108, 109, 117, 523, 797, 797, 797, 797, 797, 797, + /* 13210 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 13220 */ 797, 797, 797, 797, 797, 119, 110, 113, 63, 126, + /* 13230 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 13240 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 13250 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 13260 */ 108, 109, 117, 115, 131, 797, 797, 797, 797, 797, + /* 13270 */ 797, 797, 797, 134, 138, 123, 797, 797, 797, 797, + /* 13280 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 67, + /* 13290 */ 195, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 13300 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 13310 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 13320 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 196, + /* 13330 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13340 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 13350 */ 54, 119, 797, 797, 797, 797, 797, 797, 797, 56, + /* 13360 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 13370 */ 124, 125, 127, 727, 723, 797, 797, 614, 797, 115, + /* 13380 */ 781, 797, 150, 797, 797, 797, 797, 797, 797, 134, + /* 13390 */ 138, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 13400 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 86, + /* 13410 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 13420 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 13430 */ 797, 797, 797, 722, 797, 20, 21, 26, 69, 70, + /* 13440 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 13450 */ 85, 96, 108, 109, 117, 616, 797, 86, 797, 797, + /* 13460 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 13470 */ 797, 66, 84, 797, 797, 797, 797, 119, 797, 797, + /* 13480 */ 97, 98, 99, 20, 21, 26, 69, 70, 88, 101, + /* 13490 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 13500 */ 108, 109, 117, 797, 797, 797, 797, 797, 797, 797, + /* 13510 */ 797, 521, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13520 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13530 */ 797, 797, 797, 119, 797, 86, 797, 797, 797, 797, + /* 13540 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 13550 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13560 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 13570 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 13580 */ 117, 797, 618, 797, 797, 797, 797, 797, 797, 797, + /* 13590 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13600 */ 110, 113, 63, 126, 119, 66, 84, 797, 797, 797, + /* 13610 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 13620 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 13630 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 13640 */ 797, 797, 797, 797, 797, 572, 797, 797, 797, 797, + /* 13650 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13660 */ 797, 797, 86, 797, 797, 797, 797, 119, 797, 797, + /* 13670 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 13680 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 13690 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 13700 */ 112, 47, 60, 85, 96, 108, 109, 117, 620, 797, + /* 13710 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13720 */ 797, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 13730 */ 119, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 13740 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13750 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 13760 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 13770 */ 117, 797, 797, 797, 797, 797, 797, 797, 797, 560, + /* 13780 */ 119, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 13790 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 13800 */ 126, 119, 66, 84, 797, 797, 797, 797, 797, 797, + /* 13810 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 13820 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 13830 */ 96, 108, 109, 117, 543, 797, 797, 797, 86, 797, + /* 13840 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 13850 */ 126, 797, 66, 84, 797, 797, 119, 797, 797, 86, + /* 13860 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 13870 */ 63, 126, 797, 66, 84, 797, 55, 47, 60, 85, + /* 13880 */ 96, 108, 109, 117, 797, 20, 21, 26, 69, 70, + /* 13890 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 13900 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 13910 */ 797, 797, 797, 622, 86, 797, 797, 797, 797, 797, + /* 13920 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 13930 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 13940 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 13950 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 13960 */ 519, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13970 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 13980 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 797, + /* 13990 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 14000 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 14010 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 14020 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 14030 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 14040 */ 86, 797, 797, 797, 797, 797, 797, 797, 119, 110, + /* 14050 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 14060 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 14070 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 14080 */ 60, 85, 96, 108, 109, 117, 556, 797, 797, 797, + /* 14090 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14100 */ 797, 797, 797, 797, 797, 797, 86, 797, 119, 797, + /* 14110 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 14120 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14130 */ 797, 797, 797, 797, 797, 797, 624, 32, 101, 75, + /* 14140 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 14150 */ 109, 117, 797, 797, 797, 797, 797, 797, 119, 797, + /* 14160 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 14170 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 14180 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14190 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 14200 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 14210 */ 109, 117, 574, 797, 797, 797, 86, 797, 797, 797, + /* 14220 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 14230 */ 66, 84, 797, 797, 119, 797, 797, 797, 797, 797, + /* 14240 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 14250 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 14260 */ 109, 117, 386, 387, 797, 797, 797, 797, 115, 131, + /* 14270 */ 797, 150, 797, 797, 797, 797, 797, 797, 134, 138, + /* 14280 */ 123, 797, 727, 723, 797, 797, 797, 797, 115, 809, + /* 14290 */ 797, 150, 86, 797, 67, 797, 797, 797, 134, 138, + /* 14300 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 14310 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 14320 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 14330 */ 112, 47, 60, 85, 96, 108, 109, 117, 626, 797, + /* 14340 */ 797, 797, 722, 797, 797, 797, 797, 797, 797, 797, + /* 14350 */ 797, 797, 48, 50, 52, 54, 797, 797, 797, 797, + /* 14360 */ 119, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 14370 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 14380 */ 797, 797, 797, 797, 541, 797, 797, 797, 797, 97, + /* 14390 */ 98, 99, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14400 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 14410 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 14420 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 14430 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 14440 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 14450 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 14460 */ 96, 108, 109, 117, 86, 200, 797, 797, 797, 797, + /* 14470 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 14480 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 14490 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 14500 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 14510 */ 727, 723, 797, 797, 797, 797, 115, 758, 628, 150, + /* 14520 */ 797, 797, 797, 797, 797, 797, 134, 138, 797, 797, + /* 14530 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14540 */ 119, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 14550 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 14560 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14570 */ 722, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 14580 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 14590 */ 117, 797, 576, 797, 797, 797, 797, 797, 86, 797, + /* 14600 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 14610 */ 126, 797, 66, 84, 119, 797, 797, 97, 98, 99, + /* 14620 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 14630 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 14640 */ 96, 108, 109, 117, 797, 797, 797, 797, 797, 797, + /* 14650 */ 797, 797, 630, 797, 797, 797, 797, 797, 797, 797, + /* 14660 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14670 */ 797, 797, 86, 797, 119, 797, 797, 797, 797, 797, + /* 14680 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 14690 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 14700 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 14710 */ 112, 47, 60, 85, 96, 108, 109, 117, 129, 797, + /* 14720 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14730 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 14740 */ 119, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 14750 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 14760 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 14770 */ 112, 47, 60, 85, 96, 108, 109, 117, 115, 131, + /* 14780 */ 797, 797, 151, 797, 797, 797, 727, 723, 134, 138, + /* 14790 */ 123, 797, 115, 747, 797, 150, 797, 797, 86, 797, + /* 14800 */ 797, 797, 134, 138, 67, 797, 797, 110, 113, 63, + /* 14810 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 14820 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 14830 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 14840 */ 96, 108, 109, 117, 517, 797, 722, 797, 797, 797, + /* 14850 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14860 */ 797, 797, 48, 50, 52, 54, 119, 797, 797, 797, + /* 14870 */ 797, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 14880 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 14890 */ 797, 797, 312, 97, 98, 99, 797, 797, 797, 797, + /* 14900 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14910 */ 797, 797, 797, 797, 119, 797, 797, 797, 797, 797, + /* 14920 */ 797, 797, 797, 797, 86, 797, 797, 797, 797, 797, + /* 14930 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 14940 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 14950 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 14960 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 14970 */ 632, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 14980 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 14990 */ 797, 797, 119, 797, 797, 797, 797, 797, 20, 21, + /* 15000 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 15010 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 15020 */ 797, 797, 797, 797, 797, 797, 634, 797, 797, 797, + /* 15030 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15040 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 15050 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 15060 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 15070 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 15080 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 15090 */ 60, 85, 96, 108, 109, 117, 797, 578, 797, 797, + /* 15100 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 15110 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 119, + /* 15120 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15130 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 15140 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 15150 */ 109, 117, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15160 */ 636, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15170 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 15180 */ 797, 797, 119, 797, 797, 797, 110, 113, 63, 126, + /* 15190 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 15200 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 15210 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 15220 */ 108, 109, 117, 365, 797, 797, 797, 797, 797, 797, + /* 15230 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15240 */ 86, 797, 797, 797, 797, 119, 797, 797, 797, 110, + /* 15250 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 15260 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 15270 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 15280 */ 60, 85, 96, 108, 109, 117, 797, 797, 797, 797, + /* 15290 */ 797, 797, 797, 797, 193, 119, 797, 797, 797, 797, + /* 15300 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 15310 */ 797, 797, 110, 113, 63, 126, 119, 66, 84, 797, + /* 15320 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 15330 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 15340 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 638, + /* 15350 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 15360 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 15370 */ 797, 119, 797, 797, 86, 797, 797, 797, 797, 797, + /* 15380 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 15390 */ 797, 83, 47, 60, 85, 96, 108, 109, 117, 797, + /* 15400 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 15410 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 15420 */ 797, 797, 797, 797, 797, 797, 797, 797, 515, 86, + /* 15430 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 15440 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 15450 */ 119, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 15460 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 15470 */ 85, 96, 108, 109, 117, 640, 797, 797, 797, 797, + /* 15480 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15490 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 15500 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 15510 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 15520 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 15530 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 15540 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 15550 */ 96, 108, 109, 117, 797, 86, 797, 797, 797, 797, + /* 15560 */ 797, 797, 797, 119, 110, 113, 63, 126, 797, 66, + /* 15570 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15580 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 15590 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 15600 */ 117, 513, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15610 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15620 */ 797, 86, 797, 119, 797, 797, 797, 797, 797, 797, + /* 15630 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 15640 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15650 */ 797, 562, 72, 101, 75, 76, 77, 91, 102, 112, + /* 15660 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 15670 */ 797, 797, 797, 119, 797, 797, 797, 797, 797, 797, + /* 15680 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15690 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 15700 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 15710 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 15720 */ 47, 60, 85, 96, 108, 109, 117, 642, 797, 797, + /* 15730 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15740 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 119, + /* 15750 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 15760 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 15770 */ 47, 60, 85, 96, 108, 109, 117, 608, 609, 797, + /* 15780 */ 797, 797, 797, 115, 131, 797, 150, 797, 797, 797, + /* 15790 */ 797, 797, 797, 134, 138, 123, 797, 727, 723, 797, + /* 15800 */ 797, 797, 797, 115, 797, 797, 150, 86, 797, 67, + /* 15810 */ 797, 797, 797, 134, 138, 797, 110, 113, 63, 126, + /* 15820 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 15830 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 15840 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 15850 */ 108, 109, 117, 580, 797, 797, 797, 722, 797, 797, + /* 15860 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 15870 */ 54, 797, 797, 797, 797, 119, 797, 797, 797, 56, + /* 15880 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 15890 */ 124, 125, 127, 797, 797, 797, 797, 797, 797, 644, + /* 15900 */ 797, 797, 797, 797, 97, 98, 99, 797, 797, 797, + /* 15910 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15920 */ 797, 119, 797, 797, 797, 797, 797, 797, 797, 797, + /* 15930 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 15940 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 15950 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 15960 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 15970 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 86, + /* 15980 */ 369, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 15990 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 16000 */ 797, 797, 119, 797, 797, 20, 21, 26, 69, 70, + /* 16010 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 16020 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 16030 */ 797, 797, 797, 537, 797, 797, 797, 797, 797, 797, + /* 16040 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16050 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 16060 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 16070 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 16080 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 16090 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 16100 */ 60, 85, 96, 108, 109, 117, 797, 646, 797, 797, + /* 16110 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 16120 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 119, + /* 16130 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 16140 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 16150 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 16160 */ 797, 797, 797, 797, 797, 797, 797, 582, 797, 797, + /* 16170 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16180 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 119, + /* 16190 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 16200 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 16210 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 16220 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 16230 */ 108, 109, 117, 648, 797, 797, 797, 797, 797, 797, + /* 16240 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 16250 */ 797, 797, 797, 797, 797, 119, 110, 113, 63, 126, + /* 16260 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 16270 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 16280 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 16290 */ 108, 109, 117, 115, 131, 797, 797, 797, 797, 797, + /* 16300 */ 797, 797, 797, 134, 138, 123, 797, 797, 797, 797, + /* 16310 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 67, + /* 16320 */ 671, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 16330 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 16340 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 16350 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 511, + /* 16360 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16370 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 16380 */ 54, 119, 797, 797, 797, 797, 797, 797, 797, 56, + /* 16390 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 16400 */ 124, 125, 127, 797, 797, 797, 797, 650, 797, 797, + /* 16410 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16420 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 16430 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 86, + /* 16440 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 16450 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 16460 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 16470 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 16480 */ 85, 96, 108, 109, 117, 509, 797, 86, 797, 797, + /* 16490 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 16500 */ 797, 66, 84, 797, 797, 797, 797, 119, 797, 797, + /* 16510 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 16520 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 16530 */ 108, 109, 117, 797, 797, 797, 797, 797, 797, 797, + /* 16540 */ 797, 564, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16550 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16560 */ 797, 797, 797, 119, 797, 86, 797, 797, 797, 797, + /* 16570 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 16580 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16590 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 16600 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 16610 */ 117, 797, 652, 797, 797, 797, 797, 797, 797, 797, + /* 16620 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16630 */ 110, 113, 63, 126, 119, 66, 84, 797, 797, 797, + /* 16640 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 16650 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 16660 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 16670 */ 797, 797, 797, 797, 797, 373, 797, 797, 797, 797, + /* 16680 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16690 */ 797, 797, 86, 797, 797, 797, 797, 119, 797, 797, + /* 16700 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 16710 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 16720 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 16730 */ 112, 47, 60, 85, 96, 108, 109, 117, 132, 797, + /* 16740 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16750 */ 797, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 16760 */ 119, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 16770 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 16780 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 16790 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 16800 */ 117, 797, 797, 797, 797, 797, 797, 797, 797, 584, + /* 16810 */ 119, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 16820 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 16830 */ 126, 119, 66, 84, 797, 797, 797, 797, 797, 797, + /* 16840 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 16850 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 16860 */ 96, 108, 109, 117, 654, 797, 797, 797, 86, 797, + /* 16870 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 16880 */ 126, 797, 66, 84, 797, 797, 119, 797, 797, 86, + /* 16890 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 16900 */ 63, 126, 797, 66, 84, 797, 174, 47, 60, 85, + /* 16910 */ 96, 108, 109, 117, 797, 20, 21, 26, 69, 70, + /* 16920 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 16930 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 16940 */ 797, 797, 797, 507, 86, 797, 797, 797, 797, 797, + /* 16950 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 16960 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 16970 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 16980 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 16990 */ 505, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17000 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17010 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 797, + /* 17020 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 17030 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 17040 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 17050 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 17060 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 17070 */ 86, 797, 797, 797, 797, 797, 797, 797, 119, 110, + /* 17080 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 17090 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 17100 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 17110 */ 60, 85, 96, 108, 109, 117, 169, 797, 797, 797, + /* 17120 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17130 */ 797, 797, 797, 797, 797, 797, 86, 797, 119, 797, + /* 17140 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 17150 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17160 */ 797, 797, 797, 797, 797, 797, 377, 190, 101, 75, + /* 17170 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 17180 */ 109, 117, 797, 797, 797, 797, 797, 797, 119, 797, + /* 17190 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 17200 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 17210 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17220 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 17230 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 17240 */ 109, 117, 503, 797, 797, 797, 86, 797, 797, 797, + /* 17250 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 17260 */ 66, 84, 797, 797, 119, 797, 797, 797, 797, 797, + /* 17270 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 17280 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 17290 */ 109, 117, 602, 601, 797, 797, 797, 797, 115, 131, + /* 17300 */ 797, 150, 797, 797, 797, 797, 797, 797, 134, 138, + /* 17310 */ 123, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17320 */ 797, 797, 86, 797, 67, 797, 797, 797, 797, 797, + /* 17330 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 17340 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 17350 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 17360 */ 112, 47, 60, 85, 96, 108, 109, 117, 501, 797, + /* 17370 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17380 */ 797, 797, 48, 50, 52, 54, 797, 797, 797, 797, + /* 17390 */ 119, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 17400 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 17410 */ 797, 797, 797, 797, 381, 797, 797, 797, 797, 797, + /* 17420 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17430 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 17440 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 17450 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 17460 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 17470 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 17480 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 17490 */ 96, 108, 109, 117, 86, 586, 797, 797, 797, 797, + /* 17500 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 17510 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 17520 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 17530 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 17540 */ 797, 797, 797, 797, 797, 797, 797, 797, 499, 797, + /* 17550 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17560 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17570 */ 119, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 17580 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 17590 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17600 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 17610 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 17620 */ 117, 797, 497, 797, 797, 797, 797, 797, 86, 797, + /* 17630 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 17640 */ 126, 797, 66, 84, 119, 797, 797, 797, 797, 797, + /* 17650 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 17660 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 17670 */ 96, 108, 109, 117, 797, 797, 797, 797, 797, 797, + /* 17680 */ 797, 797, 495, 797, 797, 797, 797, 797, 797, 797, + /* 17690 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17700 */ 797, 797, 86, 797, 119, 797, 797, 797, 797, 797, + /* 17710 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 17720 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 17730 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 17740 */ 112, 47, 60, 85, 96, 108, 109, 117, 493, 797, + /* 17750 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17760 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 17770 */ 119, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 17780 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 17790 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 17800 */ 112, 47, 60, 85, 96, 108, 109, 117, 115, 131, + /* 17810 */ 797, 797, 797, 797, 797, 797, 797, 797, 134, 138, + /* 17820 */ 123, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 17830 */ 797, 797, 797, 797, 67, 542, 797, 110, 113, 63, + /* 17840 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 17850 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 17860 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 17870 */ 96, 108, 109, 117, 491, 797, 797, 797, 797, 797, + /* 17880 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17890 */ 797, 797, 48, 50, 52, 54, 119, 797, 797, 797, + /* 17900 */ 797, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 17910 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 17920 */ 797, 797, 489, 797, 797, 797, 797, 797, 797, 797, + /* 17930 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17940 */ 797, 797, 797, 797, 119, 797, 797, 797, 797, 797, + /* 17950 */ 797, 797, 797, 797, 86, 797, 797, 797, 797, 797, + /* 17960 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 17970 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 17980 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 17990 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 18000 */ 487, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 18010 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 18020 */ 797, 797, 119, 797, 797, 797, 797, 797, 20, 21, + /* 18030 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 18040 */ 112, 47, 60, 85, 96, 108, 109, 117, 797, 797, + /* 18050 */ 797, 797, 797, 797, 797, 797, 484, 797, 797, 797, + /* 18060 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18070 */ 797, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 18080 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 18090 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 18100 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 18110 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 18120 */ 60, 85, 96, 108, 109, 117, 797, 482, 797, 797, + /* 18130 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 18140 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 119, + /* 18150 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18160 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 18170 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 18180 */ 109, 117, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18190 */ 588, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18200 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 18210 */ 797, 797, 119, 797, 797, 797, 110, 113, 63, 126, + /* 18220 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 18230 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 18240 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 18250 */ 108, 109, 117, 685, 797, 797, 797, 797, 797, 797, + /* 18260 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18270 */ 86, 797, 797, 797, 797, 119, 797, 797, 797, 110, + /* 18280 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 18290 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 18300 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 18310 */ 60, 85, 96, 108, 109, 117, 797, 797, 797, 797, + /* 18320 */ 797, 797, 797, 797, 535, 119, 797, 797, 797, 797, + /* 18330 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 18340 */ 797, 797, 110, 113, 63, 126, 119, 66, 84, 797, + /* 18350 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 18360 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 18370 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 480, + /* 18380 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 18390 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 18400 */ 797, 119, 797, 797, 86, 797, 797, 797, 797, 797, + /* 18410 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 18420 */ 797, 46, 47, 60, 85, 96, 108, 109, 117, 797, + /* 18430 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 18440 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 18450 */ 797, 797, 797, 797, 797, 797, 797, 797, 478, 86, + /* 18460 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 18470 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 18480 */ 119, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 18490 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 18500 */ 85, 96, 108, 109, 117, 893, 797, 797, 797, 797, + /* 18510 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18520 */ 797, 797, 797, 797, 797, 797, 797, 119, 797, 797, + /* 18530 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 18540 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 18550 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 18560 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 18570 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 18580 */ 96, 108, 109, 117, 797, 86, 797, 797, 797, 797, + /* 18590 */ 797, 797, 797, 119, 110, 113, 63, 126, 797, 66, + /* 18600 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18610 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 18620 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 18630 */ 117, 476, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18640 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18650 */ 797, 86, 797, 119, 797, 797, 797, 797, 797, 797, + /* 18660 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 18670 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18680 */ 797, 474, 192, 101, 75, 76, 77, 91, 102, 112, + /* 18690 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 18700 */ 797, 797, 797, 119, 797, 797, 797, 797, 797, 797, + /* 18710 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18720 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 797, + /* 18730 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 18740 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 18750 */ 47, 60, 85, 96, 108, 109, 117, 472, 797, 797, + /* 18760 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18770 */ 110, 113, 63, 126, 797, 66, 84, 797, 797, 119, + /* 18780 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 18790 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 18800 */ 47, 60, 85, 96, 108, 109, 117, 554, 553, 797, + /* 18810 */ 797, 797, 797, 115, 131, 797, 150, 797, 797, 797, + /* 18820 */ 797, 797, 797, 134, 138, 123, 797, 797, 797, 797, + /* 18830 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 67, + /* 18840 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 18850 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 18860 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 18870 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 18880 */ 108, 109, 117, 470, 797, 797, 797, 797, 797, 797, + /* 18890 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 18900 */ 54, 797, 797, 797, 797, 119, 797, 797, 797, 56, + /* 18910 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 18920 */ 124, 125, 127, 797, 797, 797, 797, 797, 797, 396, + /* 18930 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18940 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18950 */ 797, 119, 797, 797, 797, 797, 797, 797, 797, 797, + /* 18960 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 18970 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 18980 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 18990 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 19000 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 86, + /* 19010 */ 468, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 19020 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 19030 */ 797, 797, 119, 797, 797, 20, 21, 26, 69, 70, + /* 19040 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 19050 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 19060 */ 797, 797, 797, 179, 797, 797, 797, 797, 797, 797, + /* 19070 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19080 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 19090 */ 86, 797, 797, 797, 797, 797, 797, 797, 797, 110, + /* 19100 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 19110 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 19120 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 19130 */ 60, 85, 96, 108, 109, 117, 797, 558, 797, 797, + /* 19140 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 19150 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 119, + /* 19160 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 19170 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 19180 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 19190 */ 797, 797, 797, 797, 797, 797, 797, 466, 797, 797, + /* 19200 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19210 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 119, + /* 19220 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 19230 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 19240 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 19250 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 19260 */ 108, 109, 117, 398, 797, 797, 797, 797, 797, 797, + /* 19270 */ 797, 797, 797, 797, 797, 797, 797, 86, 797, 797, + /* 19280 */ 797, 797, 797, 797, 797, 119, 110, 113, 63, 126, + /* 19290 */ 797, 66, 84, 797, 797, 797, 797, 797, 797, 797, + /* 19300 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 19310 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 19320 */ 108, 109, 117, 115, 131, 797, 797, 797, 797, 797, + /* 19330 */ 797, 797, 797, 134, 138, 123, 797, 797, 797, 797, + /* 19340 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 67, + /* 19350 */ 199, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 19360 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 19370 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 19380 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 464, + /* 19390 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19400 */ 797, 797, 797, 797, 797, 797, 797, 48, 50, 52, + /* 19410 */ 54, 119, 797, 797, 797, 797, 797, 797, 797, 56, + /* 19420 */ 58, 797, 64, 65, 97, 98, 99, 105, 106, 107, + /* 19430 */ 124, 125, 127, 797, 797, 797, 797, 590, 797, 797, + /* 19440 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19450 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 19460 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 86, + /* 19470 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 19480 */ 63, 126, 797, 66, 84, 797, 797, 797, 797, 797, + /* 19490 */ 797, 797, 797, 797, 797, 20, 21, 26, 69, 70, + /* 19500 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 19510 */ 85, 96, 108, 109, 117, 706, 797, 86, 797, 797, + /* 19520 */ 797, 797, 797, 797, 797, 797, 110, 113, 63, 126, + /* 19530 */ 797, 66, 84, 797, 797, 797, 797, 119, 797, 797, + /* 19540 */ 797, 797, 797, 20, 21, 26, 69, 70, 88, 101, + /* 19550 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 19560 */ 108, 109, 117, 797, 797, 797, 797, 797, 797, 797, + /* 19570 */ 797, 462, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19580 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19590 */ 797, 797, 797, 119, 797, 86, 797, 797, 797, 797, + /* 19600 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 19610 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19620 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 19630 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 19640 */ 117, 797, 400, 797, 797, 797, 797, 797, 797, 797, + /* 19650 */ 797, 86, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19660 */ 110, 113, 63, 126, 119, 66, 84, 797, 797, 797, + /* 19670 */ 797, 797, 797, 797, 797, 797, 797, 20, 21, 26, + /* 19680 */ 69, 70, 88, 101, 75, 76, 77, 91, 102, 112, + /* 19690 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 19700 */ 797, 797, 797, 797, 797, 566, 797, 797, 797, 797, + /* 19710 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19720 */ 797, 797, 86, 797, 797, 797, 797, 119, 797, 797, + /* 19730 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 19740 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 19750 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 19760 */ 112, 47, 60, 85, 96, 108, 109, 117, 460, 797, + /* 19770 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19780 */ 797, 797, 797, 797, 797, 86, 797, 797, 797, 797, + /* 19790 */ 119, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 19800 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 19810 */ 797, 20, 21, 26, 69, 70, 88, 101, 75, 76, + /* 19820 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 19830 */ 117, 797, 797, 797, 797, 797, 797, 797, 797, 592, + /* 19840 */ 119, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 19850 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 19860 */ 126, 119, 66, 84, 797, 797, 797, 797, 797, 797, + /* 19870 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 19880 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 19890 */ 96, 108, 109, 117, 714, 797, 797, 797, 86, 797, + /* 19900 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 19910 */ 126, 797, 66, 84, 797, 797, 119, 797, 797, 86, + /* 19920 */ 797, 797, 797, 797, 797, 797, 797, 797, 110, 113, + /* 19930 */ 63, 126, 797, 66, 84, 797, 176, 47, 60, 85, + /* 19940 */ 96, 108, 109, 117, 797, 20, 21, 26, 69, 70, + /* 19950 */ 88, 101, 75, 76, 77, 91, 102, 112, 47, 60, + /* 19960 */ 85, 96, 108, 109, 117, 797, 797, 797, 797, 797, + /* 19970 */ 797, 797, 797, 402, 86, 797, 797, 797, 797, 797, + /* 19980 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 19990 */ 797, 797, 797, 797, 797, 119, 797, 797, 797, 797, + /* 20000 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 20010 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 20020 */ 404, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20030 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20040 */ 797, 797, 119, 797, 797, 797, 797, 797, 797, 797, + /* 20050 */ 797, 797, 797, 86, 797, 797, 797, 797, 797, 797, + /* 20060 */ 797, 797, 110, 113, 63, 126, 797, 66, 84, 797, + /* 20070 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 20, + /* 20080 */ 21, 26, 69, 70, 88, 101, 75, 76, 77, 91, + /* 20090 */ 102, 112, 47, 60, 85, 96, 108, 109, 117, 797, + /* 20100 */ 86, 797, 797, 797, 797, 797, 797, 119, 797, 110, + /* 20110 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 20120 */ 797, 797, 797, 797, 797, 797, 20, 21, 26, 69, + /* 20130 */ 70, 88, 101, 75, 76, 77, 91, 102, 112, 47, + /* 20140 */ 60, 85, 96, 108, 109, 117, 458, 797, 797, 797, + /* 20150 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20160 */ 797, 797, 797, 797, 797, 86, 797, 797, 119, 797, + /* 20170 */ 797, 797, 797, 797, 110, 113, 63, 126, 797, 66, + /* 20180 */ 84, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20190 */ 797, 797, 797, 797, 797, 797, 594, 90, 75, 76, + /* 20200 */ 77, 91, 102, 112, 47, 60, 85, 96, 108, 109, + /* 20210 */ 117, 797, 797, 797, 797, 797, 797, 797, 119, 797, + /* 20220 */ 797, 797, 797, 797, 797, 797, 86, 797, 797, 797, + /* 20230 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 20240 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20250 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 20260 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 20270 */ 109, 117, 341, 797, 797, 797, 86, 797, 797, 797, + /* 20280 */ 797, 797, 797, 797, 797, 110, 113, 63, 126, 797, + /* 20290 */ 66, 84, 797, 797, 119, 797, 797, 797, 797, 797, + /* 20300 */ 797, 797, 20, 21, 26, 69, 70, 88, 101, 75, + /* 20310 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 20320 */ 109, 117, 162, 163, 797, 797, 797, 797, 115, 131, + /* 20330 */ 797, 150, 797, 797, 797, 797, 797, 797, 134, 138, + /* 20340 */ 123, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20350 */ 797, 797, 86, 797, 67, 797, 797, 797, 797, 797, + /* 20360 */ 797, 110, 113, 63, 126, 797, 66, 84, 797, 797, + /* 20370 */ 797, 797, 797, 797, 797, 797, 797, 797, 20, 21, + /* 20380 */ 26, 69, 70, 88, 101, 75, 76, 77, 91, 102, + /* 20390 */ 112, 47, 60, 85, 96, 108, 109, 117, 406, 797, + /* 20400 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20410 */ 797, 797, 48, 50, 52, 54, 797, 797, 797, 797, + /* 20420 */ 119, 797, 797, 797, 56, 58, 797, 64, 65, 97, + /* 20430 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 797, + /* 20440 */ 797, 797, 797, 797, 849, 797, 797, 797, 797, 797, + /* 20450 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20460 */ 797, 797, 797, 797, 797, 797, 119, 797, 797, 797, + /* 20470 */ 797, 797, 797, 797, 797, 797, 797, 797, 86, 797, + /* 20480 */ 797, 797, 797, 797, 797, 797, 797, 110, 113, 63, + /* 20490 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 20500 */ 797, 797, 797, 797, 20, 21, 26, 69, 70, 88, + /* 20510 */ 101, 75, 76, 77, 91, 102, 112, 47, 60, 85, + /* 20520 */ 96, 108, 109, 117, 86, 797, 797, 797, 797, 797, + /* 20530 */ 797, 797, 797, 110, 113, 63, 126, 797, 66, 84, + /* 20540 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20550 */ 20, 21, 26, 69, 70, 88, 101, 75, 76, 77, + /* 20560 */ 91, 102, 112, 47, 60, 85, 96, 108, 109, 117, + /* 20570 */ 825, 824, 797, 797, 797, 797, 115, 131, 797, 150, + /* 20580 */ 797, 797, 797, 797, 797, 797, 134, 138, 123, 797, + /* 20590 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20600 */ 797, 797, 67, 797, 797, 797, 442, 441, 797, 797, + /* 20610 */ 797, 797, 115, 131, 797, 150, 797, 797, 797, 797, + /* 20620 */ 797, 797, 134, 138, 123, 797, 797, 797, 797, 797, + /* 20630 */ 823, 797, 797, 797, 394, 393, 797, 797, 67, 797, + /* 20640 */ 115, 131, 797, 150, 797, 797, 797, 797, 797, 797, + /* 20650 */ 134, 138, 123, 797, 797, 797, 797, 797, 797, 797, + /* 20660 */ 48, 50, 52, 54, 797, 797, 67, 797, 797, 797, + /* 20670 */ 797, 797, 56, 58, 797, 64, 65, 97, 98, 99, + /* 20680 */ 105, 106, 107, 124, 125, 127, 728, 797, 797, 797, + /* 20690 */ 797, 797, 797, 797, 797, 797, 48, 50, 52, 54, + /* 20700 */ 797, 797, 797, 797, 797, 797, 797, 729, 56, 58, + /* 20710 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 20720 */ 125, 127, 797, 797, 48, 50, 52, 54, 797, 797, + /* 20730 */ 797, 797, 797, 797, 797, 797, 56, 58, 797, 64, + /* 20740 */ 65, 97, 98, 99, 105, 106, 107, 124, 125, 127, + /* 20750 */ 18, 19, 797, 797, 797, 797, 115, 131, 797, 150, + /* 20760 */ 797, 797, 797, 797, 797, 724, 134, 138, 123, 797, + /* 20770 */ 797, 797, 797, 797, 725, 726, 797, 797, 797, 797, + /* 20780 */ 797, 797, 67, 791, 797, 797, 358, 359, 815, 797, + /* 20790 */ 797, 797, 115, 131, 797, 150, 797, 797, 797, 797, + /* 20800 */ 797, 797, 134, 138, 123, 797, 797, 96, 797, 797, + /* 20810 */ 797, 797, 797, 797, 797, 797, 797, 797, 67, 797, + /* 20820 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20830 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 20840 */ 48, 50, 52, 54, 797, 797, 797, 797, 797, 797, + /* 20850 */ 797, 797, 56, 58, 797, 64, 65, 97, 98, 99, + /* 20860 */ 105, 106, 107, 124, 125, 127, 797, 797, 797, 797, + /* 20870 */ 797, 797, 797, 119, 797, 797, 48, 50, 52, 54, + /* 20880 */ 797, 797, 797, 797, 797, 797, 797, 797, 56, 58, + /* 20890 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 20900 */ 125, 127, 115, 131, 797, 797, 1556, 797, 797, 797, + /* 20910 */ 797, 797, 134, 138, 123, 797, 797, 797, 797, 797, + /* 20920 */ 797, 797, 797, 797, 797, 797, 797, 797, 67, 797, + /* 20930 */ 797, 86, 797, 797, 797, 797, 797, 797, 115, 131, + /* 20940 */ 110, 113, 63, 126, 797, 66, 84, 797, 134, 138, + /* 20950 */ 123, 797, 797, 797, 797, 797, 797, 797, 797, 119, + /* 20960 */ 797, 797, 797, 797, 67, 797, 40, 91, 102, 112, + /* 20970 */ 47, 60, 85, 96, 108, 109, 117, 797, 797, 797, + /* 20980 */ 797, 797, 797, 797, 797, 797, 48, 50, 52, 54, + /* 20990 */ 797, 797, 797, 797, 797, 797, 797, 797, 56, 58, + /* 21000 */ 797, 64, 65, 97, 98, 99, 105, 106, 107, 124, + /* 21010 */ 125, 127, 119, 797, 797, 797, 797, 86, 797, 797, + /* 21020 */ 119, 797, 48, 50, 52, 54, 110, 113, 63, 126, + /* 21030 */ 797, 66, 84, 797, 56, 58, 797, 64, 65, 97, + /* 21040 */ 98, 99, 105, 106, 107, 124, 125, 127, 797, 34, + /* 21050 */ 75, 76, 77, 91, 102, 112, 47, 60, 85, 96, + /* 21060 */ 108, 109, 117, 797, 797, 797, 797, 797, 119, 797, + /* 21070 */ 86, 797, 797, 797, 797, 797, 797, 797, 86, 110, + /* 21080 */ 113, 63, 126, 797, 66, 84, 797, 110, 113, 63, + /* 21090 */ 126, 797, 66, 84, 797, 797, 797, 797, 797, 797, + /* 21100 */ 797, 797, 186, 75, 76, 77, 91, 102, 112, 47, + /* 21110 */ 60, 85, 96, 108, 109, 117, 57, 47, 60, 85, + /* 21120 */ 96, 108, 109, 117, 119, 797, 86, 797, 797, 797, + /* 21130 */ 797, 797, 119, 797, 797, 110, 113, 63, 126, 797, + /* 21140 */ 66, 84, 797, 797, 797, 797, 797, 797, 797, 797, + /* 21150 */ 797, 797, 797, 797, 797, 797, 797, 728, 74, 75, + /* 21160 */ 76, 77, 91, 102, 112, 47, 60, 85, 96, 108, + /* 21170 */ 109, 117, 797, 797, 728, 797, 797, 728, 729, 797, + /* 21180 */ 797, 797, 86, 797, 797, 797, 797, 797, 797, 797, + /* 21190 */ 86, 110, 113, 63, 126, 729, 66, 84, 729, 110, + /* 21200 */ 113, 63, 126, 797, 66, 84, 797, 797, 797, 797, + /* 21210 */ 797, 797, 797, 797, 797, 797, 797, 728, 797, 797, + /* 21220 */ 49, 47, 60, 85, 96, 108, 109, 117, 95, 47, + /* 21230 */ 60, 85, 96, 108, 109, 117, 724, 728, 729, 797, + /* 21240 */ 797, 797, 797, 797, 797, 725, 726, 797, 797, 797, + /* 21250 */ 797, 797, 797, 724, 740, 797, 724, 759, 729, 797, + /* 21260 */ 797, 797, 725, 726, 797, 725, 726, 797, 797, 797, + /* 21270 */ 797, 791, 797, 797, 791, 797, 782, 797, 96, 810, + /* 21280 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 21290 */ 797, 797, 797, 797, 797, 96, 724, 797, 96, 797, + /* 21300 */ 797, 797, 797, 797, 797, 725, 726, 797, 797, 797, + /* 21310 */ 797, 797, 797, 797, 740, 797, 724, 764, 797, 797, + /* 21320 */ 797, 797, 797, 797, 797, 725, 726, 797, 797, 797, + /* 21330 */ 797, 797, 797, 797, 740, 797, 797, 731, 96, 797, + /* 21340 */ 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + /* 21350 */ 797, 797, 797, 797, 797, 797, 797, 797, 96, +}; +static YYCODETYPE yy_lookahead[] = { + /* 0 */ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 10 */ 130, 131, 132, 133, 13, 135, 136, 137, 138, 139, + /* 20 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 30 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 40 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 50 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 60 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 70 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 80 */ 200, 201, 202, 203, 204, 205, 206, 108, 109, 110, + /* 90 */ 111, 112, 34, 213, 65, 65, 66, 67, 218, 13, + /* 100 */ 220, 11, 222, 223, 224, 225, 16, 227, 228, 98, + /* 110 */ 99, 100, 101, 102, 103, 104, 87, 88, 89, 239, + /* 120 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 130 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 140 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 150 */ 132, 133, 211, 135, 136, 137, 138, 139, 140, 141, + /* 160 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 170 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 180 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 190 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 200 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 210 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 220 */ 202, 203, 204, 205, 206, 93, 94, 95, 96, 97, + /* 230 */ 66, 213, 207, 208, 209, 210, 218, 9, 220, 37, + /* 240 */ 222, 223, 224, 225, 11, 227, 228, 19, 20, 17, + /* 250 */ 18, 19, 20, 21, 22, 23, 92, 239, 240, 241, + /* 260 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 270 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 280 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 290 */ 9, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 300 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 310 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 320 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 330 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 340 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 350 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 360 */ 204, 205, 206, 83, 84, 85, 86, 31, 32, 213, + /* 370 */ 207, 208, 209, 210, 218, 1, 220, 11, 222, 223, + /* 380 */ 224, 225, 16, 227, 228, 208, 209, 210, 9, 10, + /* 390 */ 16, 110, 111, 112, 12, 239, 240, 241, 242, 243, + /* 400 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 410 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 420 */ 126, 127, 128, 129, 130, 131, 132, 133, 222, 135, + /* 430 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 440 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 450 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 460 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 470 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 480 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 490 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 500 */ 206, 11, 11, 11, 10, 11, 13, 213, 11, 16, + /* 510 */ 16, 13, 218, 16, 220, 11, 222, 223, 224, 225, + /* 520 */ 16, 227, 228, 29, 9, 10, 36, 36, 36, 9, + /* 530 */ 10, 9, 10, 239, 240, 241, 242, 243, 244, 245, + /* 540 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 550 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 560 */ 128, 129, 130, 131, 132, 133, 82, 135, 136, 137, + /* 570 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 580 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 590 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 600 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 610 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 620 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 630 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 11, + /* 640 */ 16, 11, 219, 11, 221, 213, 1, 12, 16, 14, + /* 650 */ 218, 13, 220, 29, 222, 223, 224, 225, 11, 227, + /* 660 */ 228, 16, 11, 16, 36, 11, 36, 16, 79, 80, + /* 670 */ 16, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 680 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 690 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 700 */ 130, 131, 132, 133, 9, 135, 136, 137, 138, 139, + /* 710 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 720 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 730 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 740 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 750 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 760 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 770 */ 200, 201, 202, 203, 204, 205, 206, 11, 11, 11, + /* 780 */ 11, 11, 11, 213, 16, 16, 16, 16, 218, 155, + /* 790 */ 220, 16, 222, 223, 224, 225, 12, 227, 228, 211, + /* 800 */ 9, 10, 36, 9, 10, 29, 11, 34, 12, 239, + /* 810 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 820 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 830 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 840 */ 132, 133, 37, 135, 136, 137, 138, 139, 140, 141, + /* 850 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 860 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 870 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 880 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 890 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 900 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 910 */ 202, 203, 204, 205, 206, 16, 222, 13, 34, 12, + /* 920 */ 222, 213, 13, 13, 36, 12, 218, 37, 220, 34, + /* 930 */ 222, 223, 224, 225, 222, 227, 228, 13, 37, 12, + /* 940 */ 11, 36, 12, 90, 13, 13, 34, 239, 240, 241, + /* 950 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 960 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 970 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 980 */ 11, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 990 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 1000 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 1010 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 1020 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 1030 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 1040 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 1050 */ 204, 205, 206, 36, 26, 12, 222, 67, 13, 213, + /* 1060 */ 13, 12, 211, 37, 218, 9, 220, 12, 222, 223, + /* 1070 */ 224, 225, 37, 227, 228, 208, 9, 37, 34, 16, + /* 1080 */ 16, 13, 36, 14, 12, 239, 240, 241, 242, 243, + /* 1090 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 1100 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 1110 */ 126, 127, 128, 129, 130, 131, 132, 133, 16, 135, + /* 1120 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 1130 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 1140 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 1150 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 1160 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 1170 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 1180 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 1190 */ 206, 16, 16, 16, 9, 222, 16, 213, 16, 16, + /* 1200 */ 12, 9, 218, 16, 220, 14, 222, 223, 224, 225, + /* 1210 */ 16, 227, 228, 16, 16, 37, 14, 1, 34, 16, + /* 1220 */ 16, 13, 11, 239, 240, 241, 242, 243, 244, 245, + /* 1230 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 1240 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 1250 */ 128, 129, 130, 131, 132, 133, 16, 135, 136, 137, + /* 1260 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 1270 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 1280 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 1290 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 1300 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 1310 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 1320 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 11, + /* 1330 */ 16, 16, 37, 13, 34, 213, 10, 10, 37, 16, + /* 1340 */ 218, 0, 220, 36, 222, 223, 224, 225, 16, 227, + /* 1350 */ 228, 12, 16, 36, 16, 34, 13, 81, 16, 13, + /* 1360 */ 16, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 1370 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 1380 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 1390 */ 130, 131, 132, 133, 12, 135, 136, 137, 138, 139, + /* 1400 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 1410 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 1420 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 1430 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 1440 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 1450 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 1460 */ 200, 201, 202, 203, 204, 205, 206, 36, 16, 37, + /* 1470 */ 11, 16, 36, 213, 16, 10, 16, 16, 218, 16, + /* 1480 */ 220, 34, 222, 223, 224, 225, 16, 227, 228, 16, + /* 1490 */ 36, 16, 10, 37, 16, 11, 11, 16, 10, 239, + /* 1500 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 1510 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 1520 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 1530 */ 132, 133, 13, 135, 136, 137, 138, 139, 140, 141, + /* 1540 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 1550 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 1560 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 1570 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 1580 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 1590 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 1600 */ 202, 203, 204, 205, 206, 12, 91, 13, 13, 11, + /* 1610 */ 13, 213, 12, 37, 13, 12, 218, 13, 220, 12, + /* 1620 */ 222, 223, 224, 225, 107, 227, 228, 12, 9, 13, + /* 1630 */ 12, 11, 11, 37, 10, 3, 37, 239, 240, 241, + /* 1640 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 1650 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 1660 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 1670 */ 11, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 1680 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 1690 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 1700 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 1710 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 1720 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 1730 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 1740 */ 204, 205, 206, 34, 16, 13, 11, 11, 11, 213, + /* 1750 */ 12, 3, 11, 13, 218, 16, 220, 11, 222, 223, + /* 1760 */ 224, 225, 37, 227, 228, 9, 11, 10, 9, 3, + /* 1770 */ 37, 9, 11, 13, 16, 239, 240, 241, 242, 243, + /* 1780 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 1790 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 1800 */ 126, 127, 128, 129, 130, 131, 132, 133, 9, 135, + /* 1810 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 1820 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 1830 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 1840 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 1850 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 1860 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 1870 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 1880 */ 206, 9, 11, 37, 36, 12, 12, 213, 13, 34, + /* 1890 */ 10, 12, 218, 11, 220, 9, 222, 223, 224, 225, + /* 1900 */ 222, 227, 228, 13, 10, 12, 11, 10, 16, 13, + /* 1910 */ 34, 12, 12, 239, 240, 241, 242, 243, 244, 245, + /* 1920 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 1930 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 1940 */ 128, 129, 130, 131, 132, 133, 13, 135, 136, 137, + /* 1950 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 1960 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 1970 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 1980 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 1990 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 2000 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 2010 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 37, + /* 2020 */ 29, 11, 37, 12, 266, 213, 266, 266, 266, 266, + /* 2030 */ 218, 266, 220, 266, 222, 223, 224, 225, 266, 227, + /* 2040 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 2050 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 2060 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 2070 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 2080 */ 130, 131, 132, 133, 266, 135, 136, 137, 138, 139, + /* 2090 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 2100 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 2110 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 2120 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 2130 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 2140 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 2150 */ 200, 201, 202, 203, 204, 205, 206, 266, 266, 266, + /* 2160 */ 266, 266, 266, 213, 266, 266, 266, 266, 218, 266, + /* 2170 */ 220, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 2180 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 2190 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 2200 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 2210 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 2220 */ 132, 133, 266, 135, 136, 137, 138, 139, 140, 141, + /* 2230 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 2240 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 2250 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 2260 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 2270 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 2280 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 2290 */ 202, 203, 204, 205, 206, 266, 266, 266, 266, 266, + /* 2300 */ 266, 213, 266, 266, 266, 266, 218, 266, 220, 266, + /* 2310 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 2320 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 2330 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 2340 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 2350 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 2360 */ 266, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 2370 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 2380 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 2390 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 2400 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 2410 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 2420 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 2430 */ 204, 205, 206, 266, 266, 266, 266, 266, 266, 213, + /* 2440 */ 266, 266, 266, 266, 218, 266, 220, 266, 222, 223, + /* 2450 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 2460 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 2470 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 2480 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 2490 */ 126, 127, 128, 129, 130, 131, 132, 133, 266, 135, + /* 2500 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 2510 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 2520 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 2530 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 2540 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 2550 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 2560 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 2570 */ 206, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 2580 */ 266, 266, 218, 266, 220, 266, 222, 223, 224, 225, + /* 2590 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 2600 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 2610 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 2620 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 2630 */ 128, 129, 130, 131, 132, 133, 266, 135, 136, 137, + /* 2640 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 2650 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 2660 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 2670 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 2680 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 2690 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 2700 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 266, + /* 2710 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 2720 */ 218, 266, 220, 266, 222, 223, 224, 225, 266, 227, + /* 2730 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 2740 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 2750 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 2760 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 2770 */ 130, 131, 132, 133, 266, 135, 136, 137, 138, 139, + /* 2780 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 2790 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 2800 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 2810 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 2820 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 2830 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 2840 */ 200, 201, 202, 203, 204, 205, 206, 266, 266, 266, + /* 2850 */ 266, 266, 266, 213, 266, 266, 266, 266, 218, 266, + /* 2860 */ 220, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 2870 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 2880 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 2890 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 2900 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 2910 */ 132, 133, 266, 135, 136, 137, 138, 139, 140, 141, + /* 2920 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 2930 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 2940 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 2950 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 2960 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 2970 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 2980 */ 202, 203, 204, 205, 206, 266, 266, 266, 266, 266, + /* 2990 */ 266, 213, 266, 266, 266, 266, 218, 266, 220, 266, + /* 3000 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 3010 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 3020 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 3030 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 3040 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 3050 */ 266, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 3060 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 3070 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 3080 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 3090 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 3100 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 3110 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 3120 */ 204, 205, 206, 266, 266, 266, 266, 266, 266, 213, + /* 3130 */ 266, 266, 266, 266, 218, 266, 220, 266, 222, 223, + /* 3140 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 3150 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 3160 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 3170 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 3180 */ 126, 127, 128, 129, 130, 131, 132, 133, 266, 135, + /* 3190 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 3200 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 3210 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 3220 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 3230 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 3240 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 3250 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 3260 */ 206, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 3270 */ 266, 266, 218, 266, 220, 266, 222, 223, 224, 225, + /* 3280 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 3290 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 3300 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 3310 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 3320 */ 128, 129, 130, 131, 132, 133, 266, 135, 136, 137, + /* 3330 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 3340 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 3350 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 3360 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 3370 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 3380 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 3390 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 266, + /* 3400 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 3410 */ 218, 266, 220, 266, 222, 223, 224, 225, 266, 227, + /* 3420 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 3430 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 3440 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 3450 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 3460 */ 130, 131, 132, 133, 266, 135, 136, 137, 138, 139, + /* 3470 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 3480 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 3490 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 3500 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 3510 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 3520 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 3530 */ 200, 201, 202, 203, 204, 205, 206, 266, 266, 266, + /* 3540 */ 266, 266, 266, 213, 266, 266, 266, 266, 218, 266, + /* 3550 */ 220, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 3560 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 3570 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 3580 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 3590 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 3600 */ 132, 133, 266, 135, 136, 137, 138, 139, 140, 141, + /* 3610 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 3620 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 3630 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 3640 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 3650 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 3660 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 3670 */ 202, 203, 204, 205, 206, 266, 266, 266, 266, 266, + /* 3680 */ 266, 213, 266, 266, 266, 266, 218, 266, 220, 266, + /* 3690 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 3700 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 3710 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 3720 */ 252, 253, 254, 255, 256, 257, 258, 121, 122, 123, + /* 3730 */ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + /* 3740 */ 266, 135, 136, 137, 138, 139, 140, 141, 142, 143, + /* 3750 */ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + /* 3760 */ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + /* 3770 */ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + /* 3780 */ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + /* 3790 */ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + /* 3800 */ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 3810 */ 204, 205, 206, 266, 266, 266, 266, 266, 266, 213, + /* 3820 */ 266, 266, 266, 266, 218, 266, 220, 266, 222, 223, + /* 3830 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 3840 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 3850 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 3860 */ 254, 255, 256, 257, 258, 121, 122, 123, 124, 125, + /* 3870 */ 126, 127, 128, 129, 130, 131, 132, 133, 266, 135, + /* 3880 */ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + /* 3890 */ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + /* 3900 */ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + /* 3910 */ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + /* 3920 */ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + /* 3930 */ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + /* 3940 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 3950 */ 206, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 3960 */ 266, 266, 218, 266, 220, 266, 222, 223, 224, 225, + /* 3970 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 3980 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 3990 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 4000 */ 256, 257, 258, 121, 122, 123, 124, 125, 126, 127, + /* 4010 */ 128, 129, 130, 131, 132, 133, 266, 135, 136, 137, + /* 4020 */ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + /* 4030 */ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + /* 4040 */ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + /* 4050 */ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + /* 4060 */ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + /* 4070 */ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + /* 4080 */ 198, 199, 200, 201, 202, 203, 204, 205, 206, 266, + /* 4090 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 4100 */ 218, 266, 220, 266, 222, 223, 224, 225, 266, 227, + /* 4110 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 4120 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 4130 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 4140 */ 258, 121, 122, 123, 124, 125, 126, 127, 128, 129, + /* 4150 */ 130, 131, 132, 133, 266, 135, 136, 137, 138, 139, + /* 4160 */ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + /* 4170 */ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + /* 4180 */ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + /* 4190 */ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + /* 4200 */ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + /* 4210 */ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + /* 4220 */ 200, 201, 202, 203, 204, 205, 206, 266, 266, 266, + /* 4230 */ 266, 266, 266, 213, 266, 266, 266, 266, 218, 266, + /* 4240 */ 220, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 4250 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 4260 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 4270 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 121, + /* 4280 */ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + /* 4290 */ 132, 133, 266, 135, 136, 137, 138, 139, 140, 141, + /* 4300 */ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + /* 4310 */ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + /* 4320 */ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + /* 4330 */ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + /* 4340 */ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* 4350 */ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + /* 4360 */ 202, 203, 204, 205, 206, 266, 266, 266, 266, 266, + /* 4370 */ 266, 213, 266, 266, 266, 266, 218, 266, 220, 266, + /* 4380 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 4390 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 4400 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 4410 */ 252, 253, 254, 255, 256, 257, 258, 122, 266, 124, + /* 4420 */ 125, 126, 127, 128, 129, 130, 131, 132, 133, 9, + /* 4430 */ 266, 11, 266, 266, 266, 9, 266, 17, 18, 19, + /* 4440 */ 20, 21, 22, 23, 18, 19, 20, 21, 22, 266, + /* 4450 */ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + /* 4460 */ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + /* 4470 */ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + /* 4480 */ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + /* 4490 */ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + /* 4500 */ 205, 206, 9, 266, 266, 266, 211, 266, 213, 266, + /* 4510 */ 215, 266, 266, 266, 266, 213, 266, 222, 223, 224, + /* 4520 */ 225, 266, 227, 228, 222, 223, 224, 266, 226, 227, + /* 4530 */ 228, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 4540 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 4550 */ 255, 256, 257, 258, 9, 266, 11, 255, 65, 66, + /* 4560 */ 67, 266, 17, 18, 19, 20, 21, 22, 23, 266, + /* 4570 */ 266, 266, 266, 122, 266, 124, 125, 126, 127, 128, + /* 4580 */ 129, 130, 131, 132, 133, 0, 1, 266, 266, 266, + /* 4590 */ 266, 266, 266, 266, 266, 266, 11, 266, 13, 266, + /* 4600 */ 266, 16, 266, 110, 111, 112, 155, 156, 157, 158, + /* 4610 */ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + /* 4620 */ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + /* 4630 */ 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + /* 4640 */ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + /* 4650 */ 199, 200, 201, 202, 203, 204, 205, 206, 266, 266, + /* 4660 */ 266, 266, 266, 266, 213, 266, 266, 216, 266, 266, + /* 4670 */ 266, 266, 213, 222, 223, 224, 225, 266, 227, 228, + /* 4680 */ 266, 222, 223, 266, 266, 266, 266, 266, 266, 230, + /* 4690 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 4700 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 4710 */ 3, 4, 0, 1, 255, 266, 9, 266, 266, 12, + /* 4720 */ 266, 266, 266, 11, 266, 13, 19, 20, 16, 122, + /* 4730 */ 266, 124, 125, 126, 127, 128, 129, 130, 131, 132, + /* 4740 */ 133, 266, 266, 266, 266, 266, 266, 266, 36, 266, + /* 4750 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 4760 */ 266, 266, 155, 156, 157, 158, 159, 160, 161, 162, + /* 4770 */ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + /* 4780 */ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + /* 4790 */ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + /* 4800 */ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + /* 4810 */ 203, 204, 205, 206, 266, 266, 266, 110, 111, 112, + /* 4820 */ 213, 266, 266, 266, 217, 266, 266, 213, 213, 222, + /* 4830 */ 223, 224, 225, 266, 227, 228, 222, 223, 266, 224, + /* 4840 */ 266, 266, 266, 266, 230, 266, 239, 240, 241, 242, + /* 4850 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 4860 */ 253, 254, 255, 256, 257, 258, 3, 4, 213, 255, + /* 4870 */ 255, 266, 9, 266, 266, 12, 266, 222, 223, 266, + /* 4880 */ 266, 266, 19, 20, 266, 122, 266, 124, 125, 126, + /* 4890 */ 127, 128, 129, 130, 131, 132, 133, 266, 266, 266, + /* 4900 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 4910 */ 255, 266, 266, 266, 266, 266, 266, 266, 155, 156, + /* 4920 */ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + /* 4930 */ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + /* 4940 */ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + /* 4950 */ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + /* 4960 */ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + /* 4970 */ 266, 266, 266, 110, 111, 112, 213, 266, 266, 266, + /* 4980 */ 266, 266, 266, 213, 266, 222, 223, 224, 225, 266, + /* 4990 */ 227, 228, 222, 223, 266, 266, 266, 266, 266, 266, + /* 5000 */ 230, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 5010 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 5020 */ 257, 258, 4, 213, 266, 255, 266, 9, 266, 266, + /* 5030 */ 12, 266, 222, 223, 266, 266, 266, 19, 20, 266, + /* 5040 */ 230, 122, 266, 124, 125, 126, 127, 128, 129, 130, + /* 5050 */ 131, 132, 133, 266, 266, 266, 266, 266, 266, 266, + /* 5060 */ 266, 266, 266, 266, 266, 255, 266, 266, 266, 266, + /* 5070 */ 266, 266, 266, 266, 155, 156, 157, 158, 159, 160, + /* 5080 */ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + /* 5090 */ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + /* 5100 */ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, + /* 5110 */ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + /* 5120 */ 201, 202, 203, 204, 205, 206, 266, 266, 110, 111, + /* 5130 */ 112, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 5140 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 5150 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 5160 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 5170 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 5180 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 5190 */ 266, 266, 266, 266, 266, 266, 266, 122, 266, 124, + /* 5200 */ 125, 126, 127, 128, 129, 130, 131, 132, 133, 266, + /* 5210 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 5220 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 5230 */ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + /* 5240 */ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + /* 5250 */ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + /* 5260 */ 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + /* 5270 */ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + /* 5280 */ 205, 206, 266, 266, 266, 266, 266, 266, 213, 266, + /* 5290 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 5300 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 5310 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 5320 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 5330 */ 255, 256, 257, 258, 1, 2, 3, 4, 5, 6, + /* 5340 */ 7, 8, 9, 10, 266, 266, 266, 266, 15, 266, + /* 5350 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + /* 5360 */ 27, 28, 266, 30, 266, 34, 33, 36, 35, 38, + /* 5370 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + /* 5380 */ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + /* 5390 */ 266, 266, 266, 266, 266, 62, 266, 64, 266, 266, + /* 5400 */ 266, 68, 69, 70, 71, 72, 73, 74, 75, 76, + /* 5410 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 5420 */ 266, 266, 266, 266, 266, 266, 93, 94, 95, 96, + /* 5430 */ 266, 266, 266, 266, 266, 266, 266, 266, 105, 106, + /* 5440 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 5450 */ 117, 118, 2, 3, 4, 5, 6, 7, 8, 9, + /* 5460 */ 10, 266, 266, 266, 266, 15, 266, 17, 18, 19, + /* 5470 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 266, + /* 5480 */ 30, 266, 34, 33, 36, 35, 38, 39, 40, 41, + /* 5490 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 5500 */ 52, 53, 54, 55, 56, 57, 58, 266, 266, 266, + /* 5510 */ 266, 266, 62, 266, 64, 266, 266, 266, 68, 69, + /* 5520 */ 70, 71, 72, 73, 74, 75, 76, 266, 266, 266, + /* 5530 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 5540 */ 266, 266, 266, 93, 94, 95, 96, 266, 266, 266, + /* 5550 */ 266, 266, 266, 266, 266, 105, 106, 266, 108, 109, + /* 5560 */ 110, 111, 112, 113, 114, 115, 116, 117, 118, 2, + /* 5570 */ 3, 4, 5, 6, 7, 266, 9, 10, 266, 266, + /* 5580 */ 266, 266, 266, 266, 17, 18, 19, 20, 21, 22, + /* 5590 */ 23, 266, 266, 266, 27, 266, 266, 266, 266, 34, + /* 5600 */ 33, 36, 35, 38, 39, 40, 41, 42, 43, 44, + /* 5610 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + /* 5620 */ 55, 56, 57, 58, 266, 266, 266, 266, 266, 62, + /* 5630 */ 134, 64, 266, 266, 266, 68, 69, 70, 71, 72, + /* 5640 */ 73, 74, 75, 76, 266, 266, 266, 266, 266, 266, + /* 5650 */ 266, 155, 266, 134, 266, 266, 266, 266, 266, 266, + /* 5660 */ 93, 94, 95, 96, 266, 266, 266, 266, 266, 266, + /* 5670 */ 155, 266, 105, 106, 155, 108, 109, 110, 111, 112, + /* 5680 */ 113, 114, 115, 116, 117, 118, 2, 3, 4, 5, + /* 5690 */ 6, 7, 266, 9, 10, 266, 266, 266, 266, 266, + /* 5700 */ 266, 17, 18, 19, 20, 21, 22, 23, 266, 213, + /* 5710 */ 214, 27, 266, 266, 266, 3, 4, 33, 222, 35, + /* 5720 */ 266, 9, 266, 133, 134, 266, 266, 266, 213, 266, + /* 5730 */ 266, 266, 213, 214, 266, 266, 266, 222, 223, 224, + /* 5740 */ 225, 222, 227, 228, 266, 155, 62, 35, 64, 266, + /* 5750 */ 266, 255, 68, 69, 70, 71, 72, 73, 74, 75, + /* 5760 */ 76, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 5770 */ 255, 256, 257, 258, 255, 63, 266, 93, 94, 95, + /* 5780 */ 96, 266, 266, 266, 266, 266, 266, 266, 134, 105, + /* 5790 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 5800 */ 116, 117, 118, 213, 266, 266, 133, 134, 266, 155, + /* 5810 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 5820 */ 108, 109, 110, 111, 112, 266, 266, 266, 155, 239, + /* 5830 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 5840 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + /* 5850 */ 260, 261, 266, 266, 266, 266, 266, 133, 134, 266, + /* 5860 */ 266, 266, 266, 266, 266, 266, 266, 213, 214, 266, + /* 5870 */ 266, 266, 266, 266, 266, 266, 222, 266, 266, 155, + /* 5880 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 5890 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 5900 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 255, + /* 5910 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 5920 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 5930 */ 257, 258, 259, 260, 261, 133, 155, 213, 266, 266, + /* 5940 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 5950 */ 266, 227, 228, 266, 266, 266, 266, 155, 266, 266, + /* 5960 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 5970 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 5980 */ 256, 257, 258, 259, 260, 261, 266, 266, 266, 266, + /* 5990 */ 266, 133, 266, 266, 213, 266, 266, 266, 266, 266, + /* 6000 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 6010 */ 266, 266, 266, 155, 266, 213, 266, 266, 266, 266, + /* 6020 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 6030 */ 228, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 6040 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 6050 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 6060 */ 258, 266, 133, 134, 262, 263, 264, 266, 266, 266, + /* 6070 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6080 */ 222, 223, 224, 225, 155, 227, 228, 266, 266, 266, + /* 6090 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 6100 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 6110 */ 252, 253, 254, 255, 256, 257, 258, 133, 134, 266, + /* 6120 */ 262, 263, 264, 266, 266, 266, 266, 266, 266, 266, + /* 6130 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 6140 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 6150 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 6160 */ 266, 266, 266, 266, 266, 266, 266, 134, 239, 240, + /* 6170 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 6180 */ 251, 252, 253, 254, 255, 256, 257, 258, 155, 260, + /* 6190 */ 261, 133, 134, 266, 266, 266, 266, 213, 266, 266, + /* 6200 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 6210 */ 266, 227, 228, 155, 266, 266, 266, 266, 266, 266, + /* 6220 */ 266, 266, 238, 239, 240, 241, 242, 243, 244, 245, + /* 6230 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 6240 */ 256, 257, 258, 133, 134, 266, 213, 266, 266, 266, + /* 6250 */ 266, 266, 266, 266, 266, 222, 223, 266, 266, 266, + /* 6260 */ 266, 266, 266, 266, 231, 155, 266, 266, 266, 236, + /* 6270 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6280 */ 222, 223, 224, 225, 266, 227, 228, 266, 255, 266, + /* 6290 */ 266, 266, 266, 266, 266, 266, 238, 239, 240, 241, + /* 6300 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 6310 */ 252, 253, 254, 255, 256, 257, 258, 133, 134, 266, + /* 6320 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 6330 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 155, + /* 6340 */ 266, 266, 266, 266, 266, 266, 266, 266, 238, 239, + /* 6350 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 6360 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 6370 */ 134, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6380 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6390 */ 266, 155, 266, 266, 266, 266, 266, 213, 266, 266, + /* 6400 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 6410 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 6420 */ 266, 266, 238, 239, 240, 241, 242, 243, 244, 245, + /* 6430 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 6440 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 213, + /* 6450 */ 266, 134, 266, 266, 266, 266, 266, 266, 222, 223, + /* 6460 */ 224, 225, 266, 227, 228, 155, 266, 266, 266, 266, + /* 6470 */ 266, 266, 155, 266, 238, 239, 240, 241, 242, 243, + /* 6480 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 6490 */ 254, 255, 256, 257, 258, 133, 134, 266, 266, 266, + /* 6500 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6510 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 6520 */ 266, 211, 212, 213, 266, 266, 266, 266, 266, 266, + /* 6530 */ 213, 266, 222, 223, 224, 225, 266, 227, 228, 222, + /* 6540 */ 223, 266, 266, 266, 266, 266, 266, 266, 231, 239, + /* 6550 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 6560 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 6570 */ 134, 266, 255, 266, 266, 213, 266, 134, 266, 266, + /* 6580 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 6590 */ 228, 155, 266, 266, 266, 266, 266, 266, 155, 266, + /* 6600 */ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 6610 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 6620 */ 258, 266, 133, 134, 266, 266, 266, 266, 266, 266, + /* 6630 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6640 */ 266, 266, 266, 266, 155, 266, 266, 266, 266, 213, + /* 6650 */ 266, 266, 266, 266, 266, 266, 213, 266, 222, 223, + /* 6660 */ 224, 225, 266, 227, 228, 222, 223, 266, 266, 266, + /* 6670 */ 266, 266, 266, 266, 231, 239, 240, 241, 242, 243, + /* 6680 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 6690 */ 254, 255, 256, 257, 258, 266, 133, 134, 255, 266, + /* 6700 */ 266, 265, 213, 266, 266, 266, 266, 266, 266, 266, + /* 6710 */ 266, 222, 223, 224, 225, 266, 227, 228, 155, 266, + /* 6720 */ 266, 266, 266, 266, 266, 266, 266, 238, 239, 240, + /* 6730 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 6740 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 134, + /* 6750 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6760 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6770 */ 155, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 6780 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 6790 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6800 */ 266, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 6810 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 6820 */ 257, 258, 133, 134, 266, 266, 266, 266, 213, 266, + /* 6830 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 6840 */ 225, 266, 227, 228, 155, 266, 266, 266, 266, 266, + /* 6850 */ 266, 266, 266, 238, 239, 240, 241, 242, 243, 244, + /* 6860 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 6870 */ 255, 256, 257, 258, 133, 134, 266, 266, 266, 266, + /* 6880 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 6890 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 6900 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 6910 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 6920 */ 266, 266, 266, 266, 266, 266, 266, 238, 239, 240, + /* 6930 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 6940 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 134, + /* 6950 */ 266, 266, 266, 266, 213, 266, 266, 266, 266, 266, + /* 6960 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 6970 */ 155, 266, 266, 266, 266, 266, 266, 266, 266, 238, + /* 6980 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 6990 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 7000 */ 133, 134, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7010 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7020 */ 266, 266, 155, 266, 266, 266, 266, 266, 213, 266, + /* 7030 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 7040 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 7050 */ 266, 266, 266, 238, 239, 240, 241, 242, 243, 244, + /* 7060 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 7070 */ 255, 256, 257, 258, 133, 134, 266, 266, 266, 266, + /* 7080 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 7090 */ 223, 224, 225, 266, 227, 228, 155, 266, 266, 266, + /* 7100 */ 266, 266, 266, 266, 266, 238, 239, 240, 241, 242, + /* 7110 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 7120 */ 253, 254, 255, 256, 257, 258, 133, 134, 266, 266, + /* 7130 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7140 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 7150 */ 266, 266, 266, 266, 213, 266, 155, 266, 266, 266, + /* 7160 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 7170 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 238, + /* 7180 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 7190 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 7200 */ 133, 134, 266, 266, 266, 266, 213, 266, 266, 266, + /* 7210 */ 266, 266, 266, 266, 213, 222, 223, 224, 225, 266, + /* 7220 */ 227, 228, 155, 222, 223, 224, 225, 266, 227, 228, + /* 7230 */ 266, 238, 239, 240, 241, 242, 243, 244, 245, 246, + /* 7240 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 7250 */ 257, 258, 133, 252, 253, 254, 255, 256, 257, 258, + /* 7260 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7270 */ 266, 266, 266, 266, 155, 266, 266, 266, 266, 266, + /* 7280 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 7290 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 7300 */ 266, 266, 266, 266, 266, 238, 239, 240, 241, 242, + /* 7310 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 7320 */ 253, 254, 255, 256, 257, 258, 133, 266, 266, 266, + /* 7330 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 7340 */ 266, 222, 223, 224, 225, 266, 227, 228, 155, 266, + /* 7350 */ 266, 266, 266, 266, 235, 266, 266, 266, 239, 240, + /* 7360 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 7370 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 7380 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7390 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7400 */ 155, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 7410 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 7420 */ 227, 228, 229, 266, 266, 266, 266, 266, 266, 266, + /* 7430 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 7440 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 7450 */ 257, 258, 266, 133, 266, 266, 266, 266, 213, 266, + /* 7460 */ 266, 134, 266, 266, 266, 266, 266, 222, 223, 224, + /* 7470 */ 225, 266, 227, 228, 229, 155, 266, 266, 266, 266, + /* 7480 */ 266, 266, 155, 266, 239, 240, 241, 242, 243, 244, + /* 7490 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 7500 */ 255, 256, 257, 258, 133, 266, 266, 266, 266, 266, + /* 7510 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7520 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 7530 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 7540 */ 213, 266, 222, 223, 224, 225, 266, 227, 228, 222, + /* 7550 */ 223, 266, 266, 266, 266, 266, 266, 237, 231, 239, + /* 7560 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 7570 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 7580 */ 266, 266, 255, 266, 213, 266, 266, 266, 266, 266, + /* 7590 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 7600 */ 266, 155, 266, 232, 266, 266, 266, 266, 266, 266, + /* 7610 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 7620 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 7630 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7640 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7650 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 213, + /* 7660 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 7670 */ 224, 225, 266, 227, 228, 266, 266, 266, 232, 266, + /* 7680 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 7690 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 7700 */ 254, 255, 256, 257, 258, 9, 10, 266, 266, 266, + /* 7710 */ 213, 266, 266, 266, 18, 19, 20, 21, 22, 222, + /* 7720 */ 223, 224, 225, 266, 227, 228, 266, 155, 266, 266, + /* 7730 */ 266, 35, 266, 266, 237, 266, 239, 240, 241, 242, + /* 7740 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 7750 */ 253, 254, 255, 256, 257, 258, 3, 4, 266, 266, + /* 7760 */ 266, 266, 9, 10, 266, 12, 266, 266, 266, 266, + /* 7770 */ 266, 266, 19, 20, 21, 266, 266, 266, 266, 266, + /* 7780 */ 266, 266, 266, 266, 266, 213, 266, 266, 35, 93, + /* 7790 */ 94, 95, 96, 133, 222, 223, 224, 225, 266, 227, + /* 7800 */ 228, 105, 106, 266, 108, 109, 110, 111, 112, 113, + /* 7810 */ 114, 115, 116, 117, 118, 155, 63, 266, 65, 66, + /* 7820 */ 67, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 7830 */ 258, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 7840 */ 266, 266, 266, 266, 266, 266, 93, 94, 95, 96, + /* 7850 */ 266, 266, 266, 133, 266, 266, 266, 266, 105, 106, + /* 7860 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 7870 */ 117, 118, 266, 213, 266, 155, 266, 266, 266, 266, + /* 7880 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 229, + /* 7890 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 7900 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 7910 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 7920 */ 266, 266, 266, 266, 266, 266, 266, 133, 155, 266, + /* 7930 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 7940 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 155, + /* 7950 */ 266, 266, 232, 266, 266, 266, 266, 266, 266, 239, + /* 7960 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 7970 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 7980 */ 133, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 7990 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 8000 */ 227, 228, 155, 266, 266, 266, 266, 213, 266, 266, + /* 8010 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 8020 */ 266, 227, 228, 229, 251, 252, 253, 254, 255, 256, + /* 8030 */ 257, 258, 266, 239, 240, 241, 242, 243, 244, 245, + /* 8040 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 8050 */ 256, 257, 258, 266, 266, 266, 266, 266, 266, 266, + /* 8060 */ 213, 133, 266, 266, 266, 266, 266, 266, 266, 222, + /* 8070 */ 223, 224, 225, 266, 227, 228, 229, 266, 266, 266, + /* 8080 */ 266, 266, 266, 155, 266, 266, 239, 240, 241, 242, + /* 8090 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 8100 */ 253, 254, 255, 256, 257, 258, 266, 133, 134, 266, + /* 8110 */ 34, 266, 266, 266, 38, 39, 40, 41, 42, 43, + /* 8120 */ 44, 45, 46, 47, 48, 49, 50, 51, 266, 155, + /* 8130 */ 54, 55, 266, 57, 58, 59, 60, 61, 266, 266, + /* 8140 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 8150 */ 222, 223, 224, 225, 266, 227, 228, 229, 266, 266, + /* 8160 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 8170 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 8180 */ 252, 253, 254, 255, 256, 257, 258, 213, 266, 266, + /* 8190 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 8200 */ 155, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 8210 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 8220 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 8230 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 8240 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 8250 */ 266, 266, 266, 266, 266, 155, 266, 266, 213, 266, + /* 8260 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 8270 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 8280 */ 266, 266, 266, 266, 133, 266, 241, 242, 243, 244, + /* 8290 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 8300 */ 255, 256, 257, 258, 266, 266, 155, 266, 266, 266, + /* 8310 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 8320 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 8330 */ 266, 266, 266, 266, 266, 235, 266, 266, 266, 239, + /* 8340 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 8350 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 8360 */ 134, 266, 266, 266, 213, 266, 266, 134, 266, 266, + /* 8370 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 8380 */ 266, 155, 266, 232, 266, 266, 266, 266, 155, 266, + /* 8390 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 8400 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 8410 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 266, + /* 8420 */ 266, 266, 266, 266, 266, 266, 134, 266, 266, 266, + /* 8430 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 213, + /* 8440 */ 155, 266, 266, 266, 266, 266, 213, 155, 222, 223, + /* 8450 */ 224, 225, 266, 227, 228, 222, 223, 266, 266, 266, + /* 8460 */ 266, 266, 266, 266, 231, 239, 240, 241, 242, 243, + /* 8470 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 8480 */ 254, 255, 256, 257, 258, 266, 266, 266, 255, 133, + /* 8490 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 8500 */ 266, 266, 266, 266, 266, 213, 266, 222, 223, 224, + /* 8510 */ 225, 155, 227, 228, 222, 223, 266, 266, 266, 266, + /* 8520 */ 266, 266, 237, 231, 239, 240, 241, 242, 243, 244, + /* 8530 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 8540 */ 255, 256, 257, 258, 266, 266, 266, 255, 266, 266, + /* 8550 */ 266, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 8560 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 213, + /* 8570 */ 266, 266, 266, 266, 155, 266, 266, 266, 222, 223, + /* 8580 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 233, + /* 8590 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 8600 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 8610 */ 254, 255, 256, 257, 258, 133, 266, 266, 266, 266, + /* 8620 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 8630 */ 266, 266, 213, 266, 266, 266, 266, 155, 266, 266, + /* 8640 */ 266, 222, 223, 224, 225, 266, 227, 228, 229, 266, + /* 8650 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 8660 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 8670 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 8680 */ 266, 266, 266, 266, 266, 266, 133, 266, 155, 266, + /* 8690 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 8700 */ 266, 266, 266, 266, 222, 223, 224, 225, 155, 227, + /* 8710 */ 228, 229, 266, 266, 266, 266, 266, 266, 266, 266, + /* 8720 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 8730 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 8740 */ 258, 133, 134, 266, 266, 266, 213, 266, 266, 134, + /* 8750 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 8760 */ 227, 228, 266, 155, 266, 266, 213, 266, 266, 266, + /* 8770 */ 155, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 8780 */ 227, 228, 229, 250, 251, 252, 253, 254, 255, 256, + /* 8790 */ 257, 258, 239, 240, 241, 242, 243, 244, 245, 246, + /* 8800 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 8810 */ 257, 258, 266, 266, 266, 266, 266, 266, 266, 266, + /* 8820 */ 133, 213, 266, 266, 266, 266, 266, 266, 213, 266, + /* 8830 */ 222, 223, 224, 225, 266, 227, 228, 222, 223, 266, + /* 8840 */ 266, 266, 155, 266, 266, 266, 231, 239, 240, 241, + /* 8850 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 8860 */ 252, 253, 254, 255, 256, 257, 258, 133, 266, 266, + /* 8870 */ 255, 266, 266, 266, 266, 134, 266, 266, 266, 266, + /* 8880 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 8890 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 8900 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 8910 */ 223, 224, 225, 266, 227, 228, 229, 266, 266, 266, + /* 8920 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 8930 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 8940 */ 253, 254, 255, 256, 257, 258, 266, 213, 266, 266, + /* 8950 */ 266, 266, 266, 266, 213, 266, 222, 223, 224, 225, + /* 8960 */ 155, 227, 228, 222, 223, 266, 266, 266, 266, 235, + /* 8970 */ 266, 266, 231, 239, 240, 241, 242, 243, 244, 245, + /* 8980 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 8990 */ 256, 257, 258, 133, 134, 266, 255, 266, 266, 266, + /* 9000 */ 266, 134, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9010 */ 266, 266, 266, 266, 266, 155, 266, 266, 213, 266, + /* 9020 */ 266, 266, 155, 266, 266, 266, 266, 222, 223, 224, + /* 9030 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 9040 */ 266, 266, 266, 133, 239, 240, 241, 242, 243, 244, + /* 9050 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 9060 */ 255, 256, 257, 258, 266, 155, 266, 266, 266, 266, + /* 9070 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 9080 */ 213, 266, 222, 223, 224, 225, 266, 227, 228, 222, + /* 9090 */ 223, 266, 266, 266, 266, 266, 266, 266, 231, 239, + /* 9100 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 9110 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 9120 */ 266, 266, 255, 213, 266, 155, 266, 266, 266, 266, + /* 9130 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 9140 */ 266, 266, 266, 233, 266, 266, 266, 266, 266, 239, + /* 9150 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 9160 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 3, + /* 9170 */ 4, 266, 266, 266, 266, 9, 10, 266, 12, 266, + /* 9180 */ 266, 266, 266, 213, 266, 19, 20, 21, 266, 266, + /* 9190 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 9200 */ 266, 35, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9210 */ 266, 266, 266, 266, 266, 266, 133, 247, 248, 249, + /* 9220 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 63, + /* 9230 */ 266, 65, 66, 67, 266, 266, 266, 266, 155, 266, + /* 9240 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9250 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 93, + /* 9260 */ 94, 95, 96, 266, 266, 266, 133, 134, 266, 266, + /* 9270 */ 266, 105, 106, 266, 108, 109, 110, 111, 112, 113, + /* 9280 */ 114, 115, 116, 117, 118, 3, 4, 266, 155, 266, + /* 9290 */ 266, 9, 10, 266, 12, 266, 213, 266, 266, 266, + /* 9300 */ 266, 19, 20, 266, 266, 222, 223, 224, 225, 266, + /* 9310 */ 227, 228, 266, 266, 266, 266, 233, 266, 266, 266, + /* 9320 */ 133, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 9330 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 9340 */ 257, 258, 155, 266, 266, 63, 213, 65, 66, 67, + /* 9350 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 9360 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9370 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 9380 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 9390 */ 257, 258, 110, 111, 112, 133, 266, 266, 266, 266, + /* 9400 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 9410 */ 223, 224, 225, 266, 227, 228, 229, 155, 266, 266, + /* 9420 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 9430 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 9440 */ 253, 254, 255, 256, 257, 258, 266, 34, 266, 266, + /* 9450 */ 133, 38, 39, 40, 41, 42, 43, 44, 45, 46, + /* 9460 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + /* 9470 */ 57, 58, 155, 266, 266, 213, 266, 266, 266, 266, + /* 9480 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 9490 */ 228, 229, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9500 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 9510 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 9520 */ 258, 266, 266, 266, 266, 9, 10, 266, 266, 266, + /* 9530 */ 213, 266, 266, 266, 266, 19, 20, 21, 266, 222, + /* 9540 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 9550 */ 266, 35, 36, 266, 237, 266, 239, 240, 241, 242, + /* 9560 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 9570 */ 253, 254, 255, 256, 257, 258, 3, 4, 266, 266, + /* 9580 */ 266, 266, 9, 10, 266, 12, 266, 266, 266, 3, + /* 9590 */ 4, 266, 19, 20, 21, 9, 10, 266, 12, 266, + /* 9600 */ 266, 266, 266, 266, 266, 19, 20, 266, 35, 93, + /* 9610 */ 94, 95, 96, 266, 266, 266, 266, 266, 266, 133, + /* 9620 */ 134, 105, 106, 266, 108, 109, 110, 111, 112, 113, + /* 9630 */ 114, 115, 116, 117, 118, 266, 63, 266, 65, 66, + /* 9640 */ 67, 155, 266, 266, 266, 266, 266, 266, 266, 63, + /* 9650 */ 266, 65, 66, 67, 266, 266, 266, 266, 266, 266, + /* 9660 */ 266, 266, 266, 266, 266, 266, 93, 94, 95, 96, + /* 9670 */ 266, 266, 266, 133, 266, 266, 266, 266, 105, 106, + /* 9680 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 9690 */ 117, 118, 266, 266, 266, 155, 110, 111, 112, 213, + /* 9700 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 9710 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 9720 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 9730 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 9740 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 9750 */ 266, 266, 266, 213, 133, 266, 266, 266, 266, 266, + /* 9760 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 229, + /* 9770 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 239, + /* 9780 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 9790 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 9800 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9810 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9820 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 266, + /* 9830 */ 266, 266, 266, 266, 213, 266, 266, 266, 266, 266, + /* 9840 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 9850 */ 266, 266, 266, 266, 233, 266, 266, 266, 266, 266, + /* 9860 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 9870 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 9880 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 9890 */ 223, 224, 225, 155, 227, 228, 229, 266, 266, 266, + /* 9900 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 9910 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 9920 */ 253, 254, 255, 256, 257, 258, 133, 134, 266, 266, + /* 9930 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9940 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 9950 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 9960 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 9970 */ 266, 266, 266, 266, 266, 266, 266, 133, 266, 266, + /* 9980 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 9990 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 155, + /* 10000 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 10010 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 10020 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10030 */ 133, 134, 239, 240, 241, 242, 243, 244, 245, 246, + /* 10040 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 10050 */ 257, 258, 155, 266, 266, 266, 266, 213, 266, 266, + /* 10060 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 10070 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 235, + /* 10080 */ 266, 266, 133, 239, 240, 241, 242, 243, 244, 245, + /* 10090 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 10100 */ 256, 257, 258, 266, 155, 266, 266, 266, 266, 266, + /* 10110 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 10120 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 10130 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 10140 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 10150 */ 253, 254, 255, 256, 257, 258, 266, 266, 266, 266, + /* 10160 */ 266, 266, 213, 266, 133, 266, 266, 266, 266, 266, + /* 10170 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 10180 */ 266, 266, 266, 266, 266, 266, 155, 266, 239, 240, + /* 10190 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 10200 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 10210 */ 266, 266, 266, 133, 266, 266, 266, 266, 266, 266, + /* 10220 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10230 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 10240 */ 266, 266, 266, 155, 213, 266, 266, 266, 266, 266, + /* 10250 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 10260 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10270 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 10280 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 10290 */ 266, 266, 266, 213, 266, 266, 133, 266, 155, 266, + /* 10300 */ 266, 213, 222, 223, 224, 225, 266, 227, 228, 266, + /* 10310 */ 222, 223, 224, 225, 266, 227, 228, 266, 155, 239, + /* 10320 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 10330 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 251, + /* 10340 */ 252, 253, 254, 255, 256, 257, 258, 133, 266, 266, + /* 10350 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 10360 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 155, + /* 10370 */ 227, 228, 266, 266, 266, 266, 213, 266, 266, 266, + /* 10380 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 10390 */ 227, 228, 249, 250, 251, 252, 253, 254, 255, 256, + /* 10400 */ 257, 258, 239, 240, 241, 242, 243, 244, 245, 246, + /* 10410 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 10420 */ 257, 258, 133, 266, 266, 266, 266, 213, 266, 266, + /* 10430 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 10440 */ 266, 227, 228, 266, 155, 266, 266, 266, 266, 266, + /* 10450 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 10460 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 10470 */ 256, 257, 258, 266, 266, 266, 266, 266, 266, 266, + /* 10480 */ 266, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10490 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10500 */ 266, 266, 213, 155, 266, 266, 266, 266, 266, 266, + /* 10510 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 10520 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 10530 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 10540 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 10550 */ 266, 266, 133, 155, 266, 266, 266, 266, 266, 266, + /* 10560 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10570 */ 222, 223, 224, 225, 155, 227, 228, 266, 266, 266, + /* 10580 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 10590 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 10600 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 10610 */ 266, 213, 266, 266, 266, 133, 266, 266, 266, 266, + /* 10620 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 10630 */ 266, 266, 213, 266, 266, 266, 266, 155, 266, 266, + /* 10640 */ 266, 222, 223, 224, 225, 266, 227, 228, 250, 251, + /* 10650 */ 252, 253, 254, 255, 256, 257, 258, 266, 239, 240, + /* 10660 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 10670 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 10680 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10690 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 10700 */ 155, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 10710 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10720 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 10730 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 10740 */ 258, 266, 266, 266, 266, 266, 266, 266, 266, 133, + /* 10750 */ 155, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 10760 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 10770 */ 225, 155, 227, 228, 266, 266, 266, 266, 266, 266, + /* 10780 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 10790 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 10800 */ 255, 256, 257, 258, 133, 266, 266, 266, 213, 266, + /* 10810 */ 266, 266, 134, 266, 266, 266, 266, 222, 223, 224, + /* 10820 */ 225, 266, 227, 228, 266, 266, 155, 266, 266, 213, + /* 10830 */ 266, 266, 266, 155, 266, 266, 266, 266, 222, 223, + /* 10840 */ 224, 225, 266, 227, 228, 250, 251, 252, 253, 254, + /* 10850 */ 255, 256, 257, 258, 266, 239, 240, 241, 242, 243, + /* 10860 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 10870 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 10880 */ 266, 266, 266, 133, 213, 266, 266, 266, 266, 266, + /* 10890 */ 266, 213, 266, 222, 223, 224, 225, 266, 227, 228, + /* 10900 */ 222, 223, 266, 266, 266, 155, 266, 266, 266, 231, + /* 10910 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 10920 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 10930 */ 133, 266, 266, 255, 266, 266, 266, 266, 134, 266, + /* 10940 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 10950 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 155, + /* 10960 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 10970 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 10980 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 10990 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 11000 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 11010 */ 213, 266, 266, 266, 266, 266, 266, 213, 266, 222, + /* 11020 */ 223, 224, 225, 155, 227, 228, 222, 223, 266, 266, + /* 11030 */ 266, 266, 266, 266, 266, 231, 239, 240, 241, 242, + /* 11040 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 11050 */ 253, 254, 255, 256, 257, 258, 133, 266, 266, 255, + /* 11060 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11070 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 11080 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11090 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 11100 */ 266, 266, 266, 266, 266, 266, 133, 239, 240, 241, + /* 11110 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 11120 */ 252, 253, 254, 255, 256, 257, 258, 266, 155, 266, + /* 11130 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 11140 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 11150 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11160 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 11170 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 11180 */ 257, 258, 133, 266, 266, 266, 213, 266, 266, 266, + /* 11190 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 11200 */ 227, 228, 266, 266, 155, 266, 266, 266, 266, 266, + /* 11210 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 11220 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 11230 */ 257, 258, 3, 4, 266, 266, 266, 266, 9, 10, + /* 11240 */ 11, 12, 266, 266, 266, 266, 266, 266, 19, 20, + /* 11250 */ 21, 266, 266, 266, 266, 266, 266, 266, 9, 10, + /* 11260 */ 266, 266, 213, 266, 35, 266, 266, 266, 19, 20, + /* 11270 */ 21, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 11280 */ 266, 266, 266, 266, 35, 266, 266, 266, 239, 240, + /* 11290 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 11300 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 11310 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11320 */ 266, 266, 93, 94, 95, 96, 266, 266, 266, 266, + /* 11330 */ 155, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 11340 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 11350 */ 266, 266, 266, 266, 133, 266, 266, 108, 109, 110, + /* 11360 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 11370 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 11380 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 11390 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 11400 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 11410 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 11420 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 11430 */ 255, 256, 257, 258, 213, 133, 266, 266, 266, 266, + /* 11440 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 11450 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 11460 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 11470 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 11480 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 266, + /* 11490 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11500 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11510 */ 155, 266, 266, 266, 266, 213, 266, 266, 155, 266, + /* 11520 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 11530 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11540 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 11550 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 11560 */ 258, 266, 133, 266, 266, 266, 266, 266, 213, 266, + /* 11570 */ 266, 266, 266, 266, 266, 266, 213, 222, 223, 224, + /* 11580 */ 225, 266, 227, 228, 155, 222, 223, 224, 225, 266, + /* 11590 */ 227, 228, 266, 266, 239, 240, 241, 242, 243, 244, + /* 11600 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 11610 */ 255, 256, 257, 258, 251, 252, 253, 254, 255, 256, + /* 11620 */ 257, 258, 133, 266, 266, 266, 266, 266, 266, 266, + /* 11630 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11640 */ 266, 266, 213, 266, 155, 266, 266, 266, 266, 266, + /* 11650 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 11660 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 11670 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 11680 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 11690 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11700 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 11710 */ 155, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 11720 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 11730 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 11740 */ 251, 252, 253, 254, 255, 256, 257, 258, 9, 10, + /* 11750 */ 266, 266, 266, 266, 266, 266, 266, 266, 19, 20, + /* 11760 */ 21, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 11770 */ 155, 266, 266, 266, 35, 266, 266, 222, 223, 224, + /* 11780 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 11790 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 11800 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 11810 */ 255, 256, 257, 258, 133, 266, 77, 78, 266, 266, + /* 11820 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 11830 */ 266, 266, 93, 94, 95, 96, 155, 222, 223, 224, + /* 11840 */ 225, 266, 227, 228, 105, 106, 266, 108, 109, 110, + /* 11850 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 11860 */ 266, 266, 133, 266, 266, 266, 251, 252, 253, 254, + /* 11870 */ 255, 256, 257, 258, 266, 266, 266, 266, 266, 266, + /* 11880 */ 266, 266, 266, 266, 155, 266, 266, 266, 266, 266, + /* 11890 */ 266, 266, 266, 266, 213, 266, 266, 266, 266, 266, + /* 11900 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 11910 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 11920 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 11930 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 11940 */ 133, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 11950 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 11960 */ 266, 266, 155, 266, 266, 266, 266, 266, 239, 240, + /* 11970 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 11980 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 11990 */ 266, 266, 266, 266, 266, 266, 133, 266, 266, 266, + /* 12000 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12010 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 12020 */ 213, 266, 266, 266, 266, 266, 155, 266, 266, 222, + /* 12030 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 12040 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 12050 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 12060 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 12070 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 12080 */ 266, 266, 266, 266, 213, 222, 223, 224, 225, 155, + /* 12090 */ 227, 228, 266, 222, 223, 224, 225, 266, 227, 228, + /* 12100 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 12110 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 12120 */ 257, 258, 251, 252, 253, 254, 255, 256, 257, 258, + /* 12130 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12140 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 12150 */ 266, 266, 155, 266, 266, 266, 222, 223, 224, 225, + /* 12160 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 12170 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 12180 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 12190 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 12200 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12210 */ 213, 266, 266, 266, 266, 155, 266, 266, 266, 222, + /* 12220 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 12230 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 12240 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 12250 */ 253, 254, 255, 256, 257, 258, 266, 266, 266, 266, + /* 12260 */ 266, 266, 266, 266, 133, 155, 266, 266, 266, 266, + /* 12270 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 12280 */ 266, 266, 222, 223, 224, 225, 155, 227, 228, 266, + /* 12290 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 12300 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 12310 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 12320 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 12330 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 12340 */ 266, 155, 266, 266, 213, 266, 266, 266, 266, 266, + /* 12350 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 12360 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 12370 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 12380 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 12390 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 213, + /* 12400 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 12410 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 12420 */ 155, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 12430 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 12440 */ 254, 255, 256, 257, 258, 133, 266, 266, 266, 266, + /* 12450 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12460 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 12470 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 12480 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 12490 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 12500 */ 266, 266, 266, 134, 239, 240, 241, 242, 243, 244, + /* 12510 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 12520 */ 255, 256, 257, 258, 155, 213, 266, 266, 266, 266, + /* 12530 */ 266, 266, 266, 266, 222, 223, 224, 225, 155, 227, + /* 12540 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12550 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 12560 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 12570 */ 258, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12580 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 12590 */ 266, 222, 223, 155, 266, 266, 213, 266, 266, 266, + /* 12600 */ 231, 266, 266, 234, 266, 222, 223, 224, 225, 266, + /* 12610 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12620 */ 266, 133, 266, 266, 255, 266, 243, 244, 245, 246, + /* 12630 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 12640 */ 257, 258, 266, 155, 266, 266, 266, 266, 266, 266, + /* 12650 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12660 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 12670 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 12680 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 12690 */ 252, 253, 254, 255, 256, 257, 258, 133, 266, 266, + /* 12700 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12710 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 155, + /* 12720 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 12730 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 12740 */ 252, 253, 254, 255, 256, 257, 258, 3, 4, 266, + /* 12750 */ 266, 266, 266, 9, 10, 11, 12, 266, 266, 266, + /* 12760 */ 266, 266, 266, 19, 20, 21, 266, 3, 4, 266, + /* 12770 */ 266, 266, 266, 9, 10, 266, 12, 213, 266, 35, + /* 12780 */ 266, 266, 266, 19, 20, 266, 222, 223, 224, 225, + /* 12790 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 12800 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 12810 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 12820 */ 256, 257, 258, 133, 266, 266, 266, 63, 266, 266, + /* 12830 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 12840 */ 96, 266, 266, 266, 266, 155, 266, 266, 266, 105, + /* 12850 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 12860 */ 116, 117, 118, 266, 266, 266, 266, 266, 266, 133, + /* 12870 */ 266, 266, 266, 266, 110, 111, 112, 266, 266, 266, + /* 12880 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12890 */ 266, 155, 266, 266, 266, 266, 266, 266, 266, 266, + /* 12900 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 12910 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 12920 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 12930 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 12940 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 213, + /* 12950 */ 133, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 12960 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 12970 */ 266, 266, 155, 266, 266, 239, 240, 241, 242, 243, + /* 12980 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 12990 */ 254, 255, 256, 257, 258, 3, 4, 266, 266, 266, + /* 13000 */ 266, 9, 10, 133, 12, 266, 266, 266, 266, 266, + /* 13010 */ 266, 19, 20, 266, 266, 266, 266, 266, 266, 266, + /* 13020 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 13030 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 13040 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 13050 */ 266, 266, 266, 266, 266, 63, 239, 240, 241, 242, + /* 13060 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 13070 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 13080 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 13090 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 155, + /* 13100 */ 266, 266, 110, 111, 112, 266, 266, 266, 266, 239, + /* 13110 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 13120 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 13130 */ 266, 266, 266, 266, 266, 266, 266, 133, 266, 266, + /* 13140 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13150 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 155, + /* 13160 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 13170 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 13180 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 13190 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 13200 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 13210 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 13220 */ 266, 266, 266, 266, 266, 155, 222, 223, 224, 225, + /* 13230 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 13240 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 13250 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 13260 */ 256, 257, 258, 9, 10, 266, 266, 266, 266, 266, + /* 13270 */ 266, 266, 266, 19, 20, 21, 266, 266, 266, 266, + /* 13280 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 35, + /* 13290 */ 36, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 13300 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 13310 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 13320 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 13330 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13340 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 13350 */ 96, 155, 266, 266, 266, 266, 266, 266, 266, 105, + /* 13360 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 13370 */ 116, 117, 118, 3, 4, 266, 266, 133, 266, 9, + /* 13380 */ 10, 266, 12, 266, 266, 266, 266, 266, 266, 19, + /* 13390 */ 20, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 13400 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 213, + /* 13410 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 13420 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 13430 */ 266, 266, 266, 63, 266, 239, 240, 241, 242, 243, + /* 13440 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 13450 */ 254, 255, 256, 257, 258, 133, 266, 213, 266, 266, + /* 13460 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 13470 */ 266, 227, 228, 266, 266, 266, 266, 155, 266, 266, + /* 13480 */ 110, 111, 112, 239, 240, 241, 242, 243, 244, 245, + /* 13490 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 13500 */ 256, 257, 258, 266, 266, 266, 266, 266, 266, 266, + /* 13510 */ 266, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13520 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13530 */ 266, 266, 266, 155, 266, 213, 266, 266, 266, 266, + /* 13540 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 13550 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13560 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 13570 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 13580 */ 258, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 13590 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13600 */ 222, 223, 224, 225, 155, 227, 228, 266, 266, 266, + /* 13610 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 13620 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 13630 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 13640 */ 266, 266, 266, 266, 266, 133, 266, 266, 266, 266, + /* 13650 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13660 */ 266, 266, 213, 266, 266, 266, 266, 155, 266, 266, + /* 13670 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 13680 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 13690 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 13700 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 13710 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13720 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 13730 */ 155, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 13740 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13750 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 13760 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 13770 */ 258, 266, 266, 266, 266, 266, 266, 266, 266, 133, + /* 13780 */ 155, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 13790 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 13800 */ 225, 155, 227, 228, 266, 266, 266, 266, 266, 266, + /* 13810 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 13820 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 13830 */ 255, 256, 257, 258, 133, 266, 266, 266, 213, 266, + /* 13840 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 13850 */ 225, 266, 227, 228, 266, 266, 155, 266, 266, 213, + /* 13860 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 13870 */ 224, 225, 266, 227, 228, 266, 251, 252, 253, 254, + /* 13880 */ 255, 256, 257, 258, 266, 239, 240, 241, 242, 243, + /* 13890 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 13900 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 13910 */ 266, 266, 266, 133, 213, 266, 266, 266, 266, 266, + /* 13920 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 13930 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 13940 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 13950 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 13960 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13970 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 13980 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 266, + /* 13990 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 14000 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 14010 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 14020 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 14030 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 14040 */ 213, 266, 266, 266, 266, 266, 266, 266, 155, 222, + /* 14050 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 14060 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 14070 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 14080 */ 253, 254, 255, 256, 257, 258, 133, 266, 266, 266, + /* 14090 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14100 */ 266, 266, 266, 266, 266, 266, 213, 266, 155, 266, + /* 14110 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 14120 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14130 */ 266, 266, 266, 266, 266, 266, 133, 244, 245, 246, + /* 14140 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 14150 */ 257, 258, 266, 266, 266, 266, 266, 266, 155, 266, + /* 14160 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 14170 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 14180 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14190 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 14200 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 14210 */ 257, 258, 133, 266, 266, 266, 213, 266, 266, 266, + /* 14220 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 14230 */ 227, 228, 266, 266, 155, 266, 266, 266, 266, 266, + /* 14240 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 14250 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 14260 */ 257, 258, 3, 4, 266, 266, 266, 266, 9, 10, + /* 14270 */ 266, 12, 266, 266, 266, 266, 266, 266, 19, 20, + /* 14280 */ 21, 266, 3, 4, 266, 266, 266, 266, 9, 10, + /* 14290 */ 266, 12, 213, 266, 35, 266, 266, 266, 19, 20, + /* 14300 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 14310 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 14320 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 14330 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 14340 */ 266, 266, 63, 266, 266, 266, 266, 266, 266, 266, + /* 14350 */ 266, 266, 93, 94, 95, 96, 266, 266, 266, 266, + /* 14360 */ 155, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 14370 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 14380 */ 266, 266, 266, 266, 133, 266, 266, 266, 266, 110, + /* 14390 */ 111, 112, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14400 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 14410 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 14420 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 14430 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 14440 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 14450 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 14460 */ 255, 256, 257, 258, 213, 133, 266, 266, 266, 266, + /* 14470 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 14480 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 14490 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 14500 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 14510 */ 3, 4, 266, 266, 266, 266, 9, 10, 133, 12, + /* 14520 */ 266, 266, 266, 266, 266, 266, 19, 20, 266, 266, + /* 14530 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14540 */ 155, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 14550 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 14560 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14570 */ 63, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 14580 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 14590 */ 258, 266, 133, 266, 266, 266, 266, 266, 213, 266, + /* 14600 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 14610 */ 225, 266, 227, 228, 155, 266, 266, 110, 111, 112, + /* 14620 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 14630 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 14640 */ 255, 256, 257, 258, 266, 266, 266, 266, 266, 266, + /* 14650 */ 266, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 14660 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14670 */ 266, 266, 213, 266, 155, 266, 266, 266, 266, 266, + /* 14680 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 14690 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 14700 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 14710 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 14720 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14730 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 14740 */ 155, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 14750 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 14760 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 14770 */ 251, 252, 253, 254, 255, 256, 257, 258, 9, 10, + /* 14780 */ 266, 266, 13, 266, 266, 266, 3, 4, 19, 20, + /* 14790 */ 21, 266, 9, 10, 266, 12, 266, 266, 213, 266, + /* 14800 */ 266, 266, 19, 20, 35, 266, 266, 222, 223, 224, + /* 14810 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 14820 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 14830 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 14840 */ 255, 256, 257, 258, 133, 266, 63, 266, 266, 266, + /* 14850 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14860 */ 266, 266, 93, 94, 95, 96, 155, 266, 266, 266, + /* 14870 */ 266, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 14880 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 14890 */ 266, 266, 133, 110, 111, 112, 266, 266, 266, 266, + /* 14900 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14910 */ 266, 266, 266, 266, 155, 266, 266, 266, 266, 266, + /* 14920 */ 266, 266, 266, 266, 213, 266, 266, 266, 266, 266, + /* 14930 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 14940 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 14950 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 14960 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 14970 */ 133, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 14980 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 14990 */ 266, 266, 155, 266, 266, 266, 266, 266, 239, 240, + /* 15000 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 15010 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 15020 */ 266, 266, 266, 266, 266, 266, 133, 266, 266, 266, + /* 15030 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15040 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 15050 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 15060 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 15070 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 15080 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 15090 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 15100 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 15110 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 155, + /* 15120 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15130 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 15140 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 15150 */ 257, 258, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15160 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15170 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 15180 */ 266, 266, 155, 266, 266, 266, 222, 223, 224, 225, + /* 15190 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 15200 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 15210 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 15220 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 15230 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15240 */ 213, 266, 266, 266, 266, 155, 266, 266, 266, 222, + /* 15250 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 15260 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 15270 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 15280 */ 253, 254, 255, 256, 257, 258, 266, 266, 266, 266, + /* 15290 */ 266, 266, 266, 266, 133, 155, 266, 266, 266, 266, + /* 15300 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 15310 */ 266, 266, 222, 223, 224, 225, 155, 227, 228, 266, + /* 15320 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 15330 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 15340 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 15350 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 15360 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 15370 */ 266, 155, 266, 266, 213, 266, 266, 266, 266, 266, + /* 15380 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 15390 */ 266, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 15400 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 15410 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 15420 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 213, + /* 15430 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 15440 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 15450 */ 155, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 15460 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 15470 */ 254, 255, 256, 257, 258, 133, 266, 266, 266, 266, + /* 15480 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15490 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 15500 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 15510 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 15520 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 15530 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 15540 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 15550 */ 255, 256, 257, 258, 266, 213, 266, 266, 266, 266, + /* 15560 */ 266, 266, 266, 155, 222, 223, 224, 225, 266, 227, + /* 15570 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15580 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 15590 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 15600 */ 258, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15610 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15620 */ 266, 213, 266, 155, 266, 266, 266, 266, 266, 266, + /* 15630 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 15640 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15650 */ 266, 133, 244, 245, 246, 247, 248, 249, 250, 251, + /* 15660 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 15670 */ 266, 266, 266, 155, 266, 266, 266, 266, 266, 266, + /* 15680 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15690 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 15700 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 15710 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 15720 */ 252, 253, 254, 255, 256, 257, 258, 133, 266, 266, + /* 15730 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15740 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 155, + /* 15750 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 15760 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 15770 */ 252, 253, 254, 255, 256, 257, 258, 3, 4, 266, + /* 15780 */ 266, 266, 266, 9, 10, 266, 12, 266, 266, 266, + /* 15790 */ 266, 266, 266, 19, 20, 21, 266, 3, 4, 266, + /* 15800 */ 266, 266, 266, 9, 266, 266, 12, 213, 266, 35, + /* 15810 */ 266, 266, 266, 19, 20, 266, 222, 223, 224, 225, + /* 15820 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 15830 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 15840 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 15850 */ 256, 257, 258, 133, 266, 266, 266, 63, 266, 266, + /* 15860 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 15870 */ 96, 266, 266, 266, 266, 155, 266, 266, 266, 105, + /* 15880 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 15890 */ 116, 117, 118, 266, 266, 266, 266, 266, 266, 133, + /* 15900 */ 266, 266, 266, 266, 110, 111, 112, 266, 266, 266, + /* 15910 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15920 */ 266, 155, 266, 266, 266, 266, 266, 266, 266, 266, + /* 15930 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 15940 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 15950 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 15960 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 15970 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 213, + /* 15980 */ 133, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 15990 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 16000 */ 266, 266, 155, 266, 266, 239, 240, 241, 242, 243, + /* 16010 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 16020 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 16030 */ 266, 266, 266, 133, 266, 266, 266, 266, 266, 266, + /* 16040 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16050 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 16060 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 16070 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 16080 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 16090 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 16100 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 16110 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 16120 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 155, + /* 16130 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 16140 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 16150 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 16160 */ 266, 266, 266, 266, 266, 266, 266, 133, 266, 266, + /* 16170 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16180 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 155, + /* 16190 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 16200 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 16210 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 16220 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 16230 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 16240 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 16250 */ 266, 266, 266, 266, 266, 155, 222, 223, 224, 225, + /* 16260 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 16270 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 16280 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 16290 */ 256, 257, 258, 9, 10, 266, 266, 266, 266, 266, + /* 16300 */ 266, 266, 266, 19, 20, 21, 266, 266, 266, 266, + /* 16310 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 35, + /* 16320 */ 36, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 16330 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 16340 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 16350 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 16360 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16370 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 16380 */ 96, 155, 266, 266, 266, 266, 266, 266, 266, 105, + /* 16390 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 16400 */ 116, 117, 118, 266, 266, 266, 266, 133, 266, 266, + /* 16410 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16420 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 16430 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 213, + /* 16440 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 16450 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 16460 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 16470 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 16480 */ 254, 255, 256, 257, 258, 133, 266, 213, 266, 266, + /* 16490 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 16500 */ 266, 227, 228, 266, 266, 266, 266, 155, 266, 266, + /* 16510 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 16520 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 16530 */ 256, 257, 258, 266, 266, 266, 266, 266, 266, 266, + /* 16540 */ 266, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16550 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16560 */ 266, 266, 266, 155, 266, 213, 266, 266, 266, 266, + /* 16570 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 16580 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16590 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 16600 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 16610 */ 258, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 16620 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16630 */ 222, 223, 224, 225, 155, 227, 228, 266, 266, 266, + /* 16640 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 16650 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 16660 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 16670 */ 266, 266, 266, 266, 266, 133, 266, 266, 266, 266, + /* 16680 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16690 */ 266, 266, 213, 266, 266, 266, 266, 155, 266, 266, + /* 16700 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 16710 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 16720 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 16730 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 16740 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16750 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 16760 */ 155, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 16770 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 16780 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 16790 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 16800 */ 258, 266, 266, 266, 266, 266, 266, 266, 266, 133, + /* 16810 */ 155, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 16820 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 16830 */ 225, 155, 227, 228, 266, 266, 266, 266, 266, 266, + /* 16840 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 16850 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 16860 */ 255, 256, 257, 258, 133, 266, 266, 266, 213, 266, + /* 16870 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 16880 */ 225, 266, 227, 228, 266, 266, 155, 266, 266, 213, + /* 16890 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 16900 */ 224, 225, 266, 227, 228, 266, 251, 252, 253, 254, + /* 16910 */ 255, 256, 257, 258, 266, 239, 240, 241, 242, 243, + /* 16920 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 16930 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 16940 */ 266, 266, 266, 133, 213, 266, 266, 266, 266, 266, + /* 16950 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 16960 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 16970 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 16980 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 16990 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17000 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17010 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 266, + /* 17020 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 17030 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 17040 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 17050 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 17060 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 17070 */ 213, 266, 266, 266, 266, 266, 266, 266, 155, 222, + /* 17080 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 17090 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 17100 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 17110 */ 253, 254, 255, 256, 257, 258, 133, 266, 266, 266, + /* 17120 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17130 */ 266, 266, 266, 266, 266, 266, 213, 266, 155, 266, + /* 17140 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 17150 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17160 */ 266, 266, 266, 266, 266, 266, 133, 244, 245, 246, + /* 17170 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 17180 */ 257, 258, 266, 266, 266, 266, 266, 266, 155, 266, + /* 17190 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 17200 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 17210 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17220 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 17230 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 17240 */ 257, 258, 133, 266, 266, 266, 213, 266, 266, 266, + /* 17250 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 17260 */ 227, 228, 266, 266, 155, 266, 266, 266, 266, 266, + /* 17270 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 17280 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 17290 */ 257, 258, 3, 4, 266, 266, 266, 266, 9, 10, + /* 17300 */ 266, 12, 266, 266, 266, 266, 266, 266, 19, 20, + /* 17310 */ 21, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17320 */ 266, 266, 213, 266, 35, 266, 266, 266, 266, 266, + /* 17330 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 17340 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 17350 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 17360 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 17370 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17380 */ 266, 266, 93, 94, 95, 96, 266, 266, 266, 266, + /* 17390 */ 155, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 17400 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 17410 */ 266, 266, 266, 266, 133, 266, 266, 266, 266, 266, + /* 17420 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17430 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 17440 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 17450 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 17460 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 17470 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 17480 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 17490 */ 255, 256, 257, 258, 213, 133, 266, 266, 266, 266, + /* 17500 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 17510 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 17520 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 17530 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 17540 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 266, + /* 17550 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17560 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17570 */ 155, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 17580 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 17590 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17600 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 17610 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 17620 */ 258, 266, 133, 266, 266, 266, 266, 266, 213, 266, + /* 17630 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 17640 */ 225, 266, 227, 228, 155, 266, 266, 266, 266, 266, + /* 17650 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 17660 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 17670 */ 255, 256, 257, 258, 266, 266, 266, 266, 266, 266, + /* 17680 */ 266, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 17690 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17700 */ 266, 266, 213, 266, 155, 266, 266, 266, 266, 266, + /* 17710 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 17720 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 17730 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 17740 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 17750 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17760 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 17770 */ 155, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 17780 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 17790 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 17800 */ 251, 252, 253, 254, 255, 256, 257, 258, 9, 10, + /* 17810 */ 266, 266, 266, 266, 266, 266, 266, 266, 19, 20, + /* 17820 */ 21, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 17830 */ 266, 266, 266, 266, 35, 36, 266, 222, 223, 224, + /* 17840 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 17850 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 17860 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 17870 */ 255, 256, 257, 258, 133, 266, 266, 266, 266, 266, + /* 17880 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17890 */ 266, 266, 93, 94, 95, 96, 155, 266, 266, 266, + /* 17900 */ 266, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 17910 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 17920 */ 266, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 17930 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17940 */ 266, 266, 266, 266, 155, 266, 266, 266, 266, 266, + /* 17950 */ 266, 266, 266, 266, 213, 266, 266, 266, 266, 266, + /* 17960 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 17970 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 17980 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 17990 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 18000 */ 133, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 18010 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 18020 */ 266, 266, 155, 266, 266, 266, 266, 266, 239, 240, + /* 18030 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 18040 */ 251, 252, 253, 254, 255, 256, 257, 258, 266, 266, + /* 18050 */ 266, 266, 266, 266, 266, 266, 133, 266, 266, 266, + /* 18060 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18070 */ 266, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 18080 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 18090 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 18100 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 18110 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 18120 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 18130 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 18140 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 155, + /* 18150 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18160 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 18170 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 18180 */ 257, 258, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18190 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18200 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 18210 */ 266, 266, 155, 266, 266, 266, 222, 223, 224, 225, + /* 18220 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 18230 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 18240 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 18250 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 18260 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18270 */ 213, 266, 266, 266, 266, 155, 266, 266, 266, 222, + /* 18280 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 18290 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 18300 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 18310 */ 253, 254, 255, 256, 257, 258, 266, 266, 266, 266, + /* 18320 */ 266, 266, 266, 266, 133, 155, 266, 266, 266, 266, + /* 18330 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 18340 */ 266, 266, 222, 223, 224, 225, 155, 227, 228, 266, + /* 18350 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 18360 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 18370 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 18380 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 18390 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 18400 */ 266, 155, 266, 266, 213, 266, 266, 266, 266, 266, + /* 18410 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 18420 */ 266, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 18430 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 18440 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 18450 */ 266, 266, 266, 266, 266, 266, 266, 266, 133, 213, + /* 18460 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 18470 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 18480 */ 155, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 18490 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 18500 */ 254, 255, 256, 257, 258, 133, 266, 266, 266, 266, + /* 18510 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18520 */ 266, 266, 266, 266, 266, 266, 266, 155, 266, 266, + /* 18530 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 18540 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 18550 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 18560 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 18570 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 18580 */ 255, 256, 257, 258, 266, 213, 266, 266, 266, 266, + /* 18590 */ 266, 266, 266, 155, 222, 223, 224, 225, 266, 227, + /* 18600 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18610 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 18620 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 18630 */ 258, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18640 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18650 */ 266, 213, 266, 155, 266, 266, 266, 266, 266, 266, + /* 18660 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 18670 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18680 */ 266, 133, 244, 245, 246, 247, 248, 249, 250, 251, + /* 18690 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 18700 */ 266, 266, 266, 155, 266, 266, 266, 266, 266, 266, + /* 18710 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18720 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 266, + /* 18730 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 18740 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 18750 */ 252, 253, 254, 255, 256, 257, 258, 133, 266, 266, + /* 18760 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18770 */ 222, 223, 224, 225, 266, 227, 228, 266, 266, 155, + /* 18780 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 18790 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 18800 */ 252, 253, 254, 255, 256, 257, 258, 3, 4, 266, + /* 18810 */ 266, 266, 266, 9, 10, 266, 12, 266, 266, 266, + /* 18820 */ 266, 266, 266, 19, 20, 21, 266, 266, 266, 266, + /* 18830 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 35, + /* 18840 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 18850 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 18860 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 18870 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 18880 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 18890 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 18900 */ 96, 266, 266, 266, 266, 155, 266, 266, 266, 105, + /* 18910 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 18920 */ 116, 117, 118, 266, 266, 266, 266, 266, 266, 133, + /* 18930 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18940 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18950 */ 266, 155, 266, 266, 266, 266, 266, 266, 266, 266, + /* 18960 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 18970 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 18980 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 18990 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 19000 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 213, + /* 19010 */ 133, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 19020 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 19030 */ 266, 266, 155, 266, 266, 239, 240, 241, 242, 243, + /* 19040 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 19050 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 19060 */ 266, 266, 266, 133, 266, 266, 266, 266, 266, 266, + /* 19070 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19080 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 19090 */ 213, 266, 266, 266, 266, 266, 266, 266, 266, 222, + /* 19100 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 19110 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 19120 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 19130 */ 253, 254, 255, 256, 257, 258, 266, 133, 266, 266, + /* 19140 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 19150 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 155, + /* 19160 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 19170 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 19180 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 19190 */ 266, 266, 266, 266, 266, 266, 266, 133, 266, 266, + /* 19200 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19210 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 155, + /* 19220 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 19230 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 19240 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 19250 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 19260 */ 256, 257, 258, 133, 266, 266, 266, 266, 266, 266, + /* 19270 */ 266, 266, 266, 266, 266, 266, 266, 213, 266, 266, + /* 19280 */ 266, 266, 266, 266, 266, 155, 222, 223, 224, 225, + /* 19290 */ 266, 227, 228, 266, 266, 266, 266, 266, 266, 266, + /* 19300 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 19310 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 19320 */ 256, 257, 258, 9, 10, 266, 266, 266, 266, 266, + /* 19330 */ 266, 266, 266, 19, 20, 21, 266, 266, 266, 266, + /* 19340 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 35, + /* 19350 */ 36, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 19360 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 19370 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 19380 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 133, + /* 19390 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19400 */ 266, 266, 266, 266, 266, 266, 266, 93, 94, 95, + /* 19410 */ 96, 155, 266, 266, 266, 266, 266, 266, 266, 105, + /* 19420 */ 106, 266, 108, 109, 110, 111, 112, 113, 114, 115, + /* 19430 */ 116, 117, 118, 266, 266, 266, 266, 133, 266, 266, + /* 19440 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19450 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 19460 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 213, + /* 19470 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 19480 */ 224, 225, 266, 227, 228, 266, 266, 266, 266, 266, + /* 19490 */ 266, 266, 266, 266, 266, 239, 240, 241, 242, 243, + /* 19500 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 19510 */ 254, 255, 256, 257, 258, 133, 266, 213, 266, 266, + /* 19520 */ 266, 266, 266, 266, 266, 266, 222, 223, 224, 225, + /* 19530 */ 266, 227, 228, 266, 266, 266, 266, 155, 266, 266, + /* 19540 */ 266, 266, 266, 239, 240, 241, 242, 243, 244, 245, + /* 19550 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 19560 */ 256, 257, 258, 266, 266, 266, 266, 266, 266, 266, + /* 19570 */ 266, 133, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19580 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19590 */ 266, 266, 266, 155, 266, 213, 266, 266, 266, 266, + /* 19600 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 19610 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19620 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 19630 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 19640 */ 258, 266, 133, 266, 266, 266, 266, 266, 266, 266, + /* 19650 */ 266, 213, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19660 */ 222, 223, 224, 225, 155, 227, 228, 266, 266, 266, + /* 19670 */ 266, 266, 266, 266, 266, 266, 266, 239, 240, 241, + /* 19680 */ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, + /* 19690 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 19700 */ 266, 266, 266, 266, 266, 133, 266, 266, 266, 266, + /* 19710 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19720 */ 266, 266, 213, 266, 266, 266, 266, 155, 266, 266, + /* 19730 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 19740 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 19750 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 19760 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 19770 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19780 */ 266, 266, 266, 266, 266, 213, 266, 266, 266, 266, + /* 19790 */ 155, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 19800 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 19810 */ 266, 239, 240, 241, 242, 243, 244, 245, 246, 247, + /* 19820 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 19830 */ 258, 266, 266, 266, 266, 266, 266, 266, 266, 133, + /* 19840 */ 155, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 19850 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 19860 */ 225, 155, 227, 228, 266, 266, 266, 266, 266, 266, + /* 19870 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 19880 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 19890 */ 255, 256, 257, 258, 133, 266, 266, 266, 213, 266, + /* 19900 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 19910 */ 225, 266, 227, 228, 266, 266, 155, 266, 266, 213, + /* 19920 */ 266, 266, 266, 266, 266, 266, 266, 266, 222, 223, + /* 19930 */ 224, 225, 266, 227, 228, 266, 251, 252, 253, 254, + /* 19940 */ 255, 256, 257, 258, 266, 239, 240, 241, 242, 243, + /* 19950 */ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + /* 19960 */ 254, 255, 256, 257, 258, 266, 266, 266, 266, 266, + /* 19970 */ 266, 266, 266, 133, 213, 266, 266, 266, 266, 266, + /* 19980 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 19990 */ 266, 266, 266, 266, 266, 155, 266, 266, 266, 266, + /* 20000 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 20010 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 20020 */ 133, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20030 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20040 */ 266, 266, 155, 266, 266, 266, 266, 266, 266, 266, + /* 20050 */ 266, 266, 266, 213, 266, 266, 266, 266, 266, 266, + /* 20060 */ 266, 266, 222, 223, 224, 225, 266, 227, 228, 266, + /* 20070 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 239, + /* 20080 */ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + /* 20090 */ 250, 251, 252, 253, 254, 255, 256, 257, 258, 266, + /* 20100 */ 213, 266, 266, 266, 266, 266, 266, 155, 266, 222, + /* 20110 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 20120 */ 266, 266, 266, 266, 266, 266, 239, 240, 241, 242, + /* 20130 */ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + /* 20140 */ 253, 254, 255, 256, 257, 258, 133, 266, 266, 266, + /* 20150 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20160 */ 266, 266, 266, 266, 266, 213, 266, 266, 155, 266, + /* 20170 */ 266, 266, 266, 266, 222, 223, 224, 225, 266, 227, + /* 20180 */ 228, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20190 */ 266, 266, 266, 266, 266, 266, 133, 245, 246, 247, + /* 20200 */ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + /* 20210 */ 258, 266, 266, 266, 266, 266, 266, 266, 155, 266, + /* 20220 */ 266, 266, 266, 266, 266, 266, 213, 266, 266, 266, + /* 20230 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 20240 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20250 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 20260 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 20270 */ 257, 258, 133, 266, 266, 266, 213, 266, 266, 266, + /* 20280 */ 266, 266, 266, 266, 266, 222, 223, 224, 225, 266, + /* 20290 */ 227, 228, 266, 266, 155, 266, 266, 266, 266, 266, + /* 20300 */ 266, 266, 239, 240, 241, 242, 243, 244, 245, 246, + /* 20310 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 20320 */ 257, 258, 3, 4, 266, 266, 266, 266, 9, 10, + /* 20330 */ 266, 12, 266, 266, 266, 266, 266, 266, 19, 20, + /* 20340 */ 21, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20350 */ 266, 266, 213, 266, 35, 266, 266, 266, 266, 266, + /* 20360 */ 266, 222, 223, 224, 225, 266, 227, 228, 266, 266, + /* 20370 */ 266, 266, 266, 266, 266, 266, 266, 266, 239, 240, + /* 20380 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + /* 20390 */ 251, 252, 253, 254, 255, 256, 257, 258, 133, 266, + /* 20400 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20410 */ 266, 266, 93, 94, 95, 96, 266, 266, 266, 266, + /* 20420 */ 155, 266, 266, 266, 105, 106, 266, 108, 109, 110, + /* 20430 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 266, + /* 20440 */ 266, 266, 266, 266, 133, 266, 266, 266, 266, 266, + /* 20450 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20460 */ 266, 266, 266, 266, 266, 266, 155, 266, 266, 266, + /* 20470 */ 266, 266, 266, 266, 266, 266, 266, 266, 213, 266, + /* 20480 */ 266, 266, 266, 266, 266, 266, 266, 222, 223, 224, + /* 20490 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 20500 */ 266, 266, 266, 266, 239, 240, 241, 242, 243, 244, + /* 20510 */ 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + /* 20520 */ 255, 256, 257, 258, 213, 266, 266, 266, 266, 266, + /* 20530 */ 266, 266, 266, 222, 223, 224, 225, 266, 227, 228, + /* 20540 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20550 */ 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + /* 20560 */ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + /* 20570 */ 3, 4, 266, 266, 266, 266, 9, 10, 266, 12, + /* 20580 */ 266, 266, 266, 266, 266, 266, 19, 20, 21, 266, + /* 20590 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20600 */ 266, 266, 35, 266, 266, 266, 3, 4, 266, 266, + /* 20610 */ 266, 266, 9, 10, 266, 12, 266, 266, 266, 266, + /* 20620 */ 266, 266, 19, 20, 21, 266, 266, 266, 266, 266, + /* 20630 */ 63, 266, 266, 266, 3, 4, 266, 266, 35, 266, + /* 20640 */ 9, 10, 266, 12, 266, 266, 266, 266, 266, 266, + /* 20650 */ 19, 20, 21, 266, 266, 266, 266, 266, 266, 266, + /* 20660 */ 93, 94, 95, 96, 266, 266, 35, 266, 266, 266, + /* 20670 */ 266, 266, 105, 106, 266, 108, 109, 110, 111, 112, + /* 20680 */ 113, 114, 115, 116, 117, 118, 134, 266, 266, 266, + /* 20690 */ 266, 266, 266, 266, 266, 266, 93, 94, 95, 96, + /* 20700 */ 266, 266, 266, 266, 266, 266, 266, 155, 105, 106, + /* 20710 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 20720 */ 117, 118, 266, 266, 93, 94, 95, 96, 266, 266, + /* 20730 */ 266, 266, 266, 266, 266, 266, 105, 106, 266, 108, + /* 20740 */ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + /* 20750 */ 3, 4, 266, 266, 266, 266, 9, 10, 266, 12, + /* 20760 */ 266, 266, 266, 266, 266, 213, 19, 20, 21, 266, + /* 20770 */ 266, 266, 266, 266, 222, 223, 266, 266, 266, 266, + /* 20780 */ 266, 266, 35, 231, 266, 266, 3, 4, 236, 266, + /* 20790 */ 266, 266, 9, 10, 266, 12, 266, 266, 266, 266, + /* 20800 */ 266, 266, 19, 20, 21, 266, 266, 255, 266, 266, + /* 20810 */ 266, 266, 266, 266, 266, 266, 266, 266, 35, 266, + /* 20820 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20830 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 20840 */ 93, 94, 95, 96, 266, 266, 266, 266, 266, 266, + /* 20850 */ 266, 266, 105, 106, 266, 108, 109, 110, 111, 112, + /* 20860 */ 113, 114, 115, 116, 117, 118, 266, 266, 266, 266, + /* 20870 */ 266, 266, 266, 155, 266, 266, 93, 94, 95, 96, + /* 20880 */ 266, 266, 266, 266, 266, 266, 266, 266, 105, 106, + /* 20890 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 20900 */ 117, 118, 9, 10, 266, 266, 13, 266, 266, 266, + /* 20910 */ 266, 266, 19, 20, 21, 266, 266, 266, 266, 266, + /* 20920 */ 266, 266, 266, 266, 266, 266, 266, 266, 35, 266, + /* 20930 */ 266, 213, 266, 266, 266, 266, 266, 266, 9, 10, + /* 20940 */ 222, 223, 224, 225, 266, 227, 228, 266, 19, 20, + /* 20950 */ 21, 266, 266, 266, 266, 266, 266, 266, 266, 155, + /* 20960 */ 266, 266, 266, 266, 35, 266, 248, 249, 250, 251, + /* 20970 */ 252, 253, 254, 255, 256, 257, 258, 266, 266, 266, + /* 20980 */ 266, 266, 266, 266, 266, 266, 93, 94, 95, 96, + /* 20990 */ 266, 266, 266, 266, 266, 266, 266, 266, 105, 106, + /* 21000 */ 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, + /* 21010 */ 117, 118, 155, 266, 266, 266, 266, 213, 266, 266, + /* 21020 */ 155, 266, 93, 94, 95, 96, 222, 223, 224, 225, + /* 21030 */ 266, 227, 228, 266, 105, 106, 266, 108, 109, 110, + /* 21040 */ 111, 112, 113, 114, 115, 116, 117, 118, 266, 245, + /* 21050 */ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + /* 21060 */ 256, 257, 258, 266, 266, 266, 266, 266, 155, 266, + /* 21070 */ 213, 266, 266, 266, 266, 266, 266, 266, 213, 222, + /* 21080 */ 223, 224, 225, 266, 227, 228, 266, 222, 223, 224, + /* 21090 */ 225, 266, 227, 228, 266, 266, 266, 266, 266, 266, + /* 21100 */ 266, 266, 245, 246, 247, 248, 249, 250, 251, 252, + /* 21110 */ 253, 254, 255, 256, 257, 258, 251, 252, 253, 254, + /* 21120 */ 255, 256, 257, 258, 155, 266, 213, 266, 266, 266, + /* 21130 */ 266, 266, 155, 266, 266, 222, 223, 224, 225, 266, + /* 21140 */ 227, 228, 266, 266, 266, 266, 266, 266, 266, 266, + /* 21150 */ 266, 266, 266, 266, 266, 266, 266, 134, 245, 246, + /* 21160 */ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + /* 21170 */ 257, 258, 266, 266, 134, 266, 266, 134, 155, 266, + /* 21180 */ 266, 266, 213, 266, 266, 266, 266, 266, 266, 266, + /* 21190 */ 213, 222, 223, 224, 225, 155, 227, 228, 155, 222, + /* 21200 */ 223, 224, 225, 266, 227, 228, 266, 266, 266, 266, + /* 21210 */ 266, 266, 266, 266, 266, 266, 266, 134, 266, 266, + /* 21220 */ 251, 252, 253, 254, 255, 256, 257, 258, 251, 252, + /* 21230 */ 253, 254, 255, 256, 257, 258, 213, 134, 155, 266, + /* 21240 */ 266, 266, 266, 266, 266, 222, 223, 266, 266, 266, + /* 21250 */ 266, 266, 266, 213, 231, 266, 213, 234, 155, 266, + /* 21260 */ 266, 266, 222, 223, 266, 222, 223, 266, 266, 266, + /* 21270 */ 266, 231, 266, 266, 231, 266, 236, 266, 255, 236, + /* 21280 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 21290 */ 266, 266, 266, 266, 266, 255, 213, 266, 255, 266, + /* 21300 */ 266, 266, 266, 266, 266, 222, 223, 266, 266, 266, + /* 21310 */ 266, 266, 266, 266, 231, 266, 213, 234, 266, 266, + /* 21320 */ 266, 266, 266, 266, 266, 222, 223, 266, 266, 266, + /* 21330 */ 266, 266, 266, 266, 231, 266, 266, 234, 255, 266, + /* 21340 */ 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + /* 21350 */ 266, 266, 266, 266, 266, 266, 266, 266, 255, +}; +#define YY_SHIFT_USE_DFLT (-22) +static short yy_shift_ofst[] = { + /* 0 */ 5450, 1341, 1216, 5450, 5333, -22, -22, -22, -22, -22, + /* 10 */ -22, -22, -22, -22, -22, 20747, -22, -22, -22, -22, + /* 20 */ -22, 589, 20929, 1069, 20929, -22, 1276, 20929, 484, 20929, + /* 30 */ 280, 20929, 29, 20929, 990, 20929, 853, 20929, 1515, 20929, + /* 40 */ 164, 20929, 132, 20929, 11, 20929, -22, -22, 20929, -22, + /* 50 */ 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, + /* 60 */ 1517, 11249, -22, -22, -22, -22, -22, 1017, 13254, 484, + /* 70 */ 280, 20929, 29, 20929, 990, 853, 1515, 164, 20929, 132, + /* 80 */ 20929, 11, 20929, -22, -22, -22, 1046, 20929, 29, 20929, + /* 90 */ 990, 132, 20929, 11, 20929, -22, -22, -22, -22, 1454, + /* 100 */ 20929, 990, 11, 20929, -22, -22, -22, -22, -22, -22, + /* 110 */ 888, 20929, -22, 1431, 20929, 1488, 11229, 1436, 20929, 1317, + /* 120 */ 20929, 1040, -22, -22, -22, -22, -22, 905, 20929, 890, + /* 130 */ -22, 20929, 767, -22, 1897, 11229, 1755, -22, 1757, 11229, + /* 140 */ 1737, -22, 1621, 632, 12744, 1484, -22, -22, -22, -22, + /* 150 */ 14769, -22, 1343, -22, 493, 20893, 1320, 1202, 20319, -22, + /* 160 */ -22, -22, -22, -22, 1191, 1178, -22, 1211, -22, 1295, + /* 170 */ -22, 1301, -22, 20929, -22, 20929, -22, 20929, -22, 1456, + /* 180 */ -22, 20929, 11, 20929, 11, 20929, 990, 1725, -22, 20929, + /* 190 */ 29, 20929, 29, 805, -22, 19314, 1026, 1035, -22, 20929, + /* 200 */ 1846, 901, 1733, -22, 20929, 1276, -22, -22, -22, -22, + /* 210 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 220 */ -22, -22, -22, -22, -22, -22, 228, -22, 1488, -22, + /* 230 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 240 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 250 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 260 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 270 */ -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, + /* 280 */ -22, -22, 1619, 1624, 4420, 1741, 635, 5450, 1760, -22, + /* 290 */ 1872, 1880, 4420, 1895, 1899, 5450, 86, -22, 784, 5450, + /* 300 */ 909, -22, 927, 5450, 1047, -22, 1055, 5450, 1208, -22, + /* 310 */ 1482, 20929, 1620, 1873, 5450, 638, -22, 1049, 5450, 931, + /* 320 */ 1028, 1894, 20929, 1485, -22, 1326, 5684, 624, 4426, 1991, + /* 330 */ 4863, 1746, 1607, 5450, 1601, -22, 336, -22, -22, 1465, + /* 340 */ 20929, 1459, 1382, 5450, -22, 1327, 20929, 1318, 1072, 5450, + /* 350 */ 1068, -22, 20929, -22, 695, 912, 20783, -22, -22, -22, + /* 360 */ -22, -22, 695, 895, 20929, -22, 794, 884, 20929, -22, + /* 370 */ 379, 1300, 20929, -22, 695, 58, 20929, -22, 695, 1876, + /* 380 */ 20929, -22, 695, 1855, 14259, -22, -22, -22, -22, 5331, + /* 390 */ 20631, -22, -22, -22, -22, 20929, -22, 20929, -22, 20929, + /* 400 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 410 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 420 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 430 */ -22, 20929, -22, 20929, -22, 20929, -22, 5448, 20603, -22, + /* 440 */ -22, -22, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 450 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 460 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 470 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 480 */ -22, 20929, -22, 20929, -22, 9413, 20929, -22, 20929, -22, + /* 490 */ 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, + /* 500 */ 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, + /* 510 */ 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, + /* 520 */ 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, + /* 530 */ 1307, 9516, 1432, 1447, 20929, -22, 17799, 1576, 1596, 1709, + /* 540 */ 20929, -22, 20929, 1982, 1985, 202, 773, 20929, -22, 5565, + /* 550 */ 18804, -22, -22, -22, -22, 20929, -22, 20929, -22, 20929, + /* 560 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 570 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 580 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 590 */ -22, 20929, -22, 20929, -22, 20929, -22, 1321, 17289, -22, + /* 600 */ -22, -22, -22, 4712, 1184, 15774, -22, -22, -22, -22, + /* 610 */ 8076, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 620 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 630 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 640 */ -22, 20929, -22, 20929, -22, 20929, -22, 20929, -22, 20929, + /* 650 */ -22, 20929, -22, 20929, -22, 5712, -22, -22, 1892, -21, + /* 660 */ -22, 1046, -22, -22, -22, -22, 1046, 888, 1431, 1848, + /* 670 */ 16284, 20929, 30, 11739, 1758, 1766, -22, -22, -22, -22, + /* 680 */ 11739, 1739, 1748, -22, 20929, 1728, 1632, -22, 4493, 1463, + /* 690 */ 281, 1046, 888, 1431, 1046, 888, 1431, 11739, 1481, 281, + /* 700 */ 1463, 11739, 1478, 281, 1463, 20929, 1473, 281, 1463, 9282, + /* 710 */ 1460, 20929, 1314, 20929, -22, -22, 11739, 1458, 12992, 1455, + /* 720 */ 20929, 1314, -22, -22, 1046, 888, 1431, -22, -22, -22, + /* 730 */ 15794, 654, 1338, 20929, 1180, 20929, -22, -22, 15794, -22, + /* 740 */ -22, 11739, 1336, 14783, 1332, 20929, 1314, 15794, 647, 1323, + /* 750 */ 20929, 1180, 20929, 899, 14507, 1315, 20929, 1314, 15794, 366, + /* 760 */ 1204, 20929, 1180, 15794, 497, 1187, 20929, 1180, 9586, 1177, + /* 770 */ 20929, 1064, 20929, -22, -22, 11739, 1175, 13370, 1063, 20929, + /* 780 */ 1064, 15794, 771, 1102, 20929, 1176, 20929, -22, -22, 15794, + /* 790 */ -22, -22, 11739, 1182, 12764, 1183, 20929, 1064, 15794, 504, + /* 800 */ 1194, 20929, 1176, 20929, 1197, 14279, 1198, 20929, 1064, 15794, + /* 810 */ 769, 1203, 20929, 1176, 15794, 90, 1240, 20929, 1176, 7753, + /* 820 */ 11739, 20567, -22, -22, -22, -22, -22, -22, 11739, 20567, + /* 830 */ -22, 20567, 4585, 20929, -22, -22, 20567, -22, 9166, -22, + /* 840 */ 11739, 1342, 20567, -22, 11739, 1344, 20567, -22, 20929, 1452, + /* 850 */ 20567, -22, 20567, -22, 9573, -22, 11739, 1461, 20567, -22, + /* 860 */ 11739, 1470, 20567, -22, 20567, 1475, 20567, -22, -22, 20567, + /* 870 */ -22, 1519, -22, 1593, 5450, 1594, -22, 1598, 1600, 5450, + /* 880 */ 1597, -22, 630, 1603, 5450, 1604, -22, 491, 1615, 5450, + /* 890 */ 1616, -22, 20929, 1599, -22, 1659, 1618, 5450, 1732, -22, + /* 900 */ 1736, 1738, 5450, 1740, -22, -22, -22, 1756, -22, 1759, + /* 910 */ -22, 1762, -22, 1056, -22, 1799, -22, 4707, 1871, 1874, + /* 920 */ 5450, 1875, -22, 1882, 1879, 5450, 1890, -22, 628, 1893, + /* 930 */ 5450, 1896, -22, 492, 1900, 5450, 1933, -22, 2010, 2011, + /* 940 */ 5450, 1, -22, 233, 382, 5450, 498, -22, 7696, 651, + /* 950 */ 775, 4426, 776, 5018, 795, 796, 5450, 904, -22, 490, + /* 960 */ 907, 5450, 910, -22, 766, 913, 5450, 924, -22, 929, + /* 970 */ 930, 5450, 932, -22, 969, 1043, 5450, 1045, -22, 4426, + /* 980 */ -22, 494, 520, 791, 1056, -22, 1067, 1044, 515, 1044, + /* 990 */ 522, 1044, 1185, 1044, 1192, 1044, 645, 5567, 374, 5567, + /* 1000 */ 770, 1339, 5450, 1346, -22, 5567, -22, -22, -22, 5567, + /* 1010 */ -22, -22, 5567, -22, -22, 1735, 768, 4545, 1761, -22, + /* 1020 */ 1886, -22, -22, -22, -22, -22, -22, -22, -22, 232, + /* 1030 */ 1188, 5450, 1595, -22, -22, +}; +#define YY_REDUCE_USE_DFLT (-121) +static short yy_reduce_ofst[] = { + /* 0 */ -120, -121, -121, 1122, 3192, -121, -121, -121, -121, -121, + /* 10 */ -121, -121, -121, -121, -121, 9793, -121, -121, -121, -121, + /* 20 */ -121, -121, 8805, -121, 10868, -121, -121, 9738, -121, 12383, + /* 30 */ -121, 13893, -121, 20804, -121, 5515, -121, 8970, -121, 20718, + /* 40 */ -121, 7572, -121, 12110, -121, 18170, -121, -121, 20969, -121, + /* 50 */ 11615, -121, 11871, -121, 13625, -121, 20865, -121, 7773, -121, + /* 60 */ -121, 7001, -121, -121, -121, -121, -121, -121, 15161, -121, + /* 70 */ -121, 15408, -121, 20913, -121, -121, -121, -121, 10143, -121, + /* 80 */ 10398, -121, 15140, -121, -121, -121, -121, 12186, -121, 19952, + /* 90 */ -121, -121, 8533, -121, 20977, -121, -121, -121, -121, -121, + /* 100 */ 18930, -121, -121, 10088, -121, -121, -121, -121, -121, -121, + /* 110 */ -121, 11489, -121, -121, 16983, -121, 5673, -121, 11049, -121, + /* 120 */ 12488, -121, -121, -121, -121, -121, -121, -121, 14585, -121, + /* 130 */ -121, 16605, -121, -121, -121, 5724, -121, -121, -121, 5590, + /* 140 */ -121, -121, -121, -121, 5929, -121, -121, -121, -121, -121, + /* 150 */ 5802, -121, -121, -121, -121, 5858, -121, -121, 6436, -121, + /* 160 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 170 */ -121, -121, -121, 16655, -121, 19685, -121, 11363, -121, -121, + /* 180 */ -121, 10595, -121, 5781, -121, 20857, -121, -121, -121, 16923, + /* 190 */ -121, 18438, -121, -121, -121, 13196, -121, -121, -121, 14332, + /* 200 */ -121, -121, -121, -121, 8045, -121, -121, -121, -121, -121, + /* 210 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 220 */ -121, -121, -121, -121, -121, -121, 634, -121, -121, -121, + /* 230 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 240 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 250 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 260 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 270 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 280 */ -121, -121, -121, -121, 163, -121, -121, 1260, -121, -121, + /* 290 */ -121, -121, 25, -121, -121, 294, -121, -121, -121, 1398, + /* 300 */ -121, -121, -121, 984, -121, -121, -121, 570, -121, -121, + /* 310 */ -121, 14759, -121, -121, 3054, -121, -121, -121, 2640, -121, + /* 320 */ -121, -121, 9949, -121, -121, -121, 4295, -121, -59, -121, + /* 330 */ 5654, -121, -121, 432, -121, -121, 423, -121, -121, -121, + /* 340 */ 20139, -121, -121, 2364, -121, -121, 11555, -121, -121, 156, + /* 350 */ -121, -121, 13004, -121, 834, -121, 7974, -121, -121, -121, + /* 360 */ -121, -121, 712, -121, 15090, -121, 698, -121, 15847, -121, + /* 370 */ 694, -121, 16542, -121, 206, -121, 17033, -121, 973, -121, + /* 380 */ 17281, -121, 1678, -121, 9133, -121, -121, -121, -121, -121, + /* 390 */ 8860, -121, -121, -121, -121, 18796, -121, 19130, -121, 19509, + /* 400 */ -121, 19840, -121, 19887, -121, 20265, -121, 10163, -121, 10289, + /* 410 */ -121, 10419, -121, 10616, -121, 10750, -121, 10973, -121, 11302, + /* 420 */ -121, 11681, -121, 11934, -121, 12312, -121, 12690, -121, 12564, + /* 430 */ -121, 12131, -121, 12060, -121, 11807, -121, -121, 9897, -121, + /* 440 */ -121, -121, -121, 11429, -121, 11221, -121, 11175, -121, 10797, + /* 450 */ -121, 10671, -121, 10348, -121, 10031, -121, 20013, -121, 19635, + /* 460 */ -121, 19438, -121, 19256, -121, 19064, -121, 18877, -121, 18750, + /* 470 */ -121, 18624, -121, 18548, -121, 18498, -121, 18325, -121, 18246, + /* 480 */ -121, 17994, -121, 17923, -121, -121, 17867, -121, 17789, -121, + /* 490 */ 17741, -121, 17615, -121, 17549, -121, 17489, -121, 17415, -121, + /* 500 */ 17235, -121, 17109, -121, 16857, -121, 16810, -121, 16352, -121, + /* 510 */ 16226, -121, 15468, -121, 15295, -121, 14711, -121, 13827, -121, + /* 520 */ 13378, -121, 13070, -121, 12817, -121, 12736, -121, 11863, -121, + /* 530 */ -121, 10214, -121, -121, 18191, -121, 15900, -121, -121, -121, + /* 540 */ 14251, -121, 13701, -121, -121, -121, -121, 11997, -121, -121, + /* 550 */ 8608, -121, -121, -121, -121, 13953, -121, 19004, -121, 13646, + /* 560 */ -121, 15518, -121, 16408, -121, 19572, -121, 10482, -121, 12870, + /* 570 */ -121, 13512, -121, 14079, -121, 14459, -121, 14964, -121, 15720, + /* 580 */ -121, 16034, -121, 16676, -121, 17362, -121, 18057, -121, 19304, + /* 590 */ -121, 19706, -121, 20063, -121, 10080, -121, -121, 9486, -121, + /* 600 */ -121, -121, -121, -121, -121, 8226, -121, -121, -121, -121, + /* 610 */ -121, 12944, -121, 13244, -121, 13322, -121, 13449, -121, 13575, + /* 620 */ -121, 13780, -121, 14003, -121, 14205, -121, 14385, -121, 14519, + /* 630 */ -121, 14837, -121, 14893, -121, 15027, -121, 15216, -121, 15342, + /* 640 */ -121, 15594, -121, 15766, -121, 15974, -121, 16100, -121, 16274, + /* 650 */ -121, 16479, -121, 16731, -121, 4302, -121, -121, -121, 4615, + /* 660 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 670 */ 15161, 13196, -121, 9262, -121, -121, -121, -121, -121, -121, + /* 680 */ 7193, -121, -121, -121, 18120, -121, -121, -121, 4614, -121, + /* 690 */ 4655, -121, -121, -121, -121, -121, -121, 8419, -121, 4810, + /* 700 */ -121, 9540, -121, 4459, -121, 19382, -121, 4770, -121, 6317, + /* 710 */ -121, 8151, -121, 19761, -121, -121, 9667, -121, 8867, -121, + /* 720 */ 7371, -121, -121, -121, -121, -121, -121, -121, -121, -121, + /* 730 */ 21103, -121, -121, 7119, -121, 10545, -121, -121, 10804, -121, + /* 740 */ -121, 8482, -121, 8292, -121, 7446, -121, 12369, -121, -121, + /* 750 */ 8100, -121, 11355, -121, 8615, -121, 7720, -121, 21023, -121, + /* 760 */ -121, 9844, -121, 21083, -121, -121, 8734, -121, 8741, -121, + /* 770 */ 8356, -121, 12265, -121, -121, 8553, -121, 8233, -121, 8910, + /* 780 */ -121, 21040, -121, -121, 7320, -121, 12438, -121, -121, 7327, + /* 790 */ -121, -121, 8687, -121, 6443, -121, 9083, -121, 6033, -121, + /* 800 */ -121, 9317, -121, 11729, -121, 10678, -121, 9621, -121, 21043, + /* 810 */ -121, -121, 8285, -121, 20552, -121, -121, 7497, -121, 5984, + /* 820 */ 7847, 6563, -121, -121, -121, -121, -121, -121, 7660, 6867, + /* 830 */ -121, 6615, -121, 10923, -121, -121, 6815, -121, 6110, -121, + /* 840 */ 7928, -121, 7067, -121, 9187, -121, 6362, -121, 20311, -121, + /* 850 */ 6741, -121, 6689, -121, 6236, -121, 7245, -121, 6941, -121, + /* 860 */ 7794, -121, 6489, -121, 6058, -121, 6184, -121, -121, 6993, + /* 870 */ -121, -121, -121, -121, 2088, -121, -121, -121, -121, 1950, + /* 880 */ -121, -121, -121, -121, 3744, -121, -121, -121, -121, 3330, + /* 890 */ -121, -121, 18372, -121, -121, -121, -121, 1812, -121, -121, + /* 900 */ -121, -121, 3606, -121, -121, -121, -121, -121, -121, -121, + /* 910 */ -121, -121, -121, -121, -121, -121, -121, 5496, -121, -121, + /* 920 */ 2226, -121, -121, -121, -121, 2778, -121, -121, -121, -121, + /* 930 */ 3468, -121, -121, -121, -121, 1536, -121, -121, -121, -121, + /* 940 */ 708, -121, -121, -121, -121, 3882, -121, -121, 6310, -121, + /* 950 */ -121, 588, -121, 5519, -121, -121, 1674, -121, -121, -121, + /* 960 */ -121, 4158, -121, -121, -121, -121, 18, -121, -121, -121, + /* 970 */ -121, 2916, -121, -121, -121, -121, 2502, -121, -121, 851, + /* 980 */ -121, -121, -121, -121, -121, -121, 712, -121, 698, -121, + /* 990 */ 694, -121, 973, -121, 206, -121, -121, 4451, -121, 4607, + /* 1000 */ -121, -121, 4020, -121, -121, 5075, -121, -121, -121, 4763, + /* 1010 */ -121, -121, 4919, -121, -121, -121, -121, 177, -121, -121, + /* 1020 */ -121, -121, -121, -121, -121, -121, -121, -121, -121, 867, + /* 1030 */ -121, 846, -121, -121, -121, +}; +static YYACTIONTYPE yy_default[] = { + /* 0 */ 1040, 1564, 1036, 1040, 1037, 1039, 1041, 1042, 1043, 1044, + /* 10 */ 1045, 1046, 1047, 1048, 1049, 1054, 1050, 1051, 1052, 1053, + /* 20 */ 1453, 1455, 1564, 1564, 1564, 1454, 1456, 1564, 1459, 1564, + /* 30 */ 1461, 1564, 1463, 1564, 1468, 1564, 1473, 1564, 1475, 1564, + /* 40 */ 1477, 1564, 1479, 1564, 1482, 1564, 1488, 1495, 1564, 1496, + /* 50 */ 1564, 1497, 1564, 1498, 1564, 1499, 1564, 1500, 1564, 1501, + /* 60 */ 1502, 1564, 1503, 1504, 1505, 1506, 1507, 1564, 1564, 1458, + /* 70 */ 1460, 1564, 1464, 1564, 1469, 1472, 1474, 1476, 1564, 1480, + /* 80 */ 1564, 1483, 1564, 1489, 1509, 1511, 1513, 1564, 1462, 1564, + /* 90 */ 1470, 1478, 1564, 1484, 1564, 1490, 1514, 1516, 1517, 1564, + /* 100 */ 1564, 1467, 1481, 1564, 1491, 1521, 1522, 1523, 1524, 1525, + /* 110 */ 1526, 1564, 1487, 1527, 1564, 1528, 1564, 1531, 1564, 1540, + /* 120 */ 1564, 1564, 1532, 1534, 1535, 1536, 1537, 1564, 1564, 1564, + /* 130 */ 1538, 1564, 1564, 1539, 1564, 1564, 1564, 1542, 1564, 1564, + /* 140 */ 1564, 1543, 1564, 1564, 1564, 1564, 1549, 1550, 1551, 1552, + /* 150 */ 1564, 1553, 1564, 1554, 1564, 1564, 1564, 1564, 1564, 1558, + /* 160 */ 1560, 1561, 1562, 1563, 1564, 1564, 1533, 1564, 1541, 1564, + /* 170 */ 1530, 1564, 1529, 1564, 1492, 1564, 1493, 1564, 1494, 1564, + /* 180 */ 1518, 1564, 1485, 1564, 1486, 1564, 1471, 1564, 1515, 1564, + /* 190 */ 1465, 1564, 1466, 1564, 1508, 1564, 1564, 1564, 1510, 1564, + /* 200 */ 1564, 1564, 1564, 1512, 1564, 1457, 1055, 1056, 1057, 1058, + /* 210 */ 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + /* 220 */ 1069, 1070, 1071, 1072, 1073, 1074, 1564, 1075, 1564, 1076, + /* 230 */ 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + /* 240 */ 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + /* 250 */ 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, + /* 260 */ 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, + /* 270 */ 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, + /* 280 */ 1127, 1128, 1564, 1564, 1564, 1564, 1564, 1040, 1564, 1129, + /* 290 */ 1564, 1564, 1564, 1564, 1564, 1040, 1564, 1131, 1564, 1040, + /* 300 */ 1564, 1146, 1564, 1040, 1564, 1147, 1190, 1040, 1564, 1148, + /* 310 */ 1564, 1564, 1564, 1564, 1040, 1564, 1149, 1564, 1040, 1564, + /* 320 */ 1564, 1564, 1564, 1564, 1150, 1564, 1040, 1564, 1564, 1564, + /* 330 */ 1564, 1564, 1564, 1040, 1564, 1151, 1183, 1184, 1186, 1564, + /* 340 */ 1564, 1564, 1564, 1040, 1185, 1564, 1564, 1564, 1564, 1040, + /* 350 */ 1564, 1187, 1564, 1191, 1564, 1564, 1564, 1192, 1193, 1194, + /* 360 */ 1195, 1528, 1564, 1564, 1564, 1196, 1564, 1564, 1564, 1197, + /* 370 */ 1564, 1564, 1564, 1198, 1564, 1564, 1564, 1199, 1534, 1564, + /* 380 */ 1564, 1200, 1564, 1564, 1564, 1201, 1202, 1203, 1204, 1526, + /* 390 */ 1564, 1205, 1207, 1209, 1211, 1564, 1273, 1564, 1274, 1564, + /* 400 */ 1275, 1564, 1276, 1564, 1277, 1564, 1278, 1564, 1279, 1564, + /* 410 */ 1280, 1564, 1281, 1564, 1282, 1564, 1283, 1564, 1284, 1564, + /* 420 */ 1285, 1564, 1286, 1564, 1287, 1564, 1288, 1564, 1289, 1564, + /* 430 */ 1290, 1564, 1291, 1564, 1292, 1564, 1293, 1527, 1564, 1206, + /* 440 */ 1208, 1210, 1212, 1564, 1294, 1564, 1295, 1564, 1296, 1564, + /* 450 */ 1297, 1564, 1298, 1564, 1299, 1564, 1300, 1564, 1301, 1564, + /* 460 */ 1302, 1564, 1303, 1564, 1304, 1564, 1305, 1564, 1306, 1564, + /* 470 */ 1307, 1564, 1308, 1564, 1309, 1564, 1310, 1564, 1311, 1564, + /* 480 */ 1312, 1564, 1313, 1564, 1314, 1504, 1564, 1213, 1564, 1231, + /* 490 */ 1564, 1232, 1564, 1233, 1564, 1234, 1564, 1235, 1564, 1236, + /* 500 */ 1564, 1237, 1564, 1238, 1564, 1239, 1564, 1240, 1564, 1241, + /* 510 */ 1564, 1242, 1564, 1243, 1564, 1244, 1564, 1245, 1564, 1246, + /* 520 */ 1564, 1247, 1564, 1248, 1564, 1249, 1564, 1250, 1564, 1251, + /* 530 */ 1564, 1564, 1564, 1508, 1564, 1214, 1564, 1564, 1564, 1510, + /* 540 */ 1564, 1215, 1564, 1564, 1564, 1564, 1512, 1564, 1216, 1513, + /* 550 */ 1564, 1217, 1218, 1219, 1225, 1564, 1252, 1564, 1253, 1564, + /* 560 */ 1254, 1564, 1255, 1564, 1256, 1564, 1257, 1564, 1258, 1564, + /* 570 */ 1259, 1564, 1260, 1564, 1261, 1564, 1262, 1564, 1263, 1564, + /* 580 */ 1264, 1564, 1265, 1564, 1266, 1564, 1267, 1564, 1268, 1564, + /* 590 */ 1269, 1564, 1270, 1564, 1271, 1564, 1272, 1564, 1564, 1220, + /* 600 */ 1221, 1222, 1223, 1540, 1564, 1564, 1226, 1227, 1228, 1229, + /* 610 */ 1537, 1564, 1230, 1564, 1315, 1564, 1316, 1564, 1317, 1564, + /* 620 */ 1318, 1564, 1319, 1564, 1320, 1564, 1321, 1564, 1322, 1564, + /* 630 */ 1323, 1564, 1324, 1564, 1325, 1564, 1326, 1564, 1327, 1564, + /* 640 */ 1328, 1564, 1329, 1564, 1330, 1564, 1331, 1564, 1332, 1564, + /* 650 */ 1333, 1564, 1334, 1564, 1335, 1339, 1336, 1337, 1338, 1564, + /* 660 */ 1347, 1348, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1564, + /* 670 */ 1564, 1564, 1564, 1564, 1564, 1564, 1349, 1450, 1451, 1452, + /* 680 */ 1564, 1564, 1564, 1350, 1564, 1564, 1564, 1351, 1353, 1352, + /* 690 */ 1564, 1357, 1358, 1359, 1354, 1355, 1356, 1564, 1564, 1353, + /* 700 */ 1360, 1564, 1564, 1353, 1361, 1564, 1564, 1353, 1362, 1564, + /* 710 */ 1363, 1564, 1364, 1564, 1372, 1371, 1564, 1564, 1564, 1365, + /* 720 */ 1564, 1366, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, + /* 730 */ 1564, 1564, 1393, 1564, 1394, 1564, 1402, 1401, 1564, 1400, + /* 740 */ 1399, 1564, 1564, 1564, 1367, 1564, 1368, 1564, 1564, 1395, + /* 750 */ 1564, 1396, 1564, 1564, 1564, 1369, 1564, 1370, 1564, 1564, + /* 760 */ 1397, 1564, 1398, 1564, 1564, 1391, 1564, 1392, 1564, 1373, + /* 770 */ 1564, 1374, 1564, 1390, 1389, 1564, 1564, 1564, 1375, 1564, + /* 780 */ 1376, 1564, 1564, 1405, 1564, 1406, 1564, 1414, 1413, 1564, + /* 790 */ 1412, 1411, 1564, 1564, 1564, 1377, 1564, 1378, 1564, 1564, + /* 800 */ 1407, 1564, 1408, 1564, 1564, 1564, 1379, 1564, 1380, 1564, + /* 810 */ 1564, 1409, 1564, 1410, 1564, 1564, 1403, 1564, 1404, 1415, + /* 820 */ 1564, 1417, 1422, 1425, 1426, 1427, 1428, 1429, 1564, 1418, + /* 830 */ 1423, 1564, 1429, 1564, 1424, 1420, 1416, 1421, 1435, 1430, + /* 840 */ 1564, 1437, 1564, 1432, 1564, 1438, 1564, 1433, 1564, 1439, + /* 850 */ 1564, 1434, 1436, 1431, 1445, 1440, 1564, 1447, 1564, 1442, + /* 860 */ 1564, 1448, 1564, 1443, 1564, 1429, 1564, 1444, 1449, 1446, + /* 870 */ 1441, 1564, 1188, 1564, 1040, 1564, 1189, 1564, 1564, 1040, + /* 880 */ 1564, 1153, 1564, 1564, 1040, 1564, 1156, 1564, 1564, 1040, + /* 890 */ 1564, 1167, 1564, 1564, 1520, 1564, 1564, 1040, 1564, 1170, + /* 900 */ 1564, 1564, 1040, 1564, 1173, 1519, 1158, 1564, 1159, 1564, + /* 910 */ 1160, 1564, 1161, 1564, 1162, 1564, 1163, 1564, 1564, 1564, + /* 920 */ 1040, 1564, 1152, 1564, 1564, 1040, 1564, 1155, 1564, 1564, + /* 930 */ 1040, 1564, 1166, 1564, 1564, 1040, 1564, 1169, 1564, 1564, + /* 940 */ 1040, 1564, 1172, 1564, 1564, 1040, 1564, 1175, 1564, 1564, + /* 950 */ 1564, 1564, 1564, 1564, 1564, 1564, 1040, 1564, 1154, 1564, + /* 960 */ 1564, 1040, 1564, 1157, 1564, 1564, 1040, 1564, 1168, 1564, + /* 970 */ 1564, 1040, 1564, 1171, 1564, 1564, 1040, 1564, 1174, 1564, + /* 980 */ 1165, 1528, 1564, 1564, 1534, 1164, 1564, 1159, 1564, 1160, + /* 990 */ 1564, 1161, 1534, 1162, 1564, 1163, 1564, 1040, 1564, 1040, + /* 1000 */ 1564, 1564, 1040, 1564, 1176, 1040, 1182, 1190, 1181, 1040, + /* 1010 */ 1180, 1179, 1040, 1178, 1177, 1564, 1564, 1564, 1564, 1137, + /* 1020 */ 1564, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1564, + /* 1030 */ 1564, 1040, 1564, 1130, 1038, +}; +#define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0])) + +/* The next table maps tokens into fallback tokens. If a construct +** like the following: +** +** %fallback ID X Y Z. +** +** appears in the grammar, then ID becomes a fallback token for X, Y, +** and Z. Whenever one of the tokens X, Y, or Z is input to the parser +** but it does not parse, the type of the token is changed to ID and +** the parse is retried before an error is thrown. +*/ +#ifdef YYFALLBACK +static const YYCODETYPE yyFallback[] = { +}; +#endif /* YYFALLBACK */ + +/* The following structure represents a single element of the +** parser's stack. Information stored includes: +** +** + The state number for the parser at this level of the stack. +** +** + The value of the token stored at this level of the stack. +** (In other words, the "major" token.) +** +** + The semantic value stored at this level of the stack. This is +** the information used by the action routines in the grammar. +** It is sometimes called the "minor" token. +*/ +struct yyStackEntry { + int stateno; /* The state-number */ + int major; /* The major token value. This is the code + ** number for the token at this stack level */ + YYMINORTYPE minor; /* The user-supplied minor token value. This + ** is the value of the token */ +}; +typedef struct yyStackEntry yyStackEntry; + +/* The state of the parser is completely contained in an instance of +** the following structure. */ +struct _lemon_parser_t { + int yyidx; /* Index of top element in stack */ + int yyerrcnt; /* Shifts left before out of the error */ + ParseARG_SDECL /* A place to hold %extra_argument */ + yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */ +}; +typedef struct _lemon_parser_t lemon_parser_t; + +#ifndef NDEBUG +#include +static FILE *yyTraceFILE = 0; +static char *yyTracePrompt = 0; +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* +** Turn parser tracing on by giving a stream to which to write the trace +** and a prompt to preface each trace message. Tracing is turned off +** by making either argument NULL +** +** Inputs: +**
    +**
  • A FILE* to which trace output should be written. +** If NULL, then tracing is turned off. +**
  • A prefix string written at the beginning of every +** line of trace output. If NULL, then tracing is +** turned off. +**
+** +** Outputs: +** None. +*/ +void mlr_dsl_ParseTrace(FILE *TraceFILE, char *zTracePrompt) { + yyTraceFILE = TraceFILE; + yyTracePrompt = zTracePrompt; + if (yyTraceFILE==0) + yyTracePrompt = 0; + else if (yyTracePrompt==0) + yyTraceFILE = 0; +} +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* For tracing shifts, the names of all terminals and nonterminals +** are required. The following table supplies these names */ +static const char *yyTokenName[] = { + "$", "MD_TOKEN_SEMICOLON", "MD_TOKEN_RETURN", "MD_TOKEN_FULL_SREC", + "MD_TOKEN_FULL_OOSVAR", "MD_TOKEN_SUBR_CALL", "MD_TOKEN_BREAK", "MD_TOKEN_CONTINUE", + "MD_TOKEN_FUNC_DEF", "MD_TOKEN_NON_SIGIL_NAME", "MD_TOKEN_LPAREN", "MD_TOKEN_RPAREN", + "MD_TOKEN_LBRACE", "MD_TOKEN_RBRACE", "MD_TOKEN_COLON", "MD_TOKEN_SUBR_DEF", + "MD_TOKEN_COMMA", "MD_TOKEN_VAR", "MD_TOKEN_NUMERIC", "MD_TOKEN_INT", + "MD_TOKEN_FLOAT", "MD_TOKEN_STRING", "MD_TOKEN_BOOLEAN", "MD_TOKEN_MAP", + "MD_TOKEN_BEGIN", "MD_TOKEN_END", "MD_TOKEN_WHILE", "MD_TOKEN_DO", + "MD_TOKEN_FOR", "MD_TOKEN_IN", "MD_TOKEN_IF", "MD_TOKEN_ELIF", + "MD_TOKEN_ELSE", "MD_TOKEN_FILTER", "MD_TOKEN_ASSIGN", "MD_TOKEN_DOLLAR_SIGN", + "MD_TOKEN_LEFT_BRACKET", "MD_TOKEN_RIGHT_BRACKET", "MD_TOKEN_LOGICAL_OR_EQUALS", "MD_TOKEN_LOGICAL_XOR_EQUALS", + "MD_TOKEN_LOGICAL_AND_EQUALS", "MD_TOKEN_BITWISE_OR_EQUALS", "MD_TOKEN_BITWISE_XOR_EQUALS", "MD_TOKEN_BITWISE_AND_EQUALS", + "MD_TOKEN_BITWISE_LSH_EQUALS", "MD_TOKEN_BITWISE_RSH_EQUALS", "MD_TOKEN_PLUS_EQUALS", "MD_TOKEN_MINUS_EQUALS", + "MD_TOKEN_DOT_EQUALS", "MD_TOKEN_TIMES_EQUALS", "MD_TOKEN_DIVIDE_EQUALS", "MD_TOKEN_INT_DIVIDE_EQUALS", + "MD_TOKEN_OPLUS_EQUALS", "MD_TOKEN_OMINUS_EQUALS", "MD_TOKEN_OTIMES_EQUALS", "MD_TOKEN_ODIVIDE_EQUALS", + "MD_TOKEN_INT_ODIVIDE_EQUALS", "MD_TOKEN_MOD_EQUALS", "MD_TOKEN_POW_EQUALS", "MD_TOKEN_OINT_DIVIDE_EQUALS", + "MD_TOKEN_OMOD_EQUALS", "MD_TOKEN_OPOW_EQUALS", "MD_TOKEN_UNSET", "MD_TOKEN_ALL", + "MD_TOKEN_TEE", "MD_TOKEN_GT", "MD_TOKEN_BITWISE_RSH", "MD_TOKEN_BITWISE_OR", + "MD_TOKEN_EMITF", "MD_TOKEN_EMITP", "MD_TOKEN_EMIT", "MD_TOKEN_DUMP", + "MD_TOKEN_EDUMP", "MD_TOKEN_PRINT", "MD_TOKEN_EPRINT", "MD_TOKEN_PRINTN", + "MD_TOKEN_EPRINTN", "MD_TOKEN_STDOUT", "MD_TOKEN_STDERR", "MD_TOKEN_QUESTION_MARK", + "MD_TOKEN_LOGICAL_OR", "MD_TOKEN_LOGICAL_XOR", "MD_TOKEN_LOGICAL_AND", "MD_TOKEN_MATCHES", + "MD_TOKEN_DOES_NOT_MATCH", "MD_TOKEN_EQ", "MD_TOKEN_NE", "MD_TOKEN_GE", + "MD_TOKEN_LT", "MD_TOKEN_LE", "MD_TOKEN_BITWISE_XOR", "MD_TOKEN_BITWISE_AND", + "MD_TOKEN_BITWISE_LSH", "MD_TOKEN_PLUS", "MD_TOKEN_MINUS", "MD_TOKEN_OPLUS", + "MD_TOKEN_OMINUS", "MD_TOKEN_DOT", "MD_TOKEN_TIMES", "MD_TOKEN_DIVIDE", + "MD_TOKEN_INT_DIVIDE", "MD_TOKEN_MOD", "MD_TOKEN_OTIMES", "MD_TOKEN_ODIVIDE", + "MD_TOKEN_INT_ODIVIDE", "MD_TOKEN_LOGICAL_NOT", "MD_TOKEN_BITWISE_NOT", "MD_TOKEN_POW", + "MD_TOKEN_FIELD_NAME", "MD_TOKEN_BRACED_FIELD_NAME", "MD_TOKEN_UNBRACED_OOSVAR_NAME", "MD_TOKEN_BRACED_OOSVAR_NAME", + "MD_TOKEN_AT_SIGN", "MD_TOKEN_NUMBER", "MD_TOKEN_TRUE", "MD_TOKEN_FALSE", + "MD_TOKEN_REGEXI", "MD_TOKEN_CONTEXT_VARIABLE", "MD_TOKEN_ENV", "error", + "md_body", "md_statement_block", "md_statement_braceless", "md_statement_braceful", + "md_untyped_local_definition", "md_numeric_local_definition", "md_int_local_definition", "md_float_local_definition", + "md_boolean_local_definition", "md_string_local_definition", "md_map_local_definition", "md_nonindexed_local_assignment", + "md_indexed_local_assignment", "md_rhs", "md_map_literal", "md_func_block", + "md_subr_block", "md_begin_block", "md_end_block", "md_cond_block", + "md_while_block", "md_for_loop_full_srec", "md_for_loop_full_srec_key_only", "md_for_loop_full_oosvar", + "md_for_loop_full_oosvar_key_only", "md_for_loop_oosvar", "md_for_loop_oosvar_key_only", "md_for_loop_local_map", + "md_for_loop_local_map_key_only", "md_for_loop_map_literal", "md_for_loop_map_literal_key_only", "md_for_loop_func_retval", + "md_for_loop_func_retval_key_only", "md_triple_for", "md_if_chain", "md_fcn_or_subr_call", + "md_srec_assignment", "md_srec_indirect_assignment", "md_srec_positional_name_assignment", "md_srec_positional_value_assignment", + "md_oosvar_from_full_srec_assignment", "md_full_srec_assignment", "md_env_assignment", "md_do_while_block", + "md_bare_boolean", "md_oosvar_assignment", "md_full_oosvar_assignment", "md_filter", + "md_unset", "md_tee_write", "md_tee_append", "md_tee_pipe", + "md_emitf", "md_emitf_write", "md_emitf_append", "md_emitf_pipe", + "md_emitp", "md_emitp_write", "md_emitp_append", "md_emitp_pipe", + "md_emit", "md_emit_write", "md_emit_append", "md_emit_pipe", + "md_emitp_lashed", "md_emitp_lashed_write", "md_emitp_lashed_append", "md_emitp_lashed_pipe", + "md_emit_lashed", "md_emit_lashed_write", "md_emit_lashed_append", "md_emit_lashed_pipe", + "md_dump", "md_dump_write", "md_dump_append", "md_dump_pipe", + "md_edump", "md_print", "md_eprint", "md_print_write", + "md_print_append", "md_print_pipe", "md_printn", "md_eprintn", + "md_printn_write", "md_printn_append", "md_printn_pipe", "md_func_or_subr_parameter_list", + "md_typedecl", "md_func_or_subr_non_empty_parameter_list", "md_func_or_subr_parameter", "md_for_loop_index", + "md_for_map_keylist", "md_oosvar_keylist", "md_local_map_keylist", "md_triple_for_start", + "md_triple_for_continuation", "md_triple_for_update", "md_if_elif_star", "md_else_block", + "md_if_block", "md_elif_block", "md_nonindexed_local_variable", "md_indexed_local_variable", + "md_field_name", "md_env_index", "md_unset_args", "md_indirect_field_name", + "md_positional_srec_name", "md_output_file", "md_emitf_args", "md_emittable", + "md_emitp_namelist", "md_emit_namelist", "md_emitp_lashed_keylists", "md_emitp_lashed_namelist", + "md_emit_lashed_keylists", "md_emit_lashed_namelist", "md_dumpable", "md_ternary", + "md_logical_or_term", "md_logical_xor_term", "md_logical_and_term", "md_eqne_term", + "md_cmp_term", "md_bitwise_or_term", "md_bitwise_xor_term", "md_bitwise_and_term", + "md_bitwise_shift_term", "md_addsubdot_term", "md_muldiv_term", "md_unary_bitwise_op_term", + "md_pow_term", "md_atom_or_fcn", "md_positional_srec_value", "md_oosvar_basename", + "md_string", "md_regexi", "md_indexed_function_call", "md_fcn_arg_list", + "md_fcn_non_empty_arg_list", "md_fcn_arg", "md_map_literal_kv_pairs", "md_map_literal_kv_pair", + "md_map_literal_key", "md_map_literal_value", +}; +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* For tracing reduce actions, the names of all rules are required. +*/ +static const char *yyRuleName[] = { + /* 0 */ "md_body ::= md_statement_block", + /* 1 */ "md_statement_block ::= md_statement_braceless", + /* 2 */ "md_statement_block ::= md_statement_braceful", + /* 3 */ "md_statement_block ::= md_statement_braceless MD_TOKEN_SEMICOLON md_statement_block", + /* 4 */ "md_statement_block ::= md_statement_braceful md_statement_block", + /* 5 */ "md_statement_braceless ::=", + /* 6 */ "md_statement_braceless ::= md_untyped_local_definition", + /* 7 */ "md_statement_braceless ::= md_numeric_local_definition", + /* 8 */ "md_statement_braceless ::= md_int_local_definition", + /* 9 */ "md_statement_braceless ::= md_float_local_definition", + /* 10 */ "md_statement_braceless ::= md_boolean_local_definition", + /* 11 */ "md_statement_braceless ::= md_string_local_definition", + /* 12 */ "md_statement_braceless ::= md_map_local_definition", + /* 13 */ "md_statement_braceless ::= md_nonindexed_local_assignment", + /* 14 */ "md_statement_braceless ::= md_indexed_local_assignment", + /* 15 */ "md_statement_braceless ::= MD_TOKEN_RETURN md_rhs", + /* 16 */ "md_statement_braceless ::= MD_TOKEN_RETURN md_map_literal", + /* 17 */ "md_statement_braceless ::= MD_TOKEN_RETURN MD_TOKEN_FULL_SREC", + /* 18 */ "md_statement_braceless ::= MD_TOKEN_RETURN MD_TOKEN_FULL_OOSVAR", + /* 19 */ "md_statement_braceless ::= MD_TOKEN_RETURN", + /* 20 */ "md_statement_braceful ::= md_func_block", + /* 21 */ "md_statement_braceful ::= md_subr_block", + /* 22 */ "md_statement_braceful ::= md_begin_block", + /* 23 */ "md_statement_braceful ::= md_end_block", + /* 24 */ "md_statement_braceful ::= md_cond_block", + /* 25 */ "md_statement_braceful ::= md_while_block", + /* 26 */ "md_statement_braceful ::= md_for_loop_full_srec", + /* 27 */ "md_statement_braceful ::= md_for_loop_full_srec_key_only", + /* 28 */ "md_statement_braceful ::= md_for_loop_full_oosvar", + /* 29 */ "md_statement_braceful ::= md_for_loop_full_oosvar_key_only", + /* 30 */ "md_statement_braceful ::= md_for_loop_oosvar", + /* 31 */ "md_statement_braceful ::= md_for_loop_oosvar_key_only", + /* 32 */ "md_statement_braceful ::= md_for_loop_local_map", + /* 33 */ "md_statement_braceful ::= md_for_loop_local_map_key_only", + /* 34 */ "md_statement_braceful ::= md_for_loop_map_literal", + /* 35 */ "md_statement_braceful ::= md_for_loop_map_literal_key_only", + /* 36 */ "md_statement_braceful ::= md_for_loop_func_retval", + /* 37 */ "md_statement_braceful ::= md_for_loop_func_retval_key_only", + /* 38 */ "md_statement_braceful ::= md_triple_for", + /* 39 */ "md_statement_braceful ::= md_if_chain", + /* 40 */ "md_statement_braceless ::= MD_TOKEN_SUBR_CALL md_fcn_or_subr_call", + /* 41 */ "md_statement_braceless ::= md_srec_assignment", + /* 42 */ "md_statement_braceless ::= md_srec_indirect_assignment", + /* 43 */ "md_statement_braceless ::= md_srec_positional_name_assignment", + /* 44 */ "md_statement_braceless ::= md_srec_positional_value_assignment", + /* 45 */ "md_statement_braceless ::= md_oosvar_from_full_srec_assignment", + /* 46 */ "md_statement_braceless ::= md_full_srec_assignment", + /* 47 */ "md_statement_braceless ::= md_env_assignment", + /* 48 */ "md_statement_braceless ::= md_do_while_block", + /* 49 */ "md_statement_braceless ::= md_bare_boolean", + /* 50 */ "md_statement_braceless ::= md_oosvar_assignment", + /* 51 */ "md_statement_braceless ::= md_full_oosvar_assignment", + /* 52 */ "md_statement_braceless ::= md_filter", + /* 53 */ "md_statement_braceless ::= md_unset", + /* 54 */ "md_statement_braceless ::= md_tee_write", + /* 55 */ "md_statement_braceless ::= md_tee_append", + /* 56 */ "md_statement_braceless ::= md_tee_pipe", + /* 57 */ "md_statement_braceless ::= md_emitf", + /* 58 */ "md_statement_braceless ::= md_emitf_write", + /* 59 */ "md_statement_braceless ::= md_emitf_append", + /* 60 */ "md_statement_braceless ::= md_emitf_pipe", + /* 61 */ "md_statement_braceless ::= md_emitp", + /* 62 */ "md_statement_braceless ::= md_emitp_write", + /* 63 */ "md_statement_braceless ::= md_emitp_append", + /* 64 */ "md_statement_braceless ::= md_emitp_pipe", + /* 65 */ "md_statement_braceless ::= md_emit", + /* 66 */ "md_statement_braceless ::= md_emit_write", + /* 67 */ "md_statement_braceless ::= md_emit_append", + /* 68 */ "md_statement_braceless ::= md_emit_pipe", + /* 69 */ "md_statement_braceless ::= md_emitp_lashed", + /* 70 */ "md_statement_braceless ::= md_emitp_lashed_write", + /* 71 */ "md_statement_braceless ::= md_emitp_lashed_append", + /* 72 */ "md_statement_braceless ::= md_emitp_lashed_pipe", + /* 73 */ "md_statement_braceless ::= md_emit_lashed", + /* 74 */ "md_statement_braceless ::= md_emit_lashed_write", + /* 75 */ "md_statement_braceless ::= md_emit_lashed_append", + /* 76 */ "md_statement_braceless ::= md_emit_lashed_pipe", + /* 77 */ "md_statement_braceless ::= md_dump", + /* 78 */ "md_statement_braceless ::= md_dump_write", + /* 79 */ "md_statement_braceless ::= md_dump_append", + /* 80 */ "md_statement_braceless ::= md_dump_pipe", + /* 81 */ "md_statement_braceless ::= md_edump", + /* 82 */ "md_statement_braceless ::= md_print", + /* 83 */ "md_statement_braceless ::= md_eprint", + /* 84 */ "md_statement_braceless ::= md_print_write", + /* 85 */ "md_statement_braceless ::= md_print_append", + /* 86 */ "md_statement_braceless ::= md_print_pipe", + /* 87 */ "md_statement_braceless ::= md_printn", + /* 88 */ "md_statement_braceless ::= md_eprintn", + /* 89 */ "md_statement_braceless ::= md_printn_write", + /* 90 */ "md_statement_braceless ::= md_printn_append", + /* 91 */ "md_statement_braceless ::= md_printn_pipe", + /* 92 */ "md_statement_braceless ::= MD_TOKEN_BREAK", + /* 93 */ "md_statement_braceless ::= MD_TOKEN_CONTINUE", + /* 94 */ "md_func_block ::= MD_TOKEN_FUNC_DEF MD_TOKEN_NON_SIGIL_NAME MD_TOKEN_LPAREN md_func_or_subr_parameter_list MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 95 */ "md_func_block ::= MD_TOKEN_FUNC_DEF MD_TOKEN_NON_SIGIL_NAME MD_TOKEN_LPAREN md_func_or_subr_parameter_list MD_TOKEN_RPAREN MD_TOKEN_COLON md_typedecl MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 96 */ "md_subr_block ::= MD_TOKEN_SUBR_DEF MD_TOKEN_NON_SIGIL_NAME MD_TOKEN_LPAREN md_func_or_subr_parameter_list MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 97 */ "md_func_or_subr_parameter_list ::=", + /* 98 */ "md_func_or_subr_parameter_list ::= md_func_or_subr_non_empty_parameter_list", + /* 99 */ "md_func_or_subr_non_empty_parameter_list ::= md_func_or_subr_parameter", + /* 100 */ "md_func_or_subr_non_empty_parameter_list ::= md_func_or_subr_parameter MD_TOKEN_COMMA", + /* 101 */ "md_func_or_subr_non_empty_parameter_list ::= md_func_or_subr_parameter MD_TOKEN_COMMA md_func_or_subr_non_empty_parameter_list", + /* 102 */ "md_func_or_subr_parameter ::= MD_TOKEN_NON_SIGIL_NAME", + /* 103 */ "md_func_or_subr_parameter ::= md_typedecl MD_TOKEN_NON_SIGIL_NAME", + /* 104 */ "md_typedecl ::= MD_TOKEN_VAR", + /* 105 */ "md_typedecl ::= MD_TOKEN_NUMERIC", + /* 106 */ "md_typedecl ::= MD_TOKEN_INT", + /* 107 */ "md_typedecl ::= MD_TOKEN_FLOAT", + /* 108 */ "md_typedecl ::= MD_TOKEN_STRING", + /* 109 */ "md_typedecl ::= MD_TOKEN_BOOLEAN", + /* 110 */ "md_typedecl ::= MD_TOKEN_MAP", + /* 111 */ "md_begin_block ::= MD_TOKEN_BEGIN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 112 */ "md_end_block ::= MD_TOKEN_END MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 113 */ "md_cond_block ::= md_rhs MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 114 */ "md_while_block ::= MD_TOKEN_WHILE MD_TOKEN_LPAREN md_rhs MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 115 */ "md_do_while_block ::= MD_TOKEN_DO MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE MD_TOKEN_WHILE MD_TOKEN_LPAREN md_rhs MD_TOKEN_RPAREN", + /* 116 */ "md_for_loop_full_srec ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN MD_TOKEN_FULL_SREC MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 117 */ "md_for_loop_full_srec_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN MD_TOKEN_FULL_SREC MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 118 */ "md_for_loop_full_oosvar ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN MD_TOKEN_FULL_OOSVAR MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 119 */ "md_for_loop_full_oosvar ::= MD_TOKEN_FOR MD_TOKEN_LPAREN MD_TOKEN_LPAREN md_for_map_keylist MD_TOKEN_RPAREN MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN MD_TOKEN_FULL_OOSVAR MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 120 */ "md_for_loop_full_oosvar_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN MD_TOKEN_FULL_OOSVAR MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 121 */ "md_for_loop_oosvar ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_oosvar_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 122 */ "md_for_loop_oosvar ::= MD_TOKEN_FOR MD_TOKEN_LPAREN MD_TOKEN_LPAREN md_for_map_keylist MD_TOKEN_RPAREN MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_oosvar_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 123 */ "md_for_loop_index ::= MD_TOKEN_NON_SIGIL_NAME", + /* 124 */ "md_for_loop_index ::= MD_TOKEN_NUMERIC MD_TOKEN_NON_SIGIL_NAME", + /* 125 */ "md_for_loop_index ::= MD_TOKEN_INT MD_TOKEN_NON_SIGIL_NAME", + /* 126 */ "md_for_loop_index ::= MD_TOKEN_FLOAT MD_TOKEN_NON_SIGIL_NAME", + /* 127 */ "md_for_loop_index ::= MD_TOKEN_STRING MD_TOKEN_NON_SIGIL_NAME", + /* 128 */ "md_for_loop_index ::= MD_TOKEN_BOOLEAN MD_TOKEN_NON_SIGIL_NAME", + /* 129 */ "md_for_map_keylist ::= md_for_loop_index", + /* 130 */ "md_for_map_keylist ::= md_for_map_keylist MD_TOKEN_COMMA md_for_loop_index", + /* 131 */ "md_for_loop_oosvar_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN md_oosvar_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 132 */ "md_for_loop_local_map ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_local_map_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 133 */ "md_for_loop_local_map ::= MD_TOKEN_FOR MD_TOKEN_LPAREN MD_TOKEN_LPAREN md_for_map_keylist MD_TOKEN_RPAREN MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_local_map_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 134 */ "md_for_loop_local_map_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN md_local_map_keylist MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 135 */ "md_for_loop_map_literal ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_map_literal MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 136 */ "md_for_loop_map_literal ::= MD_TOKEN_FOR MD_TOKEN_LPAREN MD_TOKEN_LPAREN md_for_map_keylist MD_TOKEN_RPAREN MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_map_literal MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 137 */ "md_for_loop_map_literal_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN md_map_literal MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 138 */ "md_for_loop_func_retval ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_fcn_or_subr_call MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 139 */ "md_for_loop_func_retval ::= MD_TOKEN_FOR MD_TOKEN_LPAREN MD_TOKEN_LPAREN md_for_map_keylist MD_TOKEN_RPAREN MD_TOKEN_COMMA md_for_loop_index MD_TOKEN_IN md_fcn_or_subr_call MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 140 */ "md_for_loop_func_retval_key_only ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_for_loop_index MD_TOKEN_IN md_fcn_or_subr_call MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 141 */ "md_triple_for ::= MD_TOKEN_FOR MD_TOKEN_LPAREN md_triple_for_start MD_TOKEN_SEMICOLON md_triple_for_continuation MD_TOKEN_SEMICOLON md_triple_for_update MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 142 */ "md_triple_for_start ::= md_statement_braceless", + /* 143 */ "md_triple_for_start ::= md_triple_for_start MD_TOKEN_COMMA md_statement_braceless", + /* 144 */ "md_triple_for_continuation ::= md_statement_braceless", + /* 145 */ "md_triple_for_continuation ::= md_triple_for_continuation MD_TOKEN_COMMA md_statement_braceless", + /* 146 */ "md_triple_for_update ::= md_statement_braceless", + /* 147 */ "md_triple_for_update ::= md_triple_for_update MD_TOKEN_COMMA md_statement_braceless", + /* 148 */ "md_if_chain ::= md_if_elif_star", + /* 149 */ "md_if_chain ::= md_if_elif_star md_else_block", + /* 150 */ "md_if_elif_star ::= md_if_block", + /* 151 */ "md_if_elif_star ::= md_if_elif_star md_elif_block", + /* 152 */ "md_if_block ::= MD_TOKEN_IF MD_TOKEN_LPAREN md_rhs MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 153 */ "md_elif_block ::= MD_TOKEN_ELIF MD_TOKEN_LPAREN md_rhs MD_TOKEN_RPAREN MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 154 */ "md_else_block ::= MD_TOKEN_ELSE MD_TOKEN_LBRACE md_statement_block MD_TOKEN_RBRACE", + /* 155 */ "md_bare_boolean ::= md_rhs", + /* 156 */ "md_filter ::= MD_TOKEN_FILTER md_rhs", + /* 157 */ "md_untyped_local_definition ::= MD_TOKEN_VAR md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 158 */ "md_untyped_local_definition ::= MD_TOKEN_VAR md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 159 */ "md_untyped_local_definition ::= MD_TOKEN_VAR md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 160 */ "md_untyped_local_definition ::= MD_TOKEN_VAR md_nonindexed_local_variable MD_TOKEN_ASSIGN md_map_literal", + /* 161 */ "md_numeric_local_definition ::= MD_TOKEN_NUMERIC md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 162 */ "md_int_local_definition ::= MD_TOKEN_INT md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 163 */ "md_float_local_definition ::= MD_TOKEN_FLOAT md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 164 */ "md_boolean_local_definition ::= MD_TOKEN_BOOLEAN md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 165 */ "md_string_local_definition ::= MD_TOKEN_STRING md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 166 */ "md_map_local_definition ::= MD_TOKEN_MAP md_nonindexed_local_variable MD_TOKEN_ASSIGN md_map_literal", + /* 167 */ "md_map_local_definition ::= MD_TOKEN_MAP md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 168 */ "md_map_local_definition ::= MD_TOKEN_MAP md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 169 */ "md_map_local_definition ::= MD_TOKEN_MAP md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 170 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 171 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_ASSIGN md_rhs", + /* 172 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_ASSIGN md_map_literal", + /* 173 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_ASSIGN md_map_literal", + /* 174 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 175 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 176 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 177 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 178 */ "md_srec_assignment ::= md_field_name MD_TOKEN_ASSIGN md_rhs", + /* 179 */ "md_srec_indirect_assignment ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET MD_TOKEN_ASSIGN md_rhs", + /* 180 */ "md_srec_positional_name_assignment ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET MD_TOKEN_ASSIGN md_rhs", + /* 181 */ "md_srec_positional_value_assignment ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET MD_TOKEN_ASSIGN md_rhs", + /* 182 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_ASSIGN md_rhs", + /* 183 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_ASSIGN md_map_literal", + /* 184 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 185 */ "md_full_oosvar_assignment ::= MD_TOKEN_FULL_OOSVAR MD_TOKEN_ASSIGN md_rhs", + /* 186 */ "md_full_oosvar_assignment ::= MD_TOKEN_FULL_OOSVAR MD_TOKEN_ASSIGN md_map_literal", + /* 187 */ "md_full_oosvar_assignment ::= MD_TOKEN_FULL_OOSVAR MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 188 */ "md_full_oosvar_assignment ::= MD_TOKEN_FULL_OOSVAR MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 189 */ "md_full_oosvar_assignment ::= MD_TOKEN_FULL_OOSVAR MD_TOKEN_ASSIGN md_fcn_or_subr_call", + /* 190 */ "md_oosvar_from_full_srec_assignment ::= md_oosvar_keylist MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 191 */ "md_full_srec_assignment ::= MD_TOKEN_FULL_SREC MD_TOKEN_ASSIGN md_rhs", + /* 192 */ "md_full_srec_assignment ::= MD_TOKEN_FULL_SREC MD_TOKEN_ASSIGN md_map_literal", + /* 193 */ "md_full_srec_assignment ::= MD_TOKEN_FULL_SREC MD_TOKEN_ASSIGN MD_TOKEN_FULL_SREC", + /* 194 */ "md_full_srec_assignment ::= MD_TOKEN_FULL_SREC MD_TOKEN_ASSIGN MD_TOKEN_FULL_OOSVAR", + /* 195 */ "md_env_assignment ::= md_env_index MD_TOKEN_ASSIGN md_rhs", + /* 196 */ "md_srec_assignment ::= md_field_name MD_TOKEN_LOGICAL_OR_EQUALS md_rhs", + /* 197 */ "md_srec_assignment ::= md_field_name MD_TOKEN_LOGICAL_XOR_EQUALS md_rhs", + /* 198 */ "md_srec_assignment ::= md_field_name MD_TOKEN_LOGICAL_AND_EQUALS md_rhs", + /* 199 */ "md_srec_assignment ::= md_field_name MD_TOKEN_BITWISE_OR_EQUALS md_rhs", + /* 200 */ "md_srec_assignment ::= md_field_name MD_TOKEN_BITWISE_XOR_EQUALS md_rhs", + /* 201 */ "md_srec_assignment ::= md_field_name MD_TOKEN_BITWISE_AND_EQUALS md_rhs", + /* 202 */ "md_srec_assignment ::= md_field_name MD_TOKEN_BITWISE_LSH_EQUALS md_rhs", + /* 203 */ "md_srec_assignment ::= md_field_name MD_TOKEN_BITWISE_RSH_EQUALS md_rhs", + /* 204 */ "md_srec_assignment ::= md_field_name MD_TOKEN_PLUS_EQUALS md_rhs", + /* 205 */ "md_srec_assignment ::= md_field_name MD_TOKEN_MINUS_EQUALS md_rhs", + /* 206 */ "md_srec_assignment ::= md_field_name MD_TOKEN_DOT_EQUALS md_rhs", + /* 207 */ "md_srec_assignment ::= md_field_name MD_TOKEN_TIMES_EQUALS md_rhs", + /* 208 */ "md_srec_assignment ::= md_field_name MD_TOKEN_DIVIDE_EQUALS md_rhs", + /* 209 */ "md_srec_assignment ::= md_field_name MD_TOKEN_INT_DIVIDE_EQUALS md_rhs", + /* 210 */ "md_srec_assignment ::= md_field_name MD_TOKEN_OPLUS_EQUALS md_rhs", + /* 211 */ "md_srec_assignment ::= md_field_name MD_TOKEN_OMINUS_EQUALS md_rhs", + /* 212 */ "md_srec_assignment ::= md_field_name MD_TOKEN_OTIMES_EQUALS md_rhs", + /* 213 */ "md_srec_assignment ::= md_field_name MD_TOKEN_ODIVIDE_EQUALS md_rhs", + /* 214 */ "md_srec_assignment ::= md_field_name MD_TOKEN_INT_ODIVIDE_EQUALS md_rhs", + /* 215 */ "md_srec_assignment ::= md_field_name MD_TOKEN_MOD_EQUALS md_rhs", + /* 216 */ "md_srec_assignment ::= md_field_name MD_TOKEN_POW_EQUALS md_rhs", + /* 217 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_LOGICAL_OR_EQUALS md_rhs", + /* 218 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_LOGICAL_XOR_EQUALS md_rhs", + /* 219 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_LOGICAL_AND_EQUALS md_rhs", + /* 220 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_BITWISE_OR_EQUALS md_rhs", + /* 221 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_BITWISE_XOR_EQUALS md_rhs", + /* 222 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_BITWISE_AND_EQUALS md_rhs", + /* 223 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_BITWISE_LSH_EQUALS md_rhs", + /* 224 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_BITWISE_RSH_EQUALS md_rhs", + /* 225 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_PLUS_EQUALS md_rhs", + /* 226 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_MINUS_EQUALS md_rhs", + /* 227 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_DOT_EQUALS md_rhs", + /* 228 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_TIMES_EQUALS md_rhs", + /* 229 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_DIVIDE_EQUALS md_rhs", + /* 230 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_INT_DIVIDE_EQUALS md_rhs", + /* 231 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_MOD_EQUALS md_rhs", + /* 232 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_POW_EQUALS md_rhs", + /* 233 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_OPLUS_EQUALS md_rhs", + /* 234 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_OMINUS_EQUALS md_rhs", + /* 235 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_OTIMES_EQUALS md_rhs", + /* 236 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_ODIVIDE_EQUALS md_rhs", + /* 237 */ "md_oosvar_assignment ::= md_oosvar_keylist MD_TOKEN_INT_ODIVIDE_EQUALS md_rhs", + /* 238 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_LOGICAL_OR_EQUALS md_rhs", + /* 239 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_LOGICAL_XOR_EQUALS md_rhs", + /* 240 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_LOGICAL_AND_EQUALS md_rhs", + /* 241 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_BITWISE_OR_EQUALS md_rhs", + /* 242 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_BITWISE_XOR_EQUALS md_rhs", + /* 243 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_BITWISE_AND_EQUALS md_rhs", + /* 244 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_BITWISE_LSH_EQUALS md_rhs", + /* 245 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_BITWISE_RSH_EQUALS md_rhs", + /* 246 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_PLUS_EQUALS md_rhs", + /* 247 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_MINUS_EQUALS md_rhs", + /* 248 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_DOT_EQUALS md_rhs", + /* 249 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_TIMES_EQUALS md_rhs", + /* 250 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_DIVIDE_EQUALS md_rhs", + /* 251 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_INT_DIVIDE_EQUALS md_rhs", + /* 252 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_MOD_EQUALS md_rhs", + /* 253 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_POW_EQUALS md_rhs", + /* 254 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_OPLUS_EQUALS md_rhs", + /* 255 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_OMINUS_EQUALS md_rhs", + /* 256 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_OTIMES_EQUALS md_rhs", + /* 257 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_ODIVIDE_EQUALS md_rhs", + /* 258 */ "md_nonindexed_local_assignment ::= md_nonindexed_local_variable MD_TOKEN_INT_ODIVIDE_EQUALS md_rhs", + /* 259 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_LOGICAL_OR_EQUALS md_rhs", + /* 260 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_LOGICAL_XOR_EQUALS md_rhs", + /* 261 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_LOGICAL_AND_EQUALS md_rhs", + /* 262 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_BITWISE_OR_EQUALS md_rhs", + /* 263 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_BITWISE_XOR_EQUALS md_rhs", + /* 264 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_BITWISE_AND_EQUALS md_rhs", + /* 265 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_BITWISE_LSH_EQUALS md_rhs", + /* 266 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_BITWISE_RSH_EQUALS md_rhs", + /* 267 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_PLUS_EQUALS md_rhs", + /* 268 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_MINUS_EQUALS md_rhs", + /* 269 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_DOT_EQUALS md_rhs", + /* 270 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_TIMES_EQUALS md_rhs", + /* 271 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_DIVIDE_EQUALS md_rhs", + /* 272 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_INT_DIVIDE_EQUALS md_rhs", + /* 273 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_MOD_EQUALS md_rhs", + /* 274 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_POW_EQUALS md_rhs", + /* 275 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_OPLUS_EQUALS md_rhs", + /* 276 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_OMINUS_EQUALS md_rhs", + /* 277 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_OTIMES_EQUALS md_rhs", + /* 278 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_ODIVIDE_EQUALS md_rhs", + /* 279 */ "md_indexed_local_assignment ::= md_indexed_local_variable MD_TOKEN_INT_ODIVIDE_EQUALS md_rhs", + /* 280 */ "md_env_assignment ::= md_env_index MD_TOKEN_LOGICAL_OR_EQUALS md_rhs", + /* 281 */ "md_env_assignment ::= md_env_index MD_TOKEN_LOGICAL_XOR_EQUALS md_rhs", + /* 282 */ "md_env_assignment ::= md_env_index MD_TOKEN_LOGICAL_AND_EQUALS md_rhs", + /* 283 */ "md_env_assignment ::= md_env_index MD_TOKEN_BITWISE_OR_EQUALS md_rhs", + /* 284 */ "md_env_assignment ::= md_env_index MD_TOKEN_BITWISE_XOR_EQUALS md_rhs", + /* 285 */ "md_env_assignment ::= md_env_index MD_TOKEN_BITWISE_AND_EQUALS md_rhs", + /* 286 */ "md_env_assignment ::= md_env_index MD_TOKEN_BITWISE_LSH_EQUALS md_rhs", + /* 287 */ "md_env_assignment ::= md_env_index MD_TOKEN_BITWISE_RSH_EQUALS md_rhs", + /* 288 */ "md_env_assignment ::= md_env_index MD_TOKEN_PLUS_EQUALS md_rhs", + /* 289 */ "md_env_assignment ::= md_env_index MD_TOKEN_MINUS_EQUALS md_rhs", + /* 290 */ "md_env_assignment ::= md_env_index MD_TOKEN_DOT_EQUALS md_rhs", + /* 291 */ "md_env_assignment ::= md_env_index MD_TOKEN_TIMES_EQUALS md_rhs", + /* 292 */ "md_env_assignment ::= md_env_index MD_TOKEN_DIVIDE_EQUALS md_rhs", + /* 293 */ "md_env_assignment ::= md_env_index MD_TOKEN_INT_DIVIDE_EQUALS md_rhs", + /* 294 */ "md_env_assignment ::= md_env_index MD_TOKEN_MOD_EQUALS md_rhs", + /* 295 */ "md_env_assignment ::= md_env_index MD_TOKEN_POW_EQUALS md_rhs", + /* 296 */ "md_env_assignment ::= md_env_index MD_TOKEN_OTIMES_EQUALS md_rhs", + /* 297 */ "md_env_assignment ::= md_env_index MD_TOKEN_ODIVIDE_EQUALS md_rhs", + /* 298 */ "md_env_assignment ::= md_env_index MD_TOKEN_OINT_DIVIDE_EQUALS md_rhs", + /* 299 */ "md_env_assignment ::= md_env_index MD_TOKEN_OMOD_EQUALS md_rhs", + /* 300 */ "md_env_assignment ::= md_env_index MD_TOKEN_OPOW_EQUALS md_rhs", + /* 301 */ "md_unset ::= MD_TOKEN_UNSET MD_TOKEN_ALL", + /* 302 */ "md_unset ::= MD_TOKEN_UNSET MD_TOKEN_FULL_OOSVAR", + /* 303 */ "md_unset ::= MD_TOKEN_UNSET md_unset_args", + /* 304 */ "md_unset_args ::=", + /* 305 */ "md_unset_args ::= md_field_name", + /* 306 */ "md_unset_args ::= md_indirect_field_name", + /* 307 */ "md_unset_args ::= md_positional_srec_name", + /* 308 */ "md_unset_args ::= MD_TOKEN_FULL_SREC", + /* 309 */ "md_unset_args ::= md_oosvar_keylist", + /* 310 */ "md_unset_args ::= md_nonindexed_local_variable", + /* 311 */ "md_unset_args ::= md_indexed_local_variable", + /* 312 */ "md_unset_args ::= md_unset_args MD_TOKEN_COMMA md_field_name", + /* 313 */ "md_unset_args ::= md_unset_args MD_TOKEN_COMMA md_oosvar_keylist", + /* 314 */ "md_tee_write ::= MD_TOKEN_TEE MD_TOKEN_GT md_output_file MD_TOKEN_COMMA MD_TOKEN_FULL_SREC", + /* 315 */ "md_tee_append ::= MD_TOKEN_TEE MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA MD_TOKEN_FULL_SREC", + /* 316 */ "md_tee_pipe ::= MD_TOKEN_TEE MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA MD_TOKEN_FULL_SREC", + /* 317 */ "md_emitf ::= MD_TOKEN_EMITF md_emitf_args", + /* 318 */ "md_emitf_args ::=", + /* 319 */ "md_emitf_args ::= md_oosvar_keylist", + /* 320 */ "md_emitf_args ::= md_nonindexed_local_variable", + /* 321 */ "md_emitf_args ::= md_indexed_local_variable", + /* 322 */ "md_emitf_args ::= md_emitf_args MD_TOKEN_COMMA md_oosvar_keylist", + /* 323 */ "md_emitf_args ::= md_emitf_args MD_TOKEN_COMMA md_nonindexed_local_variable", + /* 324 */ "md_emitf_args ::= md_emitf_args MD_TOKEN_COMMA md_indexed_local_variable", + /* 325 */ "md_emitf_write ::= MD_TOKEN_EMITF MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_emitf_args", + /* 326 */ "md_emitf_append ::= MD_TOKEN_EMITF MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_emitf_args", + /* 327 */ "md_emitf_pipe ::= MD_TOKEN_EMITF MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_emitf_args", + /* 328 */ "md_emitp ::= MD_TOKEN_EMITP md_emittable", + /* 329 */ "md_emitp ::= MD_TOKEN_EMITP md_emittable MD_TOKEN_COMMA md_emitp_namelist", + /* 330 */ "md_emitp_write ::= MD_TOKEN_EMITP MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_emittable", + /* 331 */ "md_emitp_write ::= MD_TOKEN_EMITP MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emitp_namelist", + /* 332 */ "md_emitp_append ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_emittable", + /* 333 */ "md_emitp_append ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emitp_namelist", + /* 334 */ "md_emitp_pipe ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_emittable", + /* 335 */ "md_emitp_pipe ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emitp_namelist", + /* 336 */ "md_emitp_namelist ::= md_rhs", + /* 337 */ "md_emitp_namelist ::= md_emitp_namelist MD_TOKEN_COMMA md_rhs", + /* 338 */ "md_emit ::= MD_TOKEN_EMIT md_emittable", + /* 339 */ "md_emit ::= MD_TOKEN_EMIT md_emittable MD_TOKEN_COMMA md_emit_namelist", + /* 340 */ "md_emit_write ::= MD_TOKEN_EMIT MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_emittable", + /* 341 */ "md_emit_write ::= MD_TOKEN_EMIT MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emit_namelist", + /* 342 */ "md_emit_append ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_emittable", + /* 343 */ "md_emit_append ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emit_namelist", + /* 344 */ "md_emit_pipe ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_emittable", + /* 345 */ "md_emit_pipe ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_emittable MD_TOKEN_COMMA md_emit_namelist", + /* 346 */ "md_emittable ::= MD_TOKEN_ALL", + /* 347 */ "md_emittable ::= MD_TOKEN_FULL_OOSVAR", + /* 348 */ "md_emittable ::= md_oosvar_keylist", + /* 349 */ "md_emittable ::= md_nonindexed_local_variable", + /* 350 */ "md_emittable ::= md_indexed_local_variable", + /* 351 */ "md_emittable ::= MD_TOKEN_FULL_SREC", + /* 352 */ "md_emittable ::= md_map_literal", + /* 353 */ "md_emittable ::= md_fcn_or_subr_call", + /* 354 */ "md_emit_namelist ::= md_rhs", + /* 355 */ "md_emit_namelist ::= md_emit_namelist MD_TOKEN_COMMA md_rhs", + /* 356 */ "md_emitp_lashed ::= MD_TOKEN_EMITP MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN", + /* 357 */ "md_emitp_lashed ::= MD_TOKEN_EMITP MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emitp_lashed_namelist", + /* 358 */ "md_emitp_lashed_write ::= MD_TOKEN_EMITP MD_TOKEN_GT md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN", + /* 359 */ "md_emitp_lashed_write ::= MD_TOKEN_EMITP MD_TOKEN_GT md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emitp_lashed_namelist", + /* 360 */ "md_emitp_lashed_append ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN", + /* 361 */ "md_emitp_lashed_append ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emitp_lashed_namelist", + /* 362 */ "md_emitp_lashed_pipe ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN", + /* 363 */ "md_emitp_lashed_pipe ::= MD_TOKEN_EMITP MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emitp_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emitp_lashed_namelist", + /* 364 */ "md_emitp_lashed_keylists ::= md_emittable", + /* 365 */ "md_emitp_lashed_keylists ::= md_emitp_lashed_keylists MD_TOKEN_COMMA md_emittable", + /* 366 */ "md_emitp_lashed_namelist ::= md_rhs", + /* 367 */ "md_emitp_lashed_namelist ::= md_emitp_lashed_namelist MD_TOKEN_COMMA md_rhs", + /* 368 */ "md_emit_lashed ::= MD_TOKEN_EMIT MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN", + /* 369 */ "md_emit_lashed ::= MD_TOKEN_EMIT MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emit_lashed_namelist", + /* 370 */ "md_emit_lashed_write ::= MD_TOKEN_EMIT MD_TOKEN_GT md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN", + /* 371 */ "md_emit_lashed_write ::= MD_TOKEN_EMIT MD_TOKEN_GT md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emit_lashed_namelist", + /* 372 */ "md_emit_lashed_append ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN", + /* 373 */ "md_emit_lashed_append ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emit_lashed_namelist", + /* 374 */ "md_emit_lashed_pipe ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN", + /* 375 */ "md_emit_lashed_pipe ::= MD_TOKEN_EMIT MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA MD_TOKEN_LPAREN md_emit_lashed_keylists MD_TOKEN_RPAREN MD_TOKEN_COMMA md_emit_lashed_namelist", + /* 376 */ "md_emit_lashed_keylists ::= md_emittable", + /* 377 */ "md_emit_lashed_keylists ::= md_emit_lashed_keylists MD_TOKEN_COMMA md_emittable", + /* 378 */ "md_emit_lashed_namelist ::= md_rhs", + /* 379 */ "md_emit_lashed_namelist ::= md_emit_lashed_namelist MD_TOKEN_COMMA md_rhs", + /* 380 */ "md_dump ::= MD_TOKEN_DUMP", + /* 381 */ "md_edump ::= MD_TOKEN_EDUMP", + /* 382 */ "md_dump_write ::= MD_TOKEN_DUMP MD_TOKEN_GT md_output_file", + /* 383 */ "md_dump_append ::= MD_TOKEN_DUMP MD_TOKEN_BITWISE_RSH md_output_file", + /* 384 */ "md_dump_pipe ::= MD_TOKEN_DUMP MD_TOKEN_BITWISE_OR md_rhs", + /* 385 */ "md_dump ::= MD_TOKEN_DUMP md_dumpable", + /* 386 */ "md_edump ::= MD_TOKEN_EDUMP md_dumpable", + /* 387 */ "md_dump_write ::= MD_TOKEN_DUMP MD_TOKEN_GT md_output_file md_dumpable", + /* 388 */ "md_dump_append ::= MD_TOKEN_DUMP MD_TOKEN_BITWISE_RSH md_output_file md_dumpable", + /* 389 */ "md_dump_pipe ::= MD_TOKEN_DUMP MD_TOKEN_BITWISE_OR md_dumpable md_rhs", + /* 390 */ "md_dumpable ::= MD_TOKEN_ALL", + /* 391 */ "md_dumpable ::= MD_TOKEN_FULL_OOSVAR", + /* 392 */ "md_dumpable ::= MD_TOKEN_FULL_SREC", + /* 393 */ "md_dumpable ::= md_map_literal", + /* 394 */ "md_dumpable ::= md_rhs", + /* 395 */ "md_print ::= MD_TOKEN_PRINT md_dumpable", + /* 396 */ "md_eprint ::= MD_TOKEN_EPRINT md_dumpable", + /* 397 */ "md_print_write ::= MD_TOKEN_PRINT MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_dumpable", + /* 398 */ "md_print_append ::= MD_TOKEN_PRINT MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_dumpable", + /* 399 */ "md_print_pipe ::= MD_TOKEN_PRINT MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_dumpable", + /* 400 */ "md_print ::= MD_TOKEN_PRINT", + /* 401 */ "md_eprint ::= MD_TOKEN_EPRINT", + /* 402 */ "md_print_write ::= MD_TOKEN_PRINT MD_TOKEN_GT md_output_file", + /* 403 */ "md_print_append ::= MD_TOKEN_PRINT MD_TOKEN_BITWISE_RSH md_output_file", + /* 404 */ "md_print_pipe ::= MD_TOKEN_PRINT MD_TOKEN_BITWISE_OR md_rhs", + /* 405 */ "md_printn ::= MD_TOKEN_PRINTN md_dumpable", + /* 406 */ "md_eprintn ::= MD_TOKEN_EPRINTN md_dumpable", + /* 407 */ "md_printn_write ::= MD_TOKEN_PRINTN MD_TOKEN_GT md_output_file MD_TOKEN_COMMA md_dumpable", + /* 408 */ "md_printn_append ::= MD_TOKEN_PRINTN MD_TOKEN_BITWISE_RSH md_output_file MD_TOKEN_COMMA md_dumpable", + /* 409 */ "md_printn_pipe ::= MD_TOKEN_PRINTN MD_TOKEN_BITWISE_OR md_rhs MD_TOKEN_COMMA md_dumpable", + /* 410 */ "md_printn ::= MD_TOKEN_PRINTN", + /* 411 */ "md_eprintn ::= MD_TOKEN_EPRINTN", + /* 412 */ "md_printn_write ::= MD_TOKEN_PRINTN MD_TOKEN_GT md_output_file", + /* 413 */ "md_printn_append ::= MD_TOKEN_PRINTN MD_TOKEN_BITWISE_RSH md_output_file", + /* 414 */ "md_printn_pipe ::= MD_TOKEN_PRINTN MD_TOKEN_BITWISE_OR md_dumpable", + /* 415 */ "md_output_file ::= md_rhs", + /* 416 */ "md_output_file ::= MD_TOKEN_STDOUT", + /* 417 */ "md_output_file ::= MD_TOKEN_STDERR", + /* 418 */ "md_rhs ::= md_ternary", + /* 419 */ "md_ternary ::= md_logical_or_term MD_TOKEN_QUESTION_MARK md_ternary MD_TOKEN_COLON md_ternary", + /* 420 */ "md_ternary ::= md_logical_or_term", + /* 421 */ "md_logical_or_term ::= md_logical_xor_term", + /* 422 */ "md_logical_or_term ::= md_logical_or_term MD_TOKEN_LOGICAL_OR md_logical_xor_term", + /* 423 */ "md_logical_xor_term ::= md_logical_and_term", + /* 424 */ "md_logical_xor_term ::= md_logical_xor_term MD_TOKEN_LOGICAL_XOR md_logical_and_term", + /* 425 */ "md_logical_and_term ::= md_eqne_term", + /* 426 */ "md_logical_and_term ::= md_logical_and_term MD_TOKEN_LOGICAL_AND md_eqne_term", + /* 427 */ "md_eqne_term ::= md_cmp_term", + /* 428 */ "md_eqne_term ::= md_eqne_term MD_TOKEN_MATCHES md_cmp_term", + /* 429 */ "md_eqne_term ::= md_eqne_term MD_TOKEN_DOES_NOT_MATCH md_cmp_term", + /* 430 */ "md_eqne_term ::= md_eqne_term MD_TOKEN_EQ md_cmp_term", + /* 431 */ "md_eqne_term ::= md_eqne_term MD_TOKEN_NE md_cmp_term", + /* 432 */ "md_cmp_term ::= md_bitwise_or_term", + /* 433 */ "md_cmp_term ::= md_cmp_term MD_TOKEN_GT md_bitwise_or_term", + /* 434 */ "md_cmp_term ::= md_cmp_term MD_TOKEN_GE md_bitwise_or_term", + /* 435 */ "md_cmp_term ::= md_cmp_term MD_TOKEN_LT md_bitwise_or_term", + /* 436 */ "md_cmp_term ::= md_cmp_term MD_TOKEN_LE md_bitwise_or_term", + /* 437 */ "md_bitwise_or_term ::= md_bitwise_xor_term", + /* 438 */ "md_bitwise_or_term ::= md_bitwise_or_term MD_TOKEN_BITWISE_OR md_bitwise_xor_term", + /* 439 */ "md_bitwise_xor_term ::= md_bitwise_and_term", + /* 440 */ "md_bitwise_xor_term ::= md_bitwise_xor_term MD_TOKEN_BITWISE_XOR md_bitwise_and_term", + /* 441 */ "md_bitwise_and_term ::= md_bitwise_shift_term", + /* 442 */ "md_bitwise_and_term ::= md_bitwise_and_term MD_TOKEN_BITWISE_AND md_bitwise_shift_term", + /* 443 */ "md_bitwise_shift_term ::= md_addsubdot_term", + /* 444 */ "md_bitwise_shift_term ::= md_bitwise_shift_term MD_TOKEN_BITWISE_LSH md_addsubdot_term", + /* 445 */ "md_bitwise_shift_term ::= md_bitwise_shift_term MD_TOKEN_BITWISE_RSH md_addsubdot_term", + /* 446 */ "md_addsubdot_term ::= md_muldiv_term", + /* 447 */ "md_addsubdot_term ::= md_addsubdot_term MD_TOKEN_PLUS md_muldiv_term", + /* 448 */ "md_addsubdot_term ::= md_addsubdot_term MD_TOKEN_MINUS md_muldiv_term", + /* 449 */ "md_addsubdot_term ::= md_addsubdot_term MD_TOKEN_OPLUS md_muldiv_term", + /* 450 */ "md_addsubdot_term ::= md_addsubdot_term MD_TOKEN_OMINUS md_muldiv_term", + /* 451 */ "md_addsubdot_term ::= md_addsubdot_term MD_TOKEN_DOT md_muldiv_term", + /* 452 */ "md_muldiv_term ::= md_unary_bitwise_op_term", + /* 453 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_TIMES md_unary_bitwise_op_term", + /* 454 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_DIVIDE md_unary_bitwise_op_term", + /* 455 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_INT_DIVIDE md_unary_bitwise_op_term", + /* 456 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_MOD md_unary_bitwise_op_term", + /* 457 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_OTIMES md_unary_bitwise_op_term", + /* 458 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_ODIVIDE md_unary_bitwise_op_term", + /* 459 */ "md_muldiv_term ::= md_muldiv_term MD_TOKEN_INT_ODIVIDE md_unary_bitwise_op_term", + /* 460 */ "md_unary_bitwise_op_term ::= md_pow_term", + /* 461 */ "md_unary_bitwise_op_term ::= MD_TOKEN_PLUS md_unary_bitwise_op_term", + /* 462 */ "md_unary_bitwise_op_term ::= MD_TOKEN_MINUS md_unary_bitwise_op_term", + /* 463 */ "md_unary_bitwise_op_term ::= MD_TOKEN_OPLUS md_unary_bitwise_op_term", + /* 464 */ "md_unary_bitwise_op_term ::= MD_TOKEN_OMINUS md_unary_bitwise_op_term", + /* 465 */ "md_unary_bitwise_op_term ::= MD_TOKEN_LOGICAL_NOT md_unary_bitwise_op_term", + /* 466 */ "md_unary_bitwise_op_term ::= MD_TOKEN_BITWISE_NOT md_unary_bitwise_op_term", + /* 467 */ "md_pow_term ::= md_atom_or_fcn", + /* 468 */ "md_pow_term ::= md_atom_or_fcn MD_TOKEN_POW md_pow_term", + /* 469 */ "md_atom_or_fcn ::= md_field_name", + /* 470 */ "md_field_name ::= MD_TOKEN_FIELD_NAME", + /* 471 */ "md_field_name ::= MD_TOKEN_BRACED_FIELD_NAME", + /* 472 */ "md_atom_or_fcn ::= md_indirect_field_name", + /* 473 */ "md_indirect_field_name ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 474 */ "md_atom_or_fcn ::= md_positional_srec_name", + /* 475 */ "md_positional_srec_name ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET", + /* 476 */ "md_atom_or_fcn ::= md_positional_srec_value", + /* 477 */ "md_positional_srec_value ::= MD_TOKEN_DOLLAR_SIGN MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET MD_TOKEN_RIGHT_BRACKET", + /* 478 */ "md_atom_or_fcn ::= md_oosvar_keylist", + /* 479 */ "md_oosvar_keylist ::= md_oosvar_basename", + /* 480 */ "md_oosvar_keylist ::= md_oosvar_keylist MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 481 */ "md_oosvar_basename ::= MD_TOKEN_UNBRACED_OOSVAR_NAME", + /* 482 */ "md_oosvar_basename ::= MD_TOKEN_BRACED_OOSVAR_NAME", + /* 483 */ "md_oosvar_basename ::= MD_TOKEN_AT_SIGN MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 484 */ "md_local_map_keylist ::= md_nonindexed_local_variable", + /* 485 */ "md_local_map_keylist ::= md_local_map_keylist MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 486 */ "md_atom_or_fcn ::= MD_TOKEN_NUMBER", + /* 487 */ "md_atom_or_fcn ::= MD_TOKEN_TRUE", + /* 488 */ "md_atom_or_fcn ::= MD_TOKEN_FALSE", + /* 489 */ "md_atom_or_fcn ::= md_string", + /* 490 */ "md_atom_or_fcn ::= md_regexi", + /* 491 */ "md_atom_or_fcn ::= md_nonindexed_local_variable", + /* 492 */ "md_atom_or_fcn ::= md_indexed_local_variable", + /* 493 */ "md_nonindexed_local_variable ::= MD_TOKEN_NON_SIGIL_NAME", + /* 494 */ "md_indexed_local_variable ::= md_nonindexed_local_variable MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 495 */ "md_indexed_local_variable ::= md_indexed_local_variable MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 496 */ "md_atom_or_fcn ::= md_indexed_function_call", + /* 497 */ "md_indexed_function_call ::= md_fcn_or_subr_call MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 498 */ "md_indexed_function_call ::= md_indexed_function_call MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 499 */ "md_string ::= MD_TOKEN_STRING", + /* 500 */ "md_regexi ::= MD_TOKEN_REGEXI", + /* 501 */ "md_atom_or_fcn ::= MD_TOKEN_CONTEXT_VARIABLE", + /* 502 */ "md_atom_or_fcn ::= md_env_index", + /* 503 */ "md_env_index ::= MD_TOKEN_ENV MD_TOKEN_LEFT_BRACKET md_rhs MD_TOKEN_RIGHT_BRACKET", + /* 504 */ "md_atom_or_fcn ::= MD_TOKEN_LPAREN md_rhs MD_TOKEN_RPAREN", + /* 505 */ "md_atom_or_fcn ::= md_fcn_or_subr_call", + /* 506 */ "md_fcn_or_subr_call ::= MD_TOKEN_NON_SIGIL_NAME MD_TOKEN_LPAREN md_fcn_arg_list MD_TOKEN_RPAREN", + /* 507 */ "md_fcn_or_subr_call ::= MD_TOKEN_INT MD_TOKEN_LPAREN md_fcn_arg_list MD_TOKEN_RPAREN", + /* 508 */ "md_fcn_or_subr_call ::= MD_TOKEN_FLOAT MD_TOKEN_LPAREN md_fcn_arg_list MD_TOKEN_RPAREN", + /* 509 */ "md_fcn_arg_list ::=", + /* 510 */ "md_fcn_arg_list ::= md_fcn_non_empty_arg_list", + /* 511 */ "md_fcn_non_empty_arg_list ::= md_fcn_arg", + /* 512 */ "md_fcn_non_empty_arg_list ::= md_fcn_arg MD_TOKEN_COMMA", + /* 513 */ "md_fcn_non_empty_arg_list ::= md_fcn_arg MD_TOKEN_COMMA md_fcn_non_empty_arg_list", + /* 514 */ "md_fcn_arg ::= md_rhs", + /* 515 */ "md_fcn_arg ::= MD_TOKEN_FULL_SREC", + /* 516 */ "md_fcn_arg ::= MD_TOKEN_FULL_OOSVAR", + /* 517 */ "md_fcn_arg ::= md_map_literal", + /* 518 */ "md_map_literal ::= MD_TOKEN_LBRACE MD_TOKEN_RBRACE", + /* 519 */ "md_map_literal ::= MD_TOKEN_LBRACE md_map_literal_kv_pairs MD_TOKEN_RBRACE", + /* 520 */ "md_map_literal_kv_pairs ::= md_map_literal_kv_pair", + /* 521 */ "md_map_literal_kv_pairs ::= md_map_literal_kv_pair MD_TOKEN_COMMA", + /* 522 */ "md_map_literal_kv_pairs ::= md_map_literal_kv_pair MD_TOKEN_COMMA md_map_literal_kv_pairs", + /* 523 */ "md_map_literal_kv_pair ::= md_map_literal_key MD_TOKEN_COLON md_map_literal_value", + /* 524 */ "md_map_literal_key ::= md_rhs", + /* 525 */ "md_map_literal_value ::= md_rhs", + /* 526 */ "md_map_literal_value ::= md_map_literal", + /* 527 */ "md_map_literal_value ::= MD_TOKEN_FULL_SREC", + /* 528 */ "md_map_literal_value ::= MD_TOKEN_FULL_OOSVAR", +}; +#endif /* NDEBUG */ + +/* +** This function returns the symbolic name associated with a token +** value. +*/ +const char *mlr_dsl_ParseTokenName(int tokenType) { +#ifndef NDEBUG + if (tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0]))) { + return yyTokenName[tokenType]; + } else { + return "Unknown"; + } +#else + return ""; +#endif +} + +/* +** This function allocates a new parser. +** The only argument is a pointer to a function which works like +** malloc. +** +** Inputs: +** A pointer to the function used to allocate memory. +** +** Outputs: +** A pointer to a parser. This pointer is used in subsequent calls +** to Parse and mlr_dsl_lemon_parser_free. +*/ +void *mlr_dsl_lemon_parser_alloc(void *(*mallocProc)(size_t)){ + lemon_parser_t *pParser; + pParser = (lemon_parser_t*)(*mallocProc) ((size_t)sizeof(lemon_parser_t)) ; + if (pParser) { + pParser->yyidx = -1; + } + return pParser; +} + +/* The following function deletes the value associated with a +** symbol. The symbol can be either a terminal or nonterminal. +** "yymajor" is the symbol code, and "yypminor" is a pointer to +** the value. +*/ +void mlr_dsl_yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ + switch (yymajor) { + /* Here is inserted the actions which take place when a + ** terminal or non-terminal is destroyed. This can happen + ** when the symbol is popped from the stack during a + ** reduce or during error processing or when a parser is + ** being destroyed before it is finished parsing. + ** + ** Note: during a reduce, the only symbols destroyed are those + ** which appear on the RHS of the rule, but which are not used + ** inside the C code. + */ + default: break; /* If no destructor action specified: do nothing */ + } +} + +/* +** Pop the parser's stack once. +** +** If there is a destructor routine associated with the token which +** is popped from the stack, then call it. +** +** Return the major token number for the symbol popped. +*/ +static int yy_pop_parser_stack(lemon_parser_t *pParser){ + YYCODETYPE yymajor; + yyStackEntry *yytos = &pParser->yystack[pParser->yyidx]; + + if (pParser->yyidx<0) return 0; +#ifndef NDEBUG + if (yyTraceFILE && pParser->yyidx>=0) { + fprintf(yyTraceFILE,"%sPopping %s\n", yyTracePrompt, yyTokenName[yytos->major]); + } +#endif + yymajor = yytos->major; + mlr_dsl_yy_destructor (yymajor, &yytos->minor); + pParser->yyidx--; + return yymajor; +} + +/* +** Deallocate and destroy a parser. Destructors are all called for +** all stack elements before shutting the parser down. +** +** Inputs: +**
    +**
  • A pointer to the parser. This should be a pointer +** obtained from mlr_dsl_lemon_parser_alloc. +**
  • A pointer to a function used to reclaim memory obtained +** from malloc. +**
+*/ +void mlr_dsl_lemon_parser_free( + void *pvparser, /* The parser to be deleted */ + void (*freeProc)(void*)) /* Function used to reclaim memory */ +{ + lemon_parser_t *pparser = (lemon_parser_t*)pvparser; + if (pparser==0) return; + while (pparser->yyidx>=0) yy_pop_parser_stack(pparser); + (*freeProc)((void*)pparser); +} + +/* +** Find the appropriate action for a parser given the terminal +** look-ahead token iLookAhead. +** +** If the look-ahead token is YYNOCODE, then check to see if the action is +** independent of the look-ahead. If it is, return the action, otherwise +** return YY_NO_ACTION. +*/ +static int yy_find_shift_action( + lemon_parser_t *pparser, /* The parser */ + int iLookAhead) /* The look-ahead token */ +{ + int i; + int stateno = pparser->yystack[pparser->yyidx].stateno; + + /* if (pparser->yyidx<0) return YY_NO_ACTION; */ + i = yy_shift_ofst[stateno]; + if (i==YY_SHIFT_USE_DFLT) { + return yy_default[stateno]; + } + if (iLookAhead==YYNOCODE) { + return YY_NO_ACTION; + } + i += iLookAhead; + if (i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead) { +#ifdef YYFALLBACK + int iFallback; /* Fallback token */ + if (iLookAhead %s\n", + yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); + } +#endif + return yy_find_shift_action(pparser, iFallback); + } +#endif + return yy_default[stateno]; + } else { + return yy_action[i]; + } +} + +/* +** Find the appropriate action for a parser given the non-terminal +** look-ahead token iLookAhead. +** +** If the look-ahead token is YYNOCODE, then check to see if the action is +** independent of the look-ahead. If it is, return the action, otherwise +** return YY_NO_ACTION. +*/ +static int yy_find_reduce_action( + lemon_parser_t *pparser, /* The parser */ + int iLookAhead) /* The look-ahead token */ +{ + int i; + int stateno = pparser->yystack[pparser->yyidx].stateno; + + i = yy_reduce_ofst[stateno]; + if (i==YY_REDUCE_USE_DFLT) { + return yy_default[stateno]; + } + if (iLookAhead==YYNOCODE) { + return YY_NO_ACTION; + } + i += iLookAhead; + if (i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead) { + return yy_default[stateno]; + } else { + return yy_action[i]; + } +} + +/* +** Perform a shift action. +*/ +static void yy_shift( + lemon_parser_t *pparser, /* The parser to be shifted */ + int yyNewState, /* The new state to shift in */ + int yyMajor, /* The major token to shift in */ + YYMINORTYPE *yypMinor) /* Pointer ot the minor token to shift in */ +{ + yyStackEntry *yytos; + pparser->yyidx++; + if (pparser->yyidx>=YYSTACKDEPTH) { + ParseARG_FETCH; + pparser->yyidx--; +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); + } +#endif + while (pparser->yyidx>=0) yy_pop_parser_stack(pparser); + /* Here code is inserted which will execute if the parser + ** stack every overflows */ + ParseARG_STORE; /* Suppress warning about unused %extra_argument var */ + return; + } + yytos = &pparser->yystack[pparser->yyidx]; + yytos->stateno = yyNewState; + yytos->major = yyMajor; + yytos->minor = *yypMinor; +#ifndef NDEBUG + if (yyTraceFILE && pparser->yyidx>0) { + int i; + fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState); + fprintf(yyTraceFILE,"%sStack:",yyTracePrompt); + for(i=1; i<=pparser->yyidx; i++) + fprintf(yyTraceFILE," %s", yyTokenName[pparser->yystack[i].major]); + fprintf(yyTraceFILE,"\n"); + } +#endif +} + +/* The following table contains information about every rule that +** is used during the reduce. +*/ +static struct { + YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ + unsigned char nrhs; /* Number of right-hand side symbols in the rule */ +} yyRuleInfo[] = { + { 120, 1 }, + { 121, 1 }, + { 121, 1 }, + { 121, 3 }, + { 121, 2 }, + { 122, 0 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 2 }, + { 122, 2 }, + { 122, 2 }, + { 122, 2 }, + { 122, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 123, 1 }, + { 122, 2 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 122, 1 }, + { 135, 8 }, + { 135, 10 }, + { 136, 8 }, + { 207, 0 }, + { 207, 1 }, + { 209, 1 }, + { 209, 2 }, + { 209, 3 }, + { 210, 1 }, + { 210, 2 }, + { 208, 1 }, + { 208, 1 }, + { 208, 1 }, + { 208, 1 }, + { 208, 1 }, + { 208, 1 }, + { 208, 1 }, + { 137, 4 }, + { 138, 4 }, + { 139, 4 }, + { 140, 7 }, + { 163, 8 }, + { 141, 11 }, + { 142, 9 }, + { 143, 11 }, + { 143, 13 }, + { 144, 9 }, + { 145, 11 }, + { 145, 13 }, + { 211, 1 }, + { 211, 2 }, + { 211, 2 }, + { 211, 2 }, + { 211, 2 }, + { 211, 2 }, + { 212, 1 }, + { 212, 3 }, + { 146, 9 }, + { 147, 11 }, + { 147, 13 }, + { 148, 9 }, + { 149, 11 }, + { 149, 13 }, + { 150, 9 }, + { 151, 11 }, + { 151, 13 }, + { 152, 9 }, + { 153, 11 }, + { 215, 1 }, + { 215, 3 }, + { 216, 1 }, + { 216, 3 }, + { 217, 1 }, + { 217, 3 }, + { 154, 1 }, + { 154, 2 }, + { 218, 1 }, + { 218, 2 }, + { 220, 7 }, + { 221, 7 }, + { 219, 4 }, + { 164, 1 }, + { 167, 2 }, + { 124, 4 }, + { 124, 4 }, + { 124, 4 }, + { 124, 4 }, + { 125, 4 }, + { 126, 4 }, + { 127, 4 }, + { 128, 4 }, + { 129, 4 }, + { 130, 4 }, + { 130, 4 }, + { 130, 4 }, + { 130, 4 }, + { 131, 3 }, + { 132, 3 }, + { 131, 3 }, + { 132, 3 }, + { 131, 3 }, + { 132, 3 }, + { 131, 3 }, + { 132, 3 }, + { 156, 3 }, + { 157, 6 }, + { 158, 8 }, + { 159, 10 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 166, 3 }, + { 166, 3 }, + { 166, 3 }, + { 166, 3 }, + { 166, 3 }, + { 160, 3 }, + { 161, 3 }, + { 161, 3 }, + { 161, 3 }, + { 161, 3 }, + { 162, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 156, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 165, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 131, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 132, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 162, 3 }, + { 168, 2 }, + { 168, 2 }, + { 168, 2 }, + { 226, 0 }, + { 226, 1 }, + { 226, 1 }, + { 226, 1 }, + { 226, 1 }, + { 226, 1 }, + { 226, 1 }, + { 226, 1 }, + { 226, 3 }, + { 226, 3 }, + { 169, 5 }, + { 170, 5 }, + { 171, 5 }, + { 172, 2 }, + { 230, 0 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 3 }, + { 230, 3 }, + { 230, 3 }, + { 173, 5 }, + { 174, 5 }, + { 175, 5 }, + { 176, 2 }, + { 176, 4 }, + { 177, 5 }, + { 177, 7 }, + { 178, 5 }, + { 178, 7 }, + { 179, 5 }, + { 179, 7 }, + { 232, 1 }, + { 232, 3 }, + { 180, 2 }, + { 180, 4 }, + { 181, 5 }, + { 181, 7 }, + { 182, 5 }, + { 182, 7 }, + { 183, 5 }, + { 183, 7 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 233, 1 }, + { 233, 3 }, + { 184, 4 }, + { 184, 6 }, + { 185, 7 }, + { 185, 9 }, + { 186, 7 }, + { 186, 9 }, + { 187, 7 }, + { 187, 9 }, + { 234, 1 }, + { 234, 3 }, + { 235, 1 }, + { 235, 3 }, + { 188, 4 }, + { 188, 6 }, + { 189, 7 }, + { 189, 9 }, + { 190, 7 }, + { 190, 9 }, + { 191, 7 }, + { 191, 9 }, + { 236, 1 }, + { 236, 3 }, + { 237, 1 }, + { 237, 3 }, + { 192, 1 }, + { 196, 1 }, + { 193, 3 }, + { 194, 3 }, + { 195, 3 }, + { 192, 2 }, + { 196, 2 }, + { 193, 4 }, + { 194, 4 }, + { 195, 4 }, + { 238, 1 }, + { 238, 1 }, + { 238, 1 }, + { 238, 1 }, + { 238, 1 }, + { 197, 2 }, + { 198, 2 }, + { 199, 5 }, + { 200, 5 }, + { 201, 5 }, + { 197, 1 }, + { 198, 1 }, + { 199, 3 }, + { 200, 3 }, + { 201, 3 }, + { 202, 2 }, + { 203, 2 }, + { 204, 5 }, + { 205, 5 }, + { 206, 5 }, + { 202, 1 }, + { 203, 1 }, + { 204, 3 }, + { 205, 3 }, + { 206, 3 }, + { 229, 1 }, + { 229, 1 }, + { 229, 1 }, + { 133, 1 }, + { 239, 5 }, + { 239, 1 }, + { 240, 1 }, + { 240, 3 }, + { 241, 1 }, + { 241, 3 }, + { 242, 1 }, + { 242, 3 }, + { 243, 1 }, + { 243, 3 }, + { 243, 3 }, + { 243, 3 }, + { 243, 3 }, + { 244, 1 }, + { 244, 3 }, + { 244, 3 }, + { 244, 3 }, + { 244, 3 }, + { 245, 1 }, + { 245, 3 }, + { 246, 1 }, + { 246, 3 }, + { 247, 1 }, + { 247, 3 }, + { 248, 1 }, + { 248, 3 }, + { 248, 3 }, + { 249, 1 }, + { 249, 3 }, + { 249, 3 }, + { 249, 3 }, + { 249, 3 }, + { 249, 3 }, + { 250, 1 }, + { 250, 3 }, + { 250, 3 }, + { 250, 3 }, + { 250, 3 }, + { 250, 3 }, + { 250, 3 }, + { 250, 3 }, + { 251, 1 }, + { 251, 2 }, + { 251, 2 }, + { 251, 2 }, + { 251, 2 }, + { 251, 2 }, + { 251, 2 }, + { 252, 1 }, + { 252, 3 }, + { 253, 1 }, + { 224, 1 }, + { 224, 1 }, + { 253, 1 }, + { 227, 4 }, + { 253, 1 }, + { 228, 6 }, + { 253, 1 }, + { 254, 8 }, + { 253, 1 }, + { 213, 1 }, + { 213, 4 }, + { 255, 1 }, + { 255, 1 }, + { 255, 4 }, + { 214, 1 }, + { 214, 4 }, + { 253, 1 }, + { 253, 1 }, + { 253, 1 }, + { 253, 1 }, + { 253, 1 }, + { 253, 1 }, + { 253, 1 }, + { 222, 1 }, + { 223, 4 }, + { 223, 4 }, + { 253, 1 }, + { 258, 4 }, + { 258, 4 }, + { 256, 1 }, + { 257, 1 }, + { 253, 1 }, + { 253, 1 }, + { 225, 4 }, + { 253, 3 }, + { 253, 1 }, + { 155, 4 }, + { 155, 4 }, + { 155, 4 }, + { 259, 0 }, + { 259, 1 }, + { 260, 1 }, + { 260, 2 }, + { 260, 3 }, + { 261, 1 }, + { 261, 1 }, + { 261, 1 }, + { 261, 1 }, + { 134, 2 }, + { 134, 3 }, + { 262, 1 }, + { 262, 2 }, + { 262, 3 }, + { 263, 3 }, + { 264, 1 }, + { 265, 1 }, + { 265, 1 }, + { 265, 1 }, + { 265, 1 }, +}; + +static void yy_accept(lemon_parser_t*); /* Forward Declaration */ + +/* +** Perform a reduce action and the shift that must immediately +** follow the reduce. +*/ +static void yy_reduce( + lemon_parser_t *pparser, /* The parser */ + int yyruleno) /* Number of the rule by which to reduce */ +{ + int yygoto = -999 ; /* The next state */ + int yyact = -999; /* The next action */ + YYMINORTYPE yygotominor; /* The LHS of the rule reduced */ + yyStackEntry *yymsp; /* The top of the parser's stack */ + int yysize; /* Amount to pop the stack */ + ParseARG_FETCH; + yymsp = &pparser->yystack[pparser->yyidx]; +#ifndef NDEBUG + if (yyTraceFILE && yyruleno>=0 + && yyruleno + ** { ... } // User supplied code + ** #line + ** break; + */ + case 0: +#line 71 "mlr_dsl_parse.y" +{ + past->proot = yymsp[0].minor.yy95; +} +#line 6247 "mlr_dsl_parse.c" + break; + case 1: + case 2: +#line 87 "mlr_dsl_parse.y" +{ + if (yymsp[0].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[0].minor.yy95); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("block", MD_AST_NODE_TYPE_STATEMENT_BLOCK); + } else { + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("block", MD_AST_NODE_TYPE_STATEMENT_BLOCK, yymsp[0].minor.yy95); + } +} +#line 6260 "mlr_dsl_parse.c" + break; + case 3: +#line 108 "mlr_dsl_parse.y" +{ + if (yymsp[-2].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[-2].minor.yy95); + yygotominor.yy95 = yymsp[0].minor.yy95; + } else { + yygotominor.yy95 = mlr_dsl_ast_node_prepend_arg(yymsp[0].minor.yy95, yymsp[-2].minor.yy95); + } +} +#line 6272 "mlr_dsl_parse.c" + break; + case 4: +#line 117 "mlr_dsl_parse.y" +{ + if (yymsp[-1].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[-1].minor.yy95); + yygotominor.yy95 = yymsp[0].minor.yy95; + } else { + yygotominor.yy95 = mlr_dsl_ast_node_prepend_arg(yymsp[0].minor.yy95, yymsp[-1].minor.yy95); + } +} +#line 6284 "mlr_dsl_parse.c" + break; + case 5: +#line 127 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("nop", MD_AST_NODE_TYPE_NOP); +} +#line 6291 "mlr_dsl_parse.c" + break; + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 65: + case 66: + case 67: + case 68: + case 69: + case 70: + case 71: + case 72: + case 73: + case 74: + case 75: + case 76: + case 77: + case 78: + case 79: + case 80: + case 81: + case 82: + case 83: + case 84: + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + case 91: + case 415: +#line 132 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy95; } +#line 6376 "mlr_dsl_parse.c" + break; + case 15: + case 16: +#line 143 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("return_value", MD_AST_NODE_TYPE_RETURN_VALUE, yymsp[0].minor.yy95); +} +#line 6384 "mlr_dsl_parse.c" + break; + case 17: + case 18: +#line 149 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("return_value", MD_AST_NODE_TYPE_RETURN_VALUE, yymsp[0].minor.yy0); +} +#line 6392 "mlr_dsl_parse.c" + break; + case 19: +#line 156 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("return_void", MD_AST_NODE_TYPE_RETURN_VOID); +} +#line 6399 "mlr_dsl_parse.c" + break; + case 40: +#line 184 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("subr_call", MD_AST_NODE_TYPE_SUBR_CALLSITE, yymsp[0].minor.yy95); +} +#line 6406 "mlr_dsl_parse.c" + break; + case 92: +#line 247 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_BREAK); +} +#line 6413 "mlr_dsl_parse.c" + break; + case 93: +#line 250 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_CONTINUE); +} +#line 6420 "mlr_dsl_parse.c" + break; + case 94: +#line 265 "mlr_dsl_parse.y" +{ + yymsp[-4].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[-4].minor.yy95, yymsp[-6].minor.yy0->text); + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "func_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_FUNC_DEF, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 6429 "mlr_dsl_parse.c" + break; + case 95: +#line 275 "mlr_dsl_parse.y" +{ + yymsp[-6].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[-6].minor.yy95, yymsp[-8].minor.yy0->text); + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "func_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_FUNC_DEF, yymsp[-6].minor.yy95, yymsp[-1].minor.yy95, yymsp[-3].minor.yy95); +} +#line 6438 "mlr_dsl_parse.c" + break; + case 96: +#line 284 "mlr_dsl_parse.y" +{ + yymsp[-4].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[-4].minor.yy95, yymsp[-6].minor.yy0->text); + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "subr_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_SUBR_DEF, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 6447 "mlr_dsl_parse.c" + break; + case 97: + case 509: +#line 290 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("anon", MD_AST_NODE_TYPE_NON_SIGIL_NAME); +} +#line 6455 "mlr_dsl_parse.c" + break; + case 98: + case 148: + case 155: + case 348: + case 349: + case 350: + case 352: + case 353: + case 393: + case 394: + case 418: + case 420: + case 421: + case 423: + case 425: + case 427: + case 432: + case 437: + case 439: + case 441: + case 443: + case 446: + case 452: + case 460: + case 467: + case 469: + case 472: + case 474: + case 476: + case 478: + case 479: + case 484: + case 489: + case 490: + case 491: + case 492: + case 496: + case 502: + case 505: + case 510: + case 514: + case 517: +#line 293 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = yymsp[0].minor.yy95; +} +#line 6503 "mlr_dsl_parse.c" + break; + case 99: + case 511: +#line 296 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("anon", MD_AST_NODE_TYPE_NON_SIGIL_NAME, yymsp[0].minor.yy95); +} +#line 6511 "mlr_dsl_parse.c" + break; + case 100: + case 512: +#line 299 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("anon", MD_AST_NODE_TYPE_NON_SIGIL_NAME, yymsp[-1].minor.yy95); +} +#line 6519 "mlr_dsl_parse.c" + break; + case 101: + case 513: + case 522: +#line 304 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_prepend_arg(yymsp[0].minor.yy95, yymsp[-2].minor.yy95); +} +#line 6528 "mlr_dsl_parse.c" + break; + case 102: +#line 308 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_UNTYPED_PARAMETER_DEFINITION); +} +#line 6535 "mlr_dsl_parse.c" + break; + case 103: +#line 311 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, yymsp[-1].minor.yy95->type); +} +#line 6542 "mlr_dsl_parse.c" + break; + case 104: +#line 315 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_UNTYPED_PARAMETER_DEFINITION; } +#line 6547 "mlr_dsl_parse.c" + break; + case 105: +#line 316 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_NUMERIC_PARAMETER_DEFINITION; } +#line 6552 "mlr_dsl_parse.c" + break; + case 106: +#line 317 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_INT_PARAMETER_DEFINITION; } +#line 6557 "mlr_dsl_parse.c" + break; + case 107: +#line 318 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_FLOAT_PARAMETER_DEFINITION; } +#line 6562 "mlr_dsl_parse.c" + break; + case 108: +#line 319 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_STRING_PARAMETER_DEFINITION; } +#line 6567 "mlr_dsl_parse.c" + break; + case 109: +#line 320 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_BOOLEAN_PARAMETER_DEFINITION; } +#line 6572 "mlr_dsl_parse.c" + break; + case 110: +#line 321 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; yygotominor.yy95->type = MD_AST_NODE_TYPE_MAP_PARAMETER_DEFINITION; } +#line 6577 "mlr_dsl_parse.c" + break; + case 111: +#line 324 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "begin_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_BEGIN, yymsp[-1].minor.yy95); +} +#line 6585 "mlr_dsl_parse.c" + break; + case 112: +#line 328 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "end_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_END, yymsp[-1].minor.yy95); +} +#line 6593 "mlr_dsl_parse.c" + break; + case 113: +#line 334 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "cond_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("cond", MD_AST_NODE_TYPE_CONDITIONAL_BLOCK, yymsp[-3].minor.yy95, yymsp[-1].minor.yy95); +} +#line 6601 "mlr_dsl_parse.c" + break; + case 114: +#line 344 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "while_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_WHILE, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 6609 "mlr_dsl_parse.c" + break; + case 115: +#line 355 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-5].minor.yy95, "do_while_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-7].minor.yy0->text, MD_AST_NODE_TYPE_DO_WHILE, yymsp[-5].minor.yy95, yymsp[-1].minor.yy95); +} +#line 6617 "mlr_dsl_parse.c" + break; + case 116: +#line 370 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_full_srec_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_SREC, + mlr_dsl_ast_node_alloc_binary( + "variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95, + yymsp[-6].minor.yy95 + ), + yymsp[-1].minor.yy95 + ); +} +#line 6635 "mlr_dsl_parse.c" + break; + case 117: +#line 393 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_full_srec_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_SREC_KEY_ONLY, + mlr_dsl_ast_node_alloc_unary( + "variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-6].minor.yy95 + ), + yymsp[-1].minor.yy95 + ); +} +#line 6652 "mlr_dsl_parse.c" + break; + case 118: +#line 416 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_full_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + mlr_dsl_ast_node_alloc_unary( + "key_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95 + ), + yymsp[-6].minor.yy95 + ), + mlr_dsl_ast_node_alloc_zary("empty_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST), + yymsp[-1].minor.yy95 + ); +} +#line 6675 "mlr_dsl_parse.c" + break; + case 119: +#line 446 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_full_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-12].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-9].minor.yy95, + yymsp[-6].minor.yy95 + ), + mlr_dsl_ast_node_alloc_zary("empty_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST), + yymsp[-1].minor.yy95 + ); +} +#line 6694 "mlr_dsl_parse.c" + break; + case 120: +#line 472 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_full_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR_KEY_ONLY, + yymsp[-6].minor.yy95, + mlr_dsl_ast_node_alloc_zary("empty_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST), + yymsp[-1].minor.yy95 + ); +} +#line 6708 "mlr_dsl_parse.c" + break; + case 121: +#line 492 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + mlr_dsl_ast_node_alloc_unary( + "key_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95 + ), + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6731 "mlr_dsl_parse.c" + break; + case 122: +#line 522 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-12].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-9].minor.yy95, + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6750 "mlr_dsl_parse.c" + break; + case 123: +#line 538 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_UNTYPED_LOCAL_DEFINITION); +} +#line 6757 "mlr_dsl_parse.c" + break; + case 124: +#line 541 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_NUMERIC_LOCAL_DEFINITION); +} +#line 6764 "mlr_dsl_parse.c" + break; + case 125: +#line 544 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_INT_LOCAL_DEFINITION); +} +#line 6771 "mlr_dsl_parse.c" + break; + case 126: +#line 547 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_FLOAT_LOCAL_DEFINITION); +} +#line 6778 "mlr_dsl_parse.c" + break; + case 127: +#line 550 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_STRING_LOCAL_DEFINITION); +} +#line 6785 "mlr_dsl_parse.c" + break; + case 128: +#line 553 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_BOOLEAN_LOCAL_DEFINITION); +} +#line 6792 "mlr_dsl_parse.c" + break; + case 129: +#line 557 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("key_variables", MD_AST_NODE_TYPE_FOR_VARIABLES, yymsp[0].minor.yy95); +} +#line 6799 "mlr_dsl_parse.c" + break; + case 130: + case 312: + case 313: + case 322: + case 323: + case 324: + case 337: + case 355: + case 365: + case 367: + case 377: + case 379: +#line 560 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_append_arg(yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 6817 "mlr_dsl_parse.c" + break; + case 131: +#line 573 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_oosvar_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_OOSVAR_KEY_ONLY, + yymsp[-6].minor.yy95, + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6831 "mlr_dsl_parse.c" + break; + case 132: +#line 594 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_local_map_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_LOCAL_MAP, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + mlr_dsl_ast_node_alloc_unary( + "key_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95 + ), + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6854 "mlr_dsl_parse.c" + break; + case 133: +#line 624 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_local_map_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-12].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_LOCAL_MAP, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-9].minor.yy95, + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6873 "mlr_dsl_parse.c" + break; + case 134: +#line 649 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_local_map_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_LOCAL_MAP_KEY_ONLY, + yymsp[-6].minor.yy95, + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6887 "mlr_dsl_parse.c" + break; + case 135: +#line 670 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_map_literal_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_MAP_LITERAL, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + mlr_dsl_ast_node_alloc_unary( + "key_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95 + ), + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6910 "mlr_dsl_parse.c" + break; + case 136: +#line 700 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_map_literal_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-12].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_MAP_LITERAL, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-9].minor.yy95, + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6929 "mlr_dsl_parse.c" + break; + case 137: +#line 725 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_map_literal_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_MAP_LITERAL_KEY_ONLY, + yymsp[-6].minor.yy95, + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6943 "mlr_dsl_parse.c" + break; + case 138: +#line 746 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_func_retval_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-10].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_FUNC_RETVAL, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + mlr_dsl_ast_node_alloc_unary( + "key_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-8].minor.yy95 + ), + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6966 "mlr_dsl_parse.c" + break; + case 139: +#line 776 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_func_retval_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-12].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_FUNC_RETVAL, + mlr_dsl_ast_node_alloc_binary( + "key_and_value_variables", + MD_AST_NODE_TYPE_FOR_VARIABLES, + yymsp[-9].minor.yy95, + yymsp[-6].minor.yy95 + ), + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6985 "mlr_dsl_parse.c" + break; + case 140: +#line 801 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "for_loop_func_retval_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary( + yymsp[-8].minor.yy0->text, + MD_AST_NODE_TYPE_FOR_FUNC_RETVAL_KEY_ONLY, + yymsp[-6].minor.yy95, + yymsp[-4].minor.yy95, + yymsp[-1].minor.yy95 + ); +} +#line 6999 "mlr_dsl_parse.c" + break; + case 141: +#line 824 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "triple_for_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_quaternary(yymsp[-10].minor.yy0->text, MD_AST_NODE_TYPE_TRIPLE_FOR, yymsp[-8].minor.yy95, yymsp[-6].minor.yy95, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 7007 "mlr_dsl_parse.c" + break; + case 142: +#line 829 "mlr_dsl_parse.y" +{ + if (yymsp[0].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[0].minor.yy95); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("triple_for_start_statements", MD_AST_NODE_TYPE_STATEMENT_LIST); + } else { + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("triple_for_start_statements", MD_AST_NODE_TYPE_STATEMENT_LIST, yymsp[0].minor.yy95); + } +} +#line 7019 "mlr_dsl_parse.c" + break; + case 143: + case 145: + case 147: +#line 837 "mlr_dsl_parse.y" +{ + if (yymsp[-2].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[-2].minor.yy95); + yygotominor.yy95 = yymsp[0].minor.yy95; + } else { + yygotominor.yy95 = mlr_dsl_ast_node_append_arg(yymsp[-2].minor.yy95, yymsp[0].minor.yy95); + } +} +#line 7033 "mlr_dsl_parse.c" + break; + case 144: +#line 846 "mlr_dsl_parse.y" +{ + if (yymsp[0].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[0].minor.yy95); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("triple_for_continuation_statements", MD_AST_NODE_TYPE_STATEMENT_LIST); + } else { + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("triple_for_continuation_statements", MD_AST_NODE_TYPE_STATEMENT_LIST, yymsp[0].minor.yy95); + } +} +#line 7045 "mlr_dsl_parse.c" + break; + case 146: +#line 863 "mlr_dsl_parse.y" +{ + if (yymsp[0].minor.yy95->type == MD_AST_NODE_TYPE_NOP) { + mlr_dsl_ast_node_free(yymsp[0].minor.yy95); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("triple_for_update_statements", MD_AST_NODE_TYPE_STATEMENT_LIST); + } else { + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("triple_for_update_statements", MD_AST_NODE_TYPE_STATEMENT_LIST, yymsp[0].minor.yy95); + } +} +#line 7057 "mlr_dsl_parse.c" + break; + case 149: + case 151: +#line 888 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_append_arg(yymsp[-1].minor.yy95, yymsp[0].minor.yy95); +} +#line 7065 "mlr_dsl_parse.c" + break; + case 150: +#line 891 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("if_head", MD_AST_NODE_TYPE_IF_HEAD, yymsp[0].minor.yy95); +} +#line 7072 "mlr_dsl_parse.c" + break; + case 152: +#line 902 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "if_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_IF_ITEM, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 7080 "mlr_dsl_parse.c" + break; + case 153: +#line 911 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "elif_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_IF_ITEM, yymsp[-4].minor.yy95, yymsp[-1].minor.yy95); +} +#line 7088 "mlr_dsl_parse.c" + break; + case 154: +#line 919 "mlr_dsl_parse.y" +{ + mlr_dsl_ast_node_replace_text(yymsp[-1].minor.yy95, "else_block"); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_IF_ITEM, yymsp[-1].minor.yy95); +} +#line 7096 "mlr_dsl_parse.c" + break; + case 156: +#line 930 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FILTER, yymsp[0].minor.yy95); +} +#line 7103 "mlr_dsl_parse.c" + break; + case 157: +#line 935 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_UNTYPED_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7110 "mlr_dsl_parse.c" + break; + case 158: + case 159: +#line 938 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_UNTYPED_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7118 "mlr_dsl_parse.c" + break; + case 160: + case 166: + case 169: +#line 944 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_MAP_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7127 "mlr_dsl_parse.c" + break; + case 161: +#line 948 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_NUMERIC_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7134 "mlr_dsl_parse.c" + break; + case 162: +#line 951 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_INT_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7141 "mlr_dsl_parse.c" + break; + case 163: +#line 954 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_FLOAT_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7148 "mlr_dsl_parse.c" + break; + case 164: +#line 957 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_BOOLEAN_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7155 "mlr_dsl_parse.c" + break; + case 165: +#line 960 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_STRING_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7162 "mlr_dsl_parse.c" + break; + case 167: + case 168: +#line 967 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_MAP_LOCAL_DEFINITION, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7170 "mlr_dsl_parse.c" + break; + case 170: + case 172: +#line 977 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7178 "mlr_dsl_parse.c" + break; + case 171: + case 173: +#line 980 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7186 "mlr_dsl_parse.c" + break; + case 174: + case 176: +#line 991 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7194 "mlr_dsl_parse.c" + break; + case 175: + case 177: +#line 994 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7202 "mlr_dsl_parse.c" + break; + case 178: +#line 1006 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7209 "mlr_dsl_parse.c" + break; + case 179: +#line 1012 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-1].minor.yy0->text, + MD_AST_NODE_TYPE_INDIRECT_SREC_ASSIGNMENT, + yymsp[-3].minor.yy95, + yymsp[0].minor.yy95 + ); +} +#line 7221 "mlr_dsl_parse.c" + break; + case 180: +#line 1026 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-1].minor.yy0->text, + MD_AST_NODE_TYPE_POSITIONAL_SREC_NAME_ASSIGNMENT, + yymsp[-4].minor.yy95, + yymsp[0].minor.yy95 + ); +} +#line 7233 "mlr_dsl_parse.c" + break; + case 181: +#line 1042 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-1].minor.yy0->text, + MD_AST_NODE_TYPE_INDIRECT_SREC_ASSIGNMENT, + mlr_dsl_ast_node_alloc_unary( + "positional_srec_field_name", + MD_AST_NODE_TYPE_POSITIONAL_SREC_NAME, + yymsp[-5].minor.yy95 + ), + yymsp[0].minor.yy95 + ); +} +#line 7249 "mlr_dsl_parse.c" + break; + case 182: + case 183: +#line 1055 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7257 "mlr_dsl_parse.c" + break; + case 184: +#line 1063 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7264 "mlr_dsl_parse.c" + break; + case 185: + case 186: +#line 1067 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy95); +} +#line 7272 "mlr_dsl_parse.c" + break; + case 187: +#line 1075 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy0); +} +#line 7279 "mlr_dsl_parse.c" + break; + case 188: +#line 1079 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_OOSVAR_FROM_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy0); +} +#line 7286 "mlr_dsl_parse.c" + break; + case 189: +#line 1083 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_OOSVAR_FROM_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy95); +} +#line 7293 "mlr_dsl_parse.c" + break; + case 190: +#line 1087 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_OOSVAR_FROM_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy0); +} +#line 7300 "mlr_dsl_parse.c" + break; + case 191: +#line 1091 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, + MD_AST_NODE_TYPE_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy95); +} +#line 7308 "mlr_dsl_parse.c" + break; + case 192: +#line 1095 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy95); +} +#line 7315 "mlr_dsl_parse.c" + break; + case 193: + case 194: +#line 1098 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_FULL_SREC_ASSIGNMENT, yymsp[-2].minor.yy0, yymsp[0].minor.yy0); +} +#line 7323 "mlr_dsl_parse.c" + break; + case 195: +#line 1105 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 7330 "mlr_dsl_parse.c" + break; + case 196: +#line 1110 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("||", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7338 "mlr_dsl_parse.c" + break; + case 197: +#line 1114 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7346 "mlr_dsl_parse.c" + break; + case 198: +#line 1118 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7354 "mlr_dsl_parse.c" + break; + case 199: +#line 1122 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("|", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7362 "mlr_dsl_parse.c" + break; + case 200: +#line 1126 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7370 "mlr_dsl_parse.c" + break; + case 201: +#line 1130 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7378 "mlr_dsl_parse.c" + break; + case 202: +#line 1134 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("<<", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7386 "mlr_dsl_parse.c" + break; + case 203: +#line 1138 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(">>", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7394 "mlr_dsl_parse.c" + break; + case 204: +#line 1143 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7402 "mlr_dsl_parse.c" + break; + case 205: +#line 1147 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7410 "mlr_dsl_parse.c" + break; + case 206: +#line 1151 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7418 "mlr_dsl_parse.c" + break; + case 207: +#line 1155 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7426 "mlr_dsl_parse.c" + break; + case 208: +#line 1159 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("/", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7434 "mlr_dsl_parse.c" + break; + case 209: +#line 1163 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7442 "mlr_dsl_parse.c" + break; + case 210: +#line 1168 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7450 "mlr_dsl_parse.c" + break; + case 211: +#line 1172 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7458 "mlr_dsl_parse.c" + break; + case 212: +#line 1176 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7466 "mlr_dsl_parse.c" + break; + case 213: +#line 1180 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("./", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7474 "mlr_dsl_parse.c" + break; + case 214: +#line 1184 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7482 "mlr_dsl_parse.c" + break; + case 215: +#line 1189 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7490 "mlr_dsl_parse.c" + break; + case 216: +#line 1193 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_SREC_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7498 "mlr_dsl_parse.c" + break; + case 217: +#line 1199 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("||", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7506 "mlr_dsl_parse.c" + break; + case 218: +#line 1203 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7514 "mlr_dsl_parse.c" + break; + case 219: +#line 1207 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7522 "mlr_dsl_parse.c" + break; + case 220: +#line 1211 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("|", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7530 "mlr_dsl_parse.c" + break; + case 221: +#line 1215 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7538 "mlr_dsl_parse.c" + break; + case 222: +#line 1219 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7546 "mlr_dsl_parse.c" + break; + case 223: +#line 1223 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("<<", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7554 "mlr_dsl_parse.c" + break; + case 224: +#line 1227 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(">>", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7562 "mlr_dsl_parse.c" + break; + case 225: +#line 1232 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7570 "mlr_dsl_parse.c" + break; + case 226: +#line 1236 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7578 "mlr_dsl_parse.c" + break; + case 227: +#line 1240 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7586 "mlr_dsl_parse.c" + break; + case 228: +#line 1244 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7594 "mlr_dsl_parse.c" + break; + case 229: +#line 1248 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("/", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7602 "mlr_dsl_parse.c" + break; + case 230: +#line 1252 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7610 "mlr_dsl_parse.c" + break; + case 231: +#line 1256 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7618 "mlr_dsl_parse.c" + break; + case 232: +#line 1260 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7626 "mlr_dsl_parse.c" + break; + case 233: +#line 1265 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7634 "mlr_dsl_parse.c" + break; + case 234: +#line 1269 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7642 "mlr_dsl_parse.c" + break; + case 235: +#line 1273 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7650 "mlr_dsl_parse.c" + break; + case 236: +#line 1277 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("./", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7658 "mlr_dsl_parse.c" + break; + case 237: +#line 1281 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_OOSVAR_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7666 "mlr_dsl_parse.c" + break; + case 238: +#line 1286 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("||", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7674 "mlr_dsl_parse.c" + break; + case 239: +#line 1290 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7682 "mlr_dsl_parse.c" + break; + case 240: +#line 1294 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7690 "mlr_dsl_parse.c" + break; + case 241: +#line 1298 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("|", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7698 "mlr_dsl_parse.c" + break; + case 242: +#line 1302 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7706 "mlr_dsl_parse.c" + break; + case 243: +#line 1306 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7714 "mlr_dsl_parse.c" + break; + case 244: +#line 1310 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("<<", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7722 "mlr_dsl_parse.c" + break; + case 245: +#line 1314 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(">>", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7730 "mlr_dsl_parse.c" + break; + case 246: +#line 1319 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7738 "mlr_dsl_parse.c" + break; + case 247: +#line 1323 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7746 "mlr_dsl_parse.c" + break; + case 248: +#line 1327 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7754 "mlr_dsl_parse.c" + break; + case 249: +#line 1331 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7762 "mlr_dsl_parse.c" + break; + case 250: +#line 1335 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("/", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7770 "mlr_dsl_parse.c" + break; + case 251: +#line 1339 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7778 "mlr_dsl_parse.c" + break; + case 252: +#line 1343 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7786 "mlr_dsl_parse.c" + break; + case 253: +#line 1347 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7794 "mlr_dsl_parse.c" + break; + case 254: +#line 1352 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7802 "mlr_dsl_parse.c" + break; + case 255: +#line 1356 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7810 "mlr_dsl_parse.c" + break; + case 256: +#line 1360 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7818 "mlr_dsl_parse.c" + break; + case 257: +#line 1364 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("./", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7826 "mlr_dsl_parse.c" + break; + case 258: +#line 1368 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_NONINDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7834 "mlr_dsl_parse.c" + break; + case 259: +#line 1373 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("||", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7842 "mlr_dsl_parse.c" + break; + case 260: +#line 1377 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7850 "mlr_dsl_parse.c" + break; + case 261: +#line 1381 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7858 "mlr_dsl_parse.c" + break; + case 262: +#line 1385 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("|", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7866 "mlr_dsl_parse.c" + break; + case 263: +#line 1389 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7874 "mlr_dsl_parse.c" + break; + case 264: +#line 1393 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7882 "mlr_dsl_parse.c" + break; + case 265: +#line 1397 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("<<", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7890 "mlr_dsl_parse.c" + break; + case 266: +#line 1401 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(">>", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7898 "mlr_dsl_parse.c" + break; + case 267: +#line 1406 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7906 "mlr_dsl_parse.c" + break; + case 268: +#line 1410 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7914 "mlr_dsl_parse.c" + break; + case 269: +#line 1414 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7922 "mlr_dsl_parse.c" + break; + case 270: +#line 1418 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7930 "mlr_dsl_parse.c" + break; + case 271: +#line 1422 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("/", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7938 "mlr_dsl_parse.c" + break; + case 272: +#line 1426 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7946 "mlr_dsl_parse.c" + break; + case 273: +#line 1430 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7954 "mlr_dsl_parse.c" + break; + case 274: +#line 1434 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7962 "mlr_dsl_parse.c" + break; + case 275: +#line 1439 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7970 "mlr_dsl_parse.c" + break; + case 276: +#line 1443 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7978 "mlr_dsl_parse.c" + break; + case 277: +#line 1447 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7986 "mlr_dsl_parse.c" + break; + case 278: +#line 1451 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("./", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 7994 "mlr_dsl_parse.c" + break; + case 279: +#line 1455 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_INDEXED_LOCAL_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8002 "mlr_dsl_parse.c" + break; + case 280: +#line 1461 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("||", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8010 "mlr_dsl_parse.c" + break; + case 281: +#line 1465 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8018 "mlr_dsl_parse.c" + break; + case 282: +#line 1469 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8026 "mlr_dsl_parse.c" + break; + case 283: +#line 1473 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("|", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8034 "mlr_dsl_parse.c" + break; + case 284: +#line 1477 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("^", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8042 "mlr_dsl_parse.c" + break; + case 285: +#line 1481 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("&", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8050 "mlr_dsl_parse.c" + break; + case 286: +#line 1485 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("<<", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8058 "mlr_dsl_parse.c" + break; + case 287: +#line 1489 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(">>", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8066 "mlr_dsl_parse.c" + break; + case 288: +#line 1493 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("+", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8074 "mlr_dsl_parse.c" + break; + case 289: +#line 1497 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("-", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8082 "mlr_dsl_parse.c" + break; + case 290: +#line 1501 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8090 "mlr_dsl_parse.c" + break; + case 291: +#line 1506 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8098 "mlr_dsl_parse.c" + break; + case 292: +#line 1510 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("/", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8106 "mlr_dsl_parse.c" + break; + case 293: +#line 1514 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8114 "mlr_dsl_parse.c" + break; + case 294: +#line 1518 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8122 "mlr_dsl_parse.c" + break; + case 295: +#line 1522 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8130 "mlr_dsl_parse.c" + break; + case 296: +#line 1527 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".*", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8138 "mlr_dsl_parse.c" + break; + case 297: +#line 1531 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary("./", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8146 "mlr_dsl_parse.c" + break; + case 298: +#line 1535 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".//", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8154 "mlr_dsl_parse.c" + break; + case 299: +#line 1539 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".%", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8162 "mlr_dsl_parse.c" + break; + case 300: +#line 1543 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("=", MD_AST_NODE_TYPE_ENV_ASSIGNMENT, yymsp[-2].minor.yy95, + mlr_dsl_ast_node_alloc_binary(".**", MD_AST_NODE_TYPE_OPERATOR, mlr_dsl_ast_tree_copy(yymsp[-2].minor.yy95) , yymsp[0].minor.yy95)); +} +#line 8170 "mlr_dsl_parse.c" + break; + case 301: + case 302: +#line 1549 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_UNSET, yymsp[0].minor.yy0); +} +#line 8178 "mlr_dsl_parse.c" + break; + case 303: +#line 1555 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[0].minor.yy95, yymsp[-1].minor.yy0->text); +} +#line 8185 "mlr_dsl_parse.c" + break; + case 304: +#line 1559 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("temp", MD_AST_NODE_TYPE_UNSET); +} +#line 8192 "mlr_dsl_parse.c" + break; + case 305: + case 306: + case 307: + case 309: + case 310: + case 311: +#line 1563 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("temp", MD_AST_NODE_TYPE_UNSET, yymsp[0].minor.yy95); +} +#line 8204 "mlr_dsl_parse.c" + break; + case 308: +#line 1572 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("temp", MD_AST_NODE_TYPE_UNSET, yymsp[0].minor.yy0); +} +#line 8211 "mlr_dsl_parse.c" + break; + case 314: +#line 1593 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_TEE, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-2].minor.yy95), + yymsp[0].minor.yy0); +} +#line 8220 "mlr_dsl_parse.c" + break; + case 315: +#line 1599 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_TEE, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-2].minor.yy95), + yymsp[0].minor.yy0); +} +#line 8229 "mlr_dsl_parse.c" + break; + case 316: +#line 1605 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_TEE, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-2].minor.yy95), + yymsp[0].minor.yy0); +} +#line 8238 "mlr_dsl_parse.c" + break; + case 317: +#line 1619 "mlr_dsl_parse.y" +{ + yymsp[0].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[0].minor.yy95, yymsp[-1].minor.yy0->text); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_EMITF, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8247 "mlr_dsl_parse.c" + break; + case 318: +#line 1625 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("temp", MD_AST_NODE_TYPE_EMITF); +} +#line 8254 "mlr_dsl_parse.c" + break; + case 319: + case 320: + case 321: +#line 1628 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("temp", MD_AST_NODE_TYPE_EMITF, yymsp[0].minor.yy95); +} +#line 8263 "mlr_dsl_parse.c" + break; + case 325: +#line 1647 "mlr_dsl_parse.y" +{ + yymsp[0].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[0].minor.yy95, yymsp[-4].minor.yy0->text); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITF, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-2].minor.yy95)); +} +#line 8272 "mlr_dsl_parse.c" + break; + case 326: +#line 1653 "mlr_dsl_parse.y" +{ + yymsp[0].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[0].minor.yy95, yymsp[-4].minor.yy0->text); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITF, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-2].minor.yy95)); +} +#line 8281 "mlr_dsl_parse.c" + break; + case 327: +#line 1659 "mlr_dsl_parse.y" +{ + yymsp[0].minor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[0].minor.yy95, yymsp[-4].minor.yy0->text); + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITF, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-2].minor.yy95)); +} +#line 8290 "mlr_dsl_parse.c" + break; + case 328: +#line 1667 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_unary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8299 "mlr_dsl_parse.c" + break; + case 329: +#line 1673 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8308 "mlr_dsl_parse.c" + break; + case 330: +#line 1681 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-2].minor.yy95)); +} +#line 8318 "mlr_dsl_parse.c" + break; + case 331: +#line 1689 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-4].minor.yy95)); +} +#line 8328 "mlr_dsl_parse.c" + break; + case 332: +#line 1698 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-2].minor.yy95)); +} +#line 8338 "mlr_dsl_parse.c" + break; + case 333: +#line 1706 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-4].minor.yy95)); +} +#line 8348 "mlr_dsl_parse.c" + break; + case 334: +#line 1715 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-2].minor.yy95)); +} +#line 8358 "mlr_dsl_parse.c" + break; + case 335: +#line 1723 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-4].minor.yy95)); +} +#line 8368 "mlr_dsl_parse.c" + break; + case 336: +#line 1731 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("emitp_namelist", MD_AST_NODE_TYPE_EMITP, yymsp[0].minor.yy95); +} +#line 8375 "mlr_dsl_parse.c" + break; + case 338: +#line 1739 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_unary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8384 "mlr_dsl_parse.c" + break; + case 339: +#line 1745 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8393 "mlr_dsl_parse.c" + break; + case 340: +#line 1754 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-2].minor.yy95)); +} +#line 8403 "mlr_dsl_parse.c" + break; + case 341: +#line 1762 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-4].minor.yy95)); +} +#line 8413 "mlr_dsl_parse.c" + break; + case 342: +#line 1771 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-2].minor.yy95)); +} +#line 8423 "mlr_dsl_parse.c" + break; + case 343: +#line 1779 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-4].minor.yy95)); +} +#line 8433 "mlr_dsl_parse.c" + break; + case 344: +#line 1788 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_unary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-2].minor.yy95)); +} +#line 8443 "mlr_dsl_parse.c" + break; + case 345: +#line 1796 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, + mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT, yymsp[-2].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-4].minor.yy95)); +} +#line 8453 "mlr_dsl_parse.c" + break; + case 346: + case 347: + case 351: + case 390: + case 391: + case 392: + case 486: + case 487: + case 488: + case 501: + case 515: + case 516: +#line 1804 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = yymsp[0].minor.yy0; +} +#line 8471 "mlr_dsl_parse.c" + break; + case 354: +#line 1830 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("emit_namelist", MD_AST_NODE_TYPE_EMIT, yymsp[0].minor.yy95); +} +#line 8478 "mlr_dsl_parse.c" + break; + case 356: +#line 1840 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8487 "mlr_dsl_parse.c" + break; + case 357: +#line 1848 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-5].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-5].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8496 "mlr_dsl_parse.c" + break; + case 358: +#line 1856 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-4].minor.yy95)); +} +#line 8505 "mlr_dsl_parse.c" + break; + case 359: +#line 1864 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-6].minor.yy95)); +} +#line 8514 "mlr_dsl_parse.c" + break; + case 360: +#line 1872 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-4].minor.yy95)); +} +#line 8523 "mlr_dsl_parse.c" + break; + case 361: +#line 1880 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-6].minor.yy95)); +} +#line 8532 "mlr_dsl_parse.c" + break; + case 362: +#line 1888 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-4].minor.yy95)); +} +#line 8541 "mlr_dsl_parse.c" + break; + case 363: +#line 1896 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-6].minor.yy95)); +} +#line 8550 "mlr_dsl_parse.c" + break; + case 364: +#line 1903 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("lashed_keylists", MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[0].minor.yy95); +} +#line 8557 "mlr_dsl_parse.c" + break; + case 366: +#line 1911 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("lashed_namelist", MD_AST_NODE_TYPE_EMITP_LASHED, yymsp[0].minor.yy95); +} +#line 8564 "mlr_dsl_parse.c" + break; + case 368: +#line 1921 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8573 "mlr_dsl_parse.c" + break; + case 369: +#line 1929 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-5].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-5].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_zary("stream", MD_AST_NODE_TYPE_STREAM)); +} +#line 8582 "mlr_dsl_parse.c" + break; + case 370: +#line 1937 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-4].minor.yy95)); +} +#line 8591 "mlr_dsl_parse.c" + break; + case 371: +#line 1945 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[-6].minor.yy95)); +} +#line 8600 "mlr_dsl_parse.c" + break; + case 372: +#line 1953 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-4].minor.yy95)); +} +#line 8609 "mlr_dsl_parse.c" + break; + case 373: +#line 1961 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[-6].minor.yy95)); +} +#line 8618 "mlr_dsl_parse.c" + break; + case 374: +#line 1969 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_unary(yymsp[-6].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-1].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-4].minor.yy95)); +} +#line 8627 "mlr_dsl_parse.c" + break; + case 375: +#line 1977 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, + mlr_dsl_ast_node_alloc_binary(yymsp[-8].minor.yy0->text, MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[-3].minor.yy95, yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[-6].minor.yy95)); +} +#line 8636 "mlr_dsl_parse.c" + break; + case 376: +#line 1984 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("lashed_keylists", MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[0].minor.yy95); +} +#line 8643 "mlr_dsl_parse.c" + break; + case 378: +#line 1992 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("lashed_namelist", MD_AST_NODE_TYPE_EMIT_LASHED, yymsp[0].minor.yy95); +} +#line 8650 "mlr_dsl_parse.c" + break; + case 380: +#line 2000 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT)), + mlr_dsl_ast_node_alloc("all", MD_AST_NODE_TYPE_FULL_OOSVAR)); +} +#line 8660 "mlr_dsl_parse.c" + break; + case 381: +#line 2006 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR)), + mlr_dsl_ast_node_alloc("all", MD_AST_NODE_TYPE_FULL_OOSVAR)); +} +#line 8670 "mlr_dsl_parse.c" + break; + case 382: +#line 2012 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc("all", MD_AST_NODE_TYPE_FULL_OOSVAR)); +} +#line 8680 "mlr_dsl_parse.c" + break; + case 383: +#line 2018 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc("all", MD_AST_NODE_TYPE_FULL_OOSVAR)); +} +#line 8690 "mlr_dsl_parse.c" + break; + case 384: +#line 2024 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[0].minor.yy95), + mlr_dsl_ast_node_alloc("all", MD_AST_NODE_TYPE_FULL_OOSVAR)); +} +#line 8700 "mlr_dsl_parse.c" + break; + case 385: +#line 2031 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT)), + yymsp[0].minor.yy95); +} +#line 8710 "mlr_dsl_parse.c" + break; + case 386: +#line 2037 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR)), + yymsp[0].minor.yy95); +} +#line 8720 "mlr_dsl_parse.c" + break; + case 387: +#line 2043 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-1].minor.yy95), + yymsp[0].minor.yy95); +} +#line 8730 "mlr_dsl_parse.c" + break; + case 388: +#line 2049 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-1].minor.yy95), + yymsp[0].minor.yy95); +} +#line 8740 "mlr_dsl_parse.c" + break; + case 389: +#line 2055 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-3].minor.yy0->text, MD_AST_NODE_TYPE_DUMP, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-1].minor.yy95), + yymsp[0].minor.yy95); +} +#line 8750 "mlr_dsl_parse.c" + break; + case 395: +#line 2081 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT))); +} +#line 8759 "mlr_dsl_parse.c" + break; + case 396: +#line 2086 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR))); +} +#line 8768 "mlr_dsl_parse.c" + break; + case 397: +#line 2091 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-2].minor.yy95)); +} +#line 8777 "mlr_dsl_parse.c" + break; + case 398: +#line 2096 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-2].minor.yy95)); +} +#line 8786 "mlr_dsl_parse.c" + break; + case 399: +#line 2101 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-2].minor.yy95)); +} +#line 8795 "mlr_dsl_parse.c" + break; + case 400: +#line 2108 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT))); +} +#line 8805 "mlr_dsl_parse.c" + break; + case 401: +#line 2114 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR))); +} +#line 8815 "mlr_dsl_parse.c" + break; + case 402: +#line 2120 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[0].minor.yy95)); +} +#line 8824 "mlr_dsl_parse.c" + break; + case 403: +#line 2125 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[0].minor.yy95)); +} +#line 8833 "mlr_dsl_parse.c" + break; + case 404: +#line 2130 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINT, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[0].minor.yy95)); +} +#line 8842 "mlr_dsl_parse.c" + break; + case 405: +#line 2137 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT))); +} +#line 8851 "mlr_dsl_parse.c" + break; + case 406: +#line 2142 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR))); +} +#line 8860 "mlr_dsl_parse.c" + break; + case 407: +#line 2147 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + yymsp[-2].minor.yy95)); +} +#line 8869 "mlr_dsl_parse.c" + break; + case 408: +#line 2152 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, + yymsp[-2].minor.yy95)); +} +#line 8878 "mlr_dsl_parse.c" + break; + case 409: +#line 2157 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-4].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, yymsp[0].minor.yy95, + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, + yymsp[-2].minor.yy95)); +} +#line 8887 "mlr_dsl_parse.c" + break; + case 410: +#line 2165 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDOUT))); +} +#line 8897 "mlr_dsl_parse.c" + break; + case 411: +#line 2171 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, + mlr_dsl_ast_node_alloc_zary("stdout", MD_AST_NODE_TYPE_STDERR))); +} +#line 8907 "mlr_dsl_parse.c" + break; + case 412: +#line 2177 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">", MD_AST_NODE_TYPE_FILE_WRITE, yymsp[0].minor.yy95)); +} +#line 8916 "mlr_dsl_parse.c" + break; + case 413: +#line 2182 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary(">>", MD_AST_NODE_TYPE_FILE_APPEND, yymsp[0].minor.yy95)); +} +#line 8925 "mlr_dsl_parse.c" + break; + case 414: +#line 2187 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-2].minor.yy0->text, MD_AST_NODE_TYPE_PRINTN, + mlr_dsl_ast_node_alloc("", MD_AST_NODE_TYPE_NUMERIC_LITERAL), + mlr_dsl_ast_node_alloc_unary("|", MD_AST_NODE_TYPE_PIPE, yymsp[0].minor.yy95)); +} +#line 8934 "mlr_dsl_parse.c" + break; + case 416: + case 417: +#line 2195 "mlr_dsl_parse.y" +{ yygotominor.yy95 = yymsp[0].minor.yy0; } +#line 8940 "mlr_dsl_parse.c" + break; + case 419: +#line 2205 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_ternary("? :", MD_AST_NODE_TYPE_OPERATOR, yymsp[-4].minor.yy95, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 8947 "mlr_dsl_parse.c" + break; + case 422: + case 424: + case 426: + case 428: + case 429: + case 430: + case 431: + case 433: + case 434: + case 435: + case 436: + case 438: + case 440: + case 442: + case 444: + case 445: + case 447: + case 448: + case 449: + case 450: + case 451: + case 453: + case 454: + case 455: + case 456: + case 457: + case 458: + case 459: + case 468: +#line 2217 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_OPERATOR, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 8982 "mlr_dsl_parse.c" + break; + case 461: + case 462: + case 463: + case 464: + case 465: + case 466: +#line 2358 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-1].minor.yy0->text, MD_AST_NODE_TYPE_OPERATOR, yymsp[0].minor.yy95); +} +#line 8994 "mlr_dsl_parse.c" + break; + case 470: +#line 2395 "mlr_dsl_parse.y" +{ + char* dollar_name = yymsp[0].minor.yy0->text; + char* no_dollar_name = &dollar_name[1]; + yygotominor.yy95 = mlr_dsl_ast_node_alloc(no_dollar_name, yymsp[0].minor.yy0->type); +} +#line 9003 "mlr_dsl_parse.c" + break; + case 471: +#line 2400 "mlr_dsl_parse.y" +{ + // Replace "${field.name}" with just "field.name" + char* dollar_name = yymsp[0].minor.yy0->text; + char* no_dollar_name = &dollar_name[2]; + int len = strlen(no_dollar_name); + if (len > 0) + no_dollar_name[len-1] = 0; + yygotominor.yy95 = mlr_dsl_ast_node_alloc(no_dollar_name, yymsp[0].minor.yy0->type); +} +#line 9016 "mlr_dsl_parse.c" + break; + case 473: +#line 2413 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("indirect_field_name", MD_AST_NODE_TYPE_INDIRECT_FIELD_NAME, yymsp[-1].minor.yy95); +} +#line 9023 "mlr_dsl_parse.c" + break; + case 475: +#line 2423 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary( + "positional_srec_field_name", + MD_AST_NODE_TYPE_POSITIONAL_SREC_NAME, + yymsp[-2].minor.yy95 + ); +} +#line 9034 "mlr_dsl_parse.c" + break; + case 477: +#line 2439 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary( + "indirect_field_name", + MD_AST_NODE_TYPE_INDIRECT_FIELD_NAME, + mlr_dsl_ast_node_alloc_unary( + "positional_srec_field_name", + MD_AST_NODE_TYPE_POSITIONAL_SREC_NAME, + yymsp[-3].minor.yy95 + ) + ); +} +#line 9049 "mlr_dsl_parse.c" + break; + case 480: + case 485: + case 495: +#line 2459 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_append_arg(yymsp[-3].minor.yy95, yymsp[-1].minor.yy95); +} +#line 9058 "mlr_dsl_parse.c" + break; + case 481: +#line 2464 "mlr_dsl_parse.y" +{ + char* at_name = yymsp[0].minor.yy0->text; + char* no_at_name = &at_name[1]; + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("oosvar_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST, + mlr_dsl_ast_node_alloc(no_at_name, yymsp[0].minor.yy0->type)); +} +#line 9068 "mlr_dsl_parse.c" + break; + case 482: +#line 2472 "mlr_dsl_parse.y" +{ + // Replace "@%{field.name}" with just "field.name" + char* at_name = yymsp[0].minor.yy0->text; + char* no_at_name = &at_name[2]; + int len = strlen(no_at_name); + if (len > 0) + no_at_name[len-1] = 0; + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("oosvar_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST, + mlr_dsl_ast_node_alloc(no_at_name, yymsp[0].minor.yy0->type)); +} +#line 9082 "mlr_dsl_parse.c" + break; + case 483: +#line 2484 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("oosvar_keylist", MD_AST_NODE_TYPE_OOSVAR_KEYLIST, yymsp[-1].minor.yy95); +} +#line 9089 "mlr_dsl_parse.c" + break; + case 493: +#line 2521 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc(yymsp[0].minor.yy0->text, MD_AST_NODE_TYPE_NONINDEXED_LOCAL_VARIABLE); +} +#line 9096 "mlr_dsl_parse.c" + break; + case 494: +#line 2525 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary(yymsp[-3].minor.yy95->text, MD_AST_NODE_TYPE_INDEXED_LOCAL_VARIABLE, yymsp[-1].minor.yy95); + mlr_dsl_ast_node_free(yymsp[-3].minor.yy95); +} +#line 9104 "mlr_dsl_parse.c" + break; + case 497: +#line 2552 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary( + yymsp[-3].minor.yy95->text, + MD_AST_NODE_TYPE_INDEXED_FUNCTION_CALLSITE, + yymsp[-3].minor.yy95, + mlr_dsl_ast_node_alloc_unary( + "indexing", + MD_AST_NODE_TYPE_INDEXED_FUNCTION_INDEX_LIST, + yymsp[-1].minor.yy95 + ) + ); +} +#line 9120 "mlr_dsl_parse.c" + break; + case 498: +#line 2564 "mlr_dsl_parse.y" +{ + // Append to second child node which is list of indexing expressions. + yygotominor.yy95 = mlr_dsl_ast_node_append_arg_to_second_child(yymsp[-3].minor.yy95, yymsp[-1].minor.yy95); +} +#line 9128 "mlr_dsl_parse.c" + break; + case 499: +#line 2569 "mlr_dsl_parse.y" +{ + char* input = yymsp[0].minor.yy0->text; + char* stripped = &input[1]; + int len = strlen(input); + stripped[len-2] = 0; + yygotominor.yy95 = mlr_dsl_ast_node_alloc(mlr_alloc_unbackslash(stripped), yymsp[0].minor.yy0->type); +} +#line 9139 "mlr_dsl_parse.c" + break; + case 500: +#line 2576 "mlr_dsl_parse.y" +{ + char* input = yymsp[0].minor.yy0->text; + char* stripped = &input[1]; + int len = strlen(input); + stripped[len-3] = 0; + yygotominor.yy95 = mlr_dsl_ast_node_alloc(mlr_alloc_unbackslash(stripped), yymsp[0].minor.yy0->type); +} +#line 9150 "mlr_dsl_parse.c" + break; + case 503: +#line 2591 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("env", MD_AST_NODE_TYPE_ENV, yymsp[-3].minor.yy0, yymsp[-1].minor.yy95); +} +#line 9157 "mlr_dsl_parse.c" + break; + case 504: + case 519: +#line 2595 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = yymsp[-1].minor.yy95; +} +#line 9165 "mlr_dsl_parse.c" + break; + case 506: + case 507: + case 508: +#line 2610 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_set_function_name(yymsp[-1].minor.yy95, yymsp[-3].minor.yy0->text); + yygotominor.yy95->type = MD_AST_NODE_TYPE_FUNCTION_CALLSITE; +} +#line 9175 "mlr_dsl_parse.c" + break; + case 518: +#line 2659 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_zary("map_literal", MD_AST_NODE_TYPE_MAP_LITERAL); +} +#line 9182 "mlr_dsl_parse.c" + break; + case 520: +#line 2665 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("map_literal", MD_AST_NODE_TYPE_MAP_LITERAL, yymsp[0].minor.yy95); +} +#line 9189 "mlr_dsl_parse.c" + break; + case 521: +#line 2669 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("map_literal", MD_AST_NODE_TYPE_MAP_LITERAL, yymsp[-1].minor.yy95); +} +#line 9196 "mlr_dsl_parse.c" + break; + case 523: +#line 2676 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_binary("mappair", MD_AST_NODE_TYPE_MAP_LITERAL_PAIR, yymsp[-2].minor.yy95, yymsp[0].minor.yy95); +} +#line 9203 "mlr_dsl_parse.c" + break; + case 524: +#line 2679 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("mapkey", MD_AST_NODE_TYPE_MAP_LITERAL_KEY, yymsp[0].minor.yy95); +} +#line 9210 "mlr_dsl_parse.c" + break; + case 525: + case 526: +#line 2682 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("mapval", MD_AST_NODE_TYPE_MAP_LITERAL_VALUE, yymsp[0].minor.yy95); +} +#line 9218 "mlr_dsl_parse.c" + break; + case 527: + case 528: +#line 2688 "mlr_dsl_parse.y" +{ + yygotominor.yy95 = mlr_dsl_ast_node_alloc_unary("mapval", MD_AST_NODE_TYPE_MAP_LITERAL_VALUE, yymsp[0].minor.yy0); +} +#line 9226 "mlr_dsl_parse.c" + break; + }; + yygoto = yyRuleInfo[yyruleno].lhs; + yysize = yyRuleInfo[yyruleno].nrhs; + pparser->yyidx -= yysize; + yyact = yy_find_reduce_action(pparser,yygoto); + if (yyact < YYNSTATE) { + yy_shift(pparser,yyact,yygoto,&yygotominor); + } else if (yyact == YYNSTATE + YYNRULE + 1) { + yy_accept(pparser); + } +} + +/* +** The following code executes when the parse fails +*/ +static void yy_parse_failed(lemon_parser_t *pparser) { + ParseARG_FETCH; +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); + } +#endif + while (pparser->yyidx >= 0) + yy_pop_parser_stack(pparser); + /* Here code is inserted which will be executed whenever the + ** parser fails */ + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} + +/* +** The following code executes when a syntax error first occurs. +*/ +static void yy_syntax_error( + lemon_parser_t *pparser, /* The parser */ + int yymajor, /* The major type of the error token */ + YYMINORTYPE yyminor /* The minor type of the error token */ +){ + ParseARG_FETCH; +#define TOKEN (yyminor.yy0) +#line 54 "mlr_dsl_parse.y" + + fprintf(stderr, "mlr DSL: syntax error at \"%s\"\n", TOKEN->text); + +// This is confusing and (as is) worse than nothing. +// Ideally we want to show the position within the input of the syntax error. +// +// int n = sizeof(yyTokenName) / sizeof(yyTokenName[0]); +// for (int i = 0; i < n; ++i) { +// int a = yy_find_shift_action(pparser, (YYCODETYPE)i); +// if (a < YYNSTATE + YYNRULE) { +// fprintf(stderr, "Possible token \"%s\"\n", yyTokenName[i]); +// } +// } + + +#line 9283 "mlr_dsl_parse.c" + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} + +/* +** The following is executed when the parser accepts +*/ +static void yy_accept(lemon_parser_t *pparser) { + ParseARG_FETCH; +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sAccept!\n", yyTracePrompt); + } +#endif + while (pparser->yyidx>=0) + yy_pop_parser_stack(pparser); + /* Here code is inserted which will be executed whenever the + ** parser accepts */ +#line 50 "mlr_dsl_parse.y" + + +#line 9304 "mlr_dsl_parse.c" + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} + +/* The main parser program. +** The first argument is a pointer to a structure obtained from +** "mlr_dsl_lemon_parser_alloc" which describes the current state of the parser. +** The second argument is the major token number. The third is +** the minor token. The fourth optional argument is whatever the +** user wants (and specified in the grammar) and is available for +** use by the action routines. +** +** Inputs: +**
    +**
  • A pointer to the parser (an opaque structure). +**
  • The major token number. +**
  • The minor token number. +**
  • An option argument of a grammar-specified type. +**
+** +** Outputs: +** None. +*/ + +int mlr_dsl_lemon_parser_parse_token( + void *pvparser, /* The parser */ + int yymajor, /* The major token code number */ + ParseTOKENTYPE yyminor /* The value for the token */ + ParseARG_PDECL) /* Optional %extra_argument parameter */ +{ + YYMINORTYPE yyminorunion; + int yyact; /* The parser action. */ + int yyendofinput; /* True if we are at the end of input */ + int yyerrorhit = 0; /* True if yymajor has invoked an error */ + lemon_parser_t *pparser; /* The parser */ + + int parse_code = 1; + + /* (re)initialize the parser, if necessary */ + pparser = (lemon_parser_t*)pvparser; + if (pparser->yyidx<0) { + if (yymajor==0) return 1; + pparser->yyidx = 0; + pparser->yyerrcnt = -1; + pparser->yystack[0].stateno = 0; + pparser->yystack[0].major = 0; + } + yyminorunion.yy0 = yyminor; + yyendofinput = (yymajor==0); + ParseARG_STORE; + +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sInput %s\n", yyTracePrompt, yyTokenName[yymajor]); + } +#endif + + do { + yyact = yy_find_shift_action(pparser,yymajor); + if (yyactyyerrcnt--; + if (yyendofinput && pparser->yyidx>=0) { + yymajor = 0; + } else { + yymajor = YYNOCODE; + } + } else if (yyact < YYNSTATE + YYNRULE) { + yy_reduce(pparser,yyact-YYNSTATE); + } else if (yyact == YY_ERROR_ACTION) { + int yymx; +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt); + } +#endif +#ifdef YYERRORSYMBOL + /* A syntax error has occurred. + ** The response to an error depends upon whether or not the + ** grammar defines an error token "ERROR". + ** + ** This is what we do if the grammar does define ERROR: + ** + ** * Call the %syntax_error function. + ** + ** * Begin popping the stack until we enter a state where + ** it is legal to shift the error symbol, then shift + ** the error symbol. + ** + ** * Set the error count to three. + ** + ** * Begin accepting and shifting new tokens. No new error + ** processing will occur until three tokens have been + ** shifted successfully. + ** + */ + if (pparser->yyerrcnt<0) { + yy_syntax_error(pparser, yymajor, yyminorunion); + return 0; + } + yymx = pparser->yystack[pparser->yyidx].major; + if (yymx==YYERRORSYMBOL || yyerrorhit) { +#ifndef NDEBUG + if (yyTraceFILE) { + fprintf(yyTraceFILE,"%sDiscard input token %s\n", + yyTracePrompt, yyTokenName[yymajor]); + } +#endif + mlr_dsl_yy_destructor(yymajor,&yyminorunion); + yymajor = YYNOCODE; + } else { + while( + pparser->yyidx >= 0 && + yymx != YYERRORSYMBOL && + (yyact = yy_find_shift_action(pparser,YYERRORSYMBOL)) >= YYNSTATE + ){ + yy_pop_parser_stack(pparser); + } + if (pparser->yyidx < 0 || yymajor==0) { + mlr_dsl_yy_destructor(yymajor,&yyminorunion); + yy_parse_failed(pparser); + parse_code = 0; + yymajor = YYNOCODE; + } else if (yymx!=YYERRORSYMBOL) { + YYMINORTYPE u2; + u2.YYERRSYMDT = 0; + yy_shift(pparser,yyact,YYERRORSYMBOL,&u2); + } + } + pparser->yyerrcnt = 3; + yyerrorhit = 1; +#else /* YYERRORSYMBOL is not defined */ + /* This is what we do if the grammar does not define ERROR: + ** + ** * Report an error message, and throw away the input token. + ** + ** * If the input token is $, then fail the parse. + ** + ** As before, subsequent error messages are suppressed until + ** three input tokens have been successfully shifted. + */ + if (pparser->yyerrcnt<=0) { + yy_syntax_error(pparser, yymajor, yyminorunion); + return 0; + } + pparser->yyerrcnt = 3; + mlr_dsl_yy_destructor(yymajor,&yyminorunion); + if (yyendofinput) { + yy_parse_failed(pparser); + parse_code = 0; + } + yymajor = YYNOCODE; +#endif + } else { + yy_accept(pparser); + yymajor = YYNOCODE; + } + } while (yymajor!=YYNOCODE && pparser->yyidx>=0) ; + return parse_code; +} diff --git a/c/parsing/mlr_dsl_parse.h b/c/parsing/mlr_dsl_parse.h new file mode 100644 index 000000000..fc9110afd --- /dev/null +++ b/c/parsing/mlr_dsl_parse.h @@ -0,0 +1,123 @@ +#ifndef MLR_DSL_PARSE_H +#define MLR_DSL_PARSE_H + +#define MD_TOKEN_SEMICOLON 1 +#define MD_TOKEN_RETURN 2 +#define MD_TOKEN_FULL_SREC 3 +#define MD_TOKEN_FULL_OOSVAR 4 +#define MD_TOKEN_SUBR_CALL 5 +#define MD_TOKEN_BREAK 6 +#define MD_TOKEN_CONTINUE 7 +#define MD_TOKEN_FUNC_DEF 8 +#define MD_TOKEN_NON_SIGIL_NAME 9 +#define MD_TOKEN_LPAREN 10 +#define MD_TOKEN_RPAREN 11 +#define MD_TOKEN_LBRACE 12 +#define MD_TOKEN_RBRACE 13 +#define MD_TOKEN_COLON 14 +#define MD_TOKEN_SUBR_DEF 15 +#define MD_TOKEN_COMMA 16 +#define MD_TOKEN_VAR 17 +#define MD_TOKEN_NUMERIC 18 +#define MD_TOKEN_INT 19 +#define MD_TOKEN_FLOAT 20 +#define MD_TOKEN_STRING 21 +#define MD_TOKEN_BOOLEAN 22 +#define MD_TOKEN_MAP 23 +#define MD_TOKEN_BEGIN 24 +#define MD_TOKEN_END 25 +#define MD_TOKEN_WHILE 26 +#define MD_TOKEN_DO 27 +#define MD_TOKEN_FOR 28 +#define MD_TOKEN_IN 29 +#define MD_TOKEN_IF 30 +#define MD_TOKEN_ELIF 31 +#define MD_TOKEN_ELSE 32 +#define MD_TOKEN_FILTER 33 +#define MD_TOKEN_ASSIGN 34 +#define MD_TOKEN_DOLLAR_SIGN 35 +#define MD_TOKEN_LEFT_BRACKET 36 +#define MD_TOKEN_RIGHT_BRACKET 37 +#define MD_TOKEN_LOGICAL_OR_EQUALS 38 +#define MD_TOKEN_LOGICAL_XOR_EQUALS 39 +#define MD_TOKEN_LOGICAL_AND_EQUALS 40 +#define MD_TOKEN_BITWISE_OR_EQUALS 41 +#define MD_TOKEN_BITWISE_XOR_EQUALS 42 +#define MD_TOKEN_BITWISE_AND_EQUALS 43 +#define MD_TOKEN_BITWISE_LSH_EQUALS 44 +#define MD_TOKEN_BITWISE_RSH_EQUALS 45 +#define MD_TOKEN_PLUS_EQUALS 46 +#define MD_TOKEN_MINUS_EQUALS 47 +#define MD_TOKEN_DOT_EQUALS 48 +#define MD_TOKEN_TIMES_EQUALS 49 +#define MD_TOKEN_DIVIDE_EQUALS 50 +#define MD_TOKEN_INT_DIVIDE_EQUALS 51 +#define MD_TOKEN_OPLUS_EQUALS 52 +#define MD_TOKEN_OMINUS_EQUALS 53 +#define MD_TOKEN_OTIMES_EQUALS 54 +#define MD_TOKEN_ODIVIDE_EQUALS 55 +#define MD_TOKEN_INT_ODIVIDE_EQUALS 56 +#define MD_TOKEN_MOD_EQUALS 57 +#define MD_TOKEN_POW_EQUALS 58 +#define MD_TOKEN_OINT_DIVIDE_EQUALS 59 +#define MD_TOKEN_OMOD_EQUALS 60 +#define MD_TOKEN_OPOW_EQUALS 61 +#define MD_TOKEN_UNSET 62 +#define MD_TOKEN_ALL 63 +#define MD_TOKEN_TEE 64 +#define MD_TOKEN_GT 65 +#define MD_TOKEN_BITWISE_RSH 66 +#define MD_TOKEN_BITWISE_OR 67 +#define MD_TOKEN_EMITF 68 +#define MD_TOKEN_EMITP 69 +#define MD_TOKEN_EMIT 70 +#define MD_TOKEN_DUMP 71 +#define MD_TOKEN_EDUMP 72 +#define MD_TOKEN_PRINT 73 +#define MD_TOKEN_EPRINT 74 +#define MD_TOKEN_PRINTN 75 +#define MD_TOKEN_EPRINTN 76 +#define MD_TOKEN_STDOUT 77 +#define MD_TOKEN_STDERR 78 +#define MD_TOKEN_QUESTION_MARK 79 +#define MD_TOKEN_LOGICAL_OR 80 +#define MD_TOKEN_LOGICAL_XOR 81 +#define MD_TOKEN_LOGICAL_AND 82 +#define MD_TOKEN_MATCHES 83 +#define MD_TOKEN_DOES_NOT_MATCH 84 +#define MD_TOKEN_EQ 85 +#define MD_TOKEN_NE 86 +#define MD_TOKEN_GE 87 +#define MD_TOKEN_LT 88 +#define MD_TOKEN_LE 89 +#define MD_TOKEN_BITWISE_XOR 90 +#define MD_TOKEN_BITWISE_AND 91 +#define MD_TOKEN_BITWISE_LSH 92 +#define MD_TOKEN_PLUS 93 +#define MD_TOKEN_MINUS 94 +#define MD_TOKEN_OPLUS 95 +#define MD_TOKEN_OMINUS 96 +#define MD_TOKEN_DOT 97 +#define MD_TOKEN_TIMES 98 +#define MD_TOKEN_DIVIDE 99 +#define MD_TOKEN_INT_DIVIDE 100 +#define MD_TOKEN_MOD 101 +#define MD_TOKEN_OTIMES 102 +#define MD_TOKEN_ODIVIDE 103 +#define MD_TOKEN_INT_ODIVIDE 104 +#define MD_TOKEN_LOGICAL_NOT 105 +#define MD_TOKEN_BITWISE_NOT 106 +#define MD_TOKEN_POW 107 +#define MD_TOKEN_FIELD_NAME 108 +#define MD_TOKEN_BRACED_FIELD_NAME 109 +#define MD_TOKEN_UNBRACED_OOSVAR_NAME 110 +#define MD_TOKEN_BRACED_OOSVAR_NAME 111 +#define MD_TOKEN_AT_SIGN 112 +#define MD_TOKEN_NUMBER 113 +#define MD_TOKEN_TRUE 114 +#define MD_TOKEN_FALSE 115 +#define MD_TOKEN_REGEXI 116 +#define MD_TOKEN_CONTEXT_VARIABLE 117 +#define MD_TOKEN_ENV 118 + +#endif // MLR_DSL_PARSE_H