php_lexer.c

Go to the documentation of this file.
00001 #line 2 "php_lexer.c"
00002 
00003 #line 4 "php_lexer.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 31
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016 
00017 /* First, we deal with  platform-specific or compiler-specific issues. */
00018 
00019 /* begin standard C headers. */
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024 
00025 /* end standard C headers. */
00026 
00027 /* flex integer type definitions */
00028 
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031 
00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00033 
00034 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
00035 #include <inttypes.h>
00036 typedef int8_t flex_int8_t;
00037 typedef uint8_t flex_uint8_t;
00038 typedef int16_t flex_int16_t;
00039 typedef uint16_t flex_uint16_t;
00040 typedef int32_t flex_int32_t;
00041 typedef uint32_t flex_uint32_t;
00042 #else
00043 typedef signed char flex_int8_t;
00044 typedef short int flex_int16_t;
00045 typedef int flex_int32_t;
00046 typedef unsigned char flex_uint8_t; 
00047 typedef unsigned short int flex_uint16_t;
00048 typedef unsigned int flex_uint32_t;
00049 #endif /* ! C99 */
00050 
00051 /* Limits of integral types. */
00052 #ifndef INT8_MIN
00053 #define INT8_MIN               (-128)
00054 #endif
00055 #ifndef INT16_MIN
00056 #define INT16_MIN              (-32767-1)
00057 #endif
00058 #ifndef INT32_MIN
00059 #define INT32_MIN              (-2147483647-1)
00060 #endif
00061 #ifndef INT8_MAX
00062 #define INT8_MAX               (127)
00063 #endif
00064 #ifndef INT16_MAX
00065 #define INT16_MAX              (32767)
00066 #endif
00067 #ifndef INT32_MAX
00068 #define INT32_MAX              (2147483647)
00069 #endif
00070 #ifndef UINT8_MAX
00071 #define UINT8_MAX              (255U)
00072 #endif
00073 #ifndef UINT16_MAX
00074 #define UINT16_MAX             (65535U)
00075 #endif
00076 #ifndef UINT32_MAX
00077 #define UINT32_MAX             (4294967295U)
00078 #endif
00079 
00080 #endif /* ! FLEXINT_H */
00081 
00082 #ifdef __cplusplus
00083 
00084 /* The "const" storage-class-modifier is valid. */
00085 #define YY_USE_CONST
00086 
00087 #else   /* ! __cplusplus */
00088 
00089 #if __STDC__
00090 
00091 #define YY_USE_CONST
00092 
00093 #endif  /* __STDC__ */
00094 #endif  /* ! __cplusplus */
00095 
00096 #ifdef YY_USE_CONST
00097 #define yyconst const
00098 #else
00099 #define yyconst
00100 #endif
00101 
00102 /* Returned upon end-of-file. */
00103 #define YY_NULL 0
00104 
00105 /* Promotes a possibly negative, possibly signed char to an unsigned
00106  * integer for use as an array index.  If the signed char is negative,
00107  * we want to instead treat it as an 8-bit unsigned char, hence the
00108  * double cast.
00109  */
00110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00111 
00112 /* Enter a start condition.  This macro really ought to take a parameter,
00113  * but we do it the disgusting crufty way forced on us by the ()-less
00114  * definition of BEGIN.
00115  */
00116 #define BEGIN (yy_start) = 1 + 2 *
00117 
00118 /* Translate the current start state into a value that can be later handed
00119  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00120  * compatibility.
00121  */
00122 #define YY_START (((yy_start) - 1) / 2)
00123 #define YYSTATE YY_START
00124 
00125 /* Action number for EOF rule of a given start state. */
00126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00127 
00128 /* Special action meaning "start processing a new file". */
00129 #define YY_NEW_FILE yyrestart(yyin  )
00130 
00131 #define YY_END_OF_BUFFER_CHAR 0
00132 
00133 /* Size of default input buffer. */
00134 #ifndef YY_BUF_SIZE
00135 #define YY_BUF_SIZE 16384
00136 #endif
00137 
00138 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00139 #define YY_TYPEDEF_YY_BUFFER_STATE
00140 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00141 #endif
00142 
00143 extern int yyleng;
00144 
00145 extern FILE *yyin, *yyout;
00146 
00147 #define EOB_ACT_CONTINUE_SCAN 0
00148 #define EOB_ACT_END_OF_FILE 1
00149 #define EOB_ACT_LAST_MATCH 2
00150 
00151     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
00152      *       access to the local variable yy_act. Since yyless() is a macro, it would break
00153      *       existing scanners that call yyless() from OUTSIDE yylex. 
00154      *       One obvious solution it to make yy_act a global. I tried that, and saw
00155      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
00156      *       normally declared as a register variable-- so it is not worth it.
00157      */
00158     #define  YY_LESS_LINENO(n) \
00159             do { \
00160                 int yyl;\
00161                 for ( yyl = n; yyl < yyleng; ++yyl )\
00162                     if ( yytext[yyl] == '\n' )\
00163                         --yylineno;\
00164             }while(0)
00165     
00166 /* Return all but the first "n" matched characters back to the input stream. */
00167 #define yyless(n) \
00168     do \
00169         { \
00170         /* Undo effects of setting up yytext. */ \
00171         int yyless_macro_arg = (n); \
00172         YY_LESS_LINENO(yyless_macro_arg);\
00173         *yy_cp = (yy_hold_char); \
00174         YY_RESTORE_YY_MORE_OFFSET \
00175         (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00176         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00177         } \
00178     while ( 0 )
00179 
00180 #define unput(c) yyunput( c, (yytext_ptr)  )
00181 
00182 /* The following is because we cannot portably get our hands on size_t
00183  * (without autoconf's help, which isn't available because we want
00184  * flex-generated scanners to compile on their own).
00185  */
00186 
00187 #ifndef YY_TYPEDEF_YY_SIZE_T
00188 #define YY_TYPEDEF_YY_SIZE_T
00189 typedef unsigned int yy_size_t;
00190 #endif
00191 
00192 #ifndef YY_STRUCT_YY_BUFFER_STATE
00193 #define YY_STRUCT_YY_BUFFER_STATE
00194 struct yy_buffer_state
00195     {
00196     FILE *yy_input_file;
00197 
00198     char *yy_ch_buf;        /* input buffer */
00199     char *yy_buf_pos;       /* current position in input buffer */
00200 
00201     /* Size of input buffer in bytes, not including room for EOB
00202      * characters.
00203      */
00204     yy_size_t yy_buf_size;
00205 
00206     /* Number of characters read into yy_ch_buf, not including EOB
00207      * characters.
00208      */
00209     int yy_n_chars;
00210 
00211     /* Whether we "own" the buffer - i.e., we know we created it,
00212      * and can realloc() it to grow it, and should free() it to
00213      * delete it.
00214      */
00215     int yy_is_our_buffer;
00216 
00217     /* Whether this is an "interactive" input source; if so, and
00218      * if we're using stdio for input, then we want to use getc()
00219      * instead of fread(), to make sure we stop fetching input after
00220      * each newline.
00221      */
00222     int yy_is_interactive;
00223 
00224     /* Whether we're considered to be at the beginning of a line.
00225      * If so, '^' rules will be active on the next match, otherwise
00226      * not.
00227      */
00228     int yy_at_bol;
00229 
00230     int yy_bs_lineno; /**< The line count. */
00231     int yy_bs_column; /**< The column count. */
00232     
00233     /* Whether to try to fill the input buffer when we reach the
00234      * end of it.
00235      */
00236     int yy_fill_buffer;
00237 
00238     int yy_buffer_status;
00239 
00240 #define YY_BUFFER_NEW 0
00241 #define YY_BUFFER_NORMAL 1
00242     /* When an EOF's been seen but there's still some text to process
00243      * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00244      * shouldn't try reading from the input source any more.  We might
00245      * still have a bunch of tokens to match, though, because of
00246      * possible backing-up.
00247      *
00248      * When we actually see the EOF, we change the status to "new"
00249      * (via yyrestart()), so that the user can continue scanning by
00250      * just pointing yyin at a new input file.
00251      */
00252 #define YY_BUFFER_EOF_PENDING 2
00253 
00254     };
00255 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00256 
00257 /* Stack of input buffers. */
00258 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
00259 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
00260 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
00261 
00262 /* We provide macros for accessing buffer states in case in the
00263  * future we want to put the buffer states in a more general
00264  * "scanner state".
00265  *
00266  * Returns the top of the stack, or NULL.
00267  */
00268 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00269                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00270                           : NULL)
00271 
00272 /* Same as previous macro, but useful when we know that the buffer stack is not
00273  * NULL or when we need an lvalue. For internal use only.
00274  */
00275 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00276 
00277 /* yy_hold_char holds the character lost when yytext is formed. */
00278 static char yy_hold_char;
00279 static int yy_n_chars;      /* number of characters read into yy_ch_buf */
00280 int yyleng;
00281 
00282 /* Points to current character in buffer. */
00283 static char *yy_c_buf_p = (char *) 0;
00284 static int yy_init = 1;     /* whether we need to initialize */
00285 static int yy_start = 0;    /* start state number */
00286 
00287 /* Flag which is used to allow yywrap()'s to do buffer switches
00288  * instead of setting up a fresh yyin.  A bit of a hack ...
00289  */
00290 static int yy_did_buffer_switch_on_eof;
00291 
00292 void yyrestart (FILE *input_file  );
00293 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00294 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
00295 void yy_delete_buffer (YY_BUFFER_STATE b  );
00296 void yy_flush_buffer (YY_BUFFER_STATE b  );
00297 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
00298 void yypop_buffer_state (void );
00299 
00300 static void yyensure_buffer_stack (void );
00301 static void yy_load_buffer_state (void );
00302 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00303 
00304 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00305 
00306 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
00307 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
00308 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
00309 
00310 void *yyalloc (yy_size_t  );
00311 void *yyrealloc (void *,yy_size_t  );
00312 void yyfree (void *  );
00313 
00314 #define yy_new_buffer yy_create_buffer
00315 
00316 #define yy_set_interactive(is_interactive) \
00317     { \
00318     if ( ! YY_CURRENT_BUFFER ){ \
00319         yyensure_buffer_stack (); \
00320         YY_CURRENT_BUFFER_LVALUE =    \
00321             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00322     } \
00323     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00324     }
00325 
00326 #define yy_set_bol(at_bol) \
00327     { \
00328     if ( ! YY_CURRENT_BUFFER ){\
00329         yyensure_buffer_stack (); \
00330         YY_CURRENT_BUFFER_LVALUE =    \
00331             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00332     } \
00333     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00334     }
00335 
00336 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00337 
00338 #define yywrap() 1
00339 #define YY_SKIP_YYWRAP
00340 
00341 typedef unsigned char YY_CHAR;
00342 
00343 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00344 
00345 typedef int yy_state_type;
00346 
00347 extern int yylineno;
00348 
00349 int yylineno = 1;
00350 
00351 extern char *yytext;
00352 #define yytext_ptr yytext
00353 
00354 static yy_state_type yy_get_previous_state (void );
00355 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00356 static int yy_get_next_buffer (void );
00357 static void yy_fatal_error (yyconst char msg[]  );
00358 
00359 /* Done after the current pattern has been matched and before the
00360  * corresponding action - sets up yytext.
00361  */
00362 #define YY_DO_BEFORE_ACTION \
00363     (yytext_ptr) = yy_bp; \
00364     (yytext_ptr) -= (yy_more_len); \
00365     yyleng = (size_t) (yy_cp - (yytext_ptr)); \
00366     (yy_hold_char) = *yy_cp; \
00367     *yy_cp = '\0'; \
00368     (yy_c_buf_p) = yy_cp;
00369 
00370 #define YY_NUM_RULES 172
00371 #define YY_END_OF_BUFFER 173
00372 /* This struct is not used in this scanner,
00373    but its presence is necessary. */
00374 struct yy_trans_info
00375     {
00376     flex_int32_t yy_verify;
00377     flex_int32_t yy_nxt;
00378     };
00379 static yyconst flex_int16_t yy_accept[1454] =
00380     {   0,
00381         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00382         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00383         0,    0,  173,  123,  123,  171,  131,  108,  147,  132,
00384       108,  108,  108,  150,  108,  108,  108,  108,  108,  108,
00385       108,  114,  114,  108,  108,  108,  108,  108,  129,  129,
00386       129,  108,  129,  149,  129,  129,  129,  129,  129,  129,
00387       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00388       129,  109,  108,  111,  152,  168,  157,  152,  116,  116,
00389       130,  157,  171,  154,  157,  153,  170,  171,  155,  171,
00390       169,  167,  152,  171,  130,   50,   49,  113,  112,  139,
00391 
00392       142,  142,  172,  135,  135,  133,  133,  133,  123,    0,
00393       123,  126,  124,  123,  131,   87,    0,  145,    0,  128,
00394        95,  144,  102,   98,    0,  146,    0,    0,    0,    0,
00395         0,    0,    0,    0,    0,    0,    0,   92,   82,   90,
00396        83,   91,   48,  117,   94,  138,  132,   93,  117,  114,
00397         0,  103,    0,   51,    0,  106,   88,   87,   86,   79,
00398        89,  107,  143,  129,  129,  129,  100,  129,  129,  129,
00399       129,   23,  129,  129,  129,  129,  129,  129,  129,   15,
00400       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00401         9,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00402 
00403       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00404        99,  101,  152,  156,  110,   48,  116,    0,  130,  166,
00405       162,  164,  166,  158,  154,  159,  153,    0,  160,  161,
00406       155,  163,  167,  152,  151,  151,  130,    0,   49,  112,
00407       139,  141,  140,  134,  134,  135,  136,  123,    0,  125,
00408         0,    0,   85,  128,  144,  144,    0,    0,    0,    0,
00409         0,    0,    0,    0,    0,    0,  117,    0,  117,  115,
00410         0,    0,   96,   84,   97,  143,  143,  104,  105,  129,
00411       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00412       129,  129,  129,  129,  129,  129,  129,  129,  129,    2,
00413 
00414       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00415        16,  129,  129,  129,  129,  129,  129,  129,  129,   52,
00416       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00417       129,    6,  129,   67,   54,  129,  129,  129,  116,  164,
00418       165,  123,    0,    0,    0,    0,    0,    0,    0,    0,
00419         0,    0,    0,    0,  137,    0,    0,    0,  129,  129,
00420       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
00421       129,   39,   26,  129,  129,  129,  129,  129,  129,  129,
00422        30,   12,  129,  129,  129,  129,  129,  129,   62,   38,
00423         1,  129,   44,  129,  129,  129,  129,  129,  129,  129,
00424 
00425       129,  129,   80,  129,  129,  129,  129,  129,   41,  129,
00426       129,  129,  129,   42,  129,  129,  129,  129,  129,  164,
00427       165,  123,    0,    0,    0,    0,    0,    0,    0,    0,
00428        55,    0,    0,    0,    0,    0,    0,  148,  148,    0,
00429       129,  129,  129,  129,  129,  129,  129,   36,  129,   81,
00430       129,  129,   28,    7,   32,   53,    4,  129,  129,  129,
00431       129,   70,  129,  129,   11,  129,  129,  129,   74,  129,
00432       129,  129,  129,  129,  129,  129,   69,  129,   31,  129,
00433       129,  129,  129,  129,  129,  129,    8,   78,   13,  129,
00434        40,  123,    0,  127,  127,    0,    0,    0,   60,    0,
00435 
00436         0,    0,    0,    0,   56,    0,    0,    0,  129,  129,
00437       129,  129,  129,  129,  129,   35,   33,   34,  129,  129,
00438       129,   10,  129,   17,  129,  129,  129,  129,  129,   68,
00439       129,  129,  129,  129,  129,  129,  129,   77,  129,    5,
00440        72,   24,   43,  123,    0,    0,    0,   58,    0,    0,
00441         0,    0,    0,   61,    0,  129,  129,  129,  129,  129,
00442       129,  129,  129,   20,   27,  129,  129,  129,  129,   46,
00443        18,  129,  129,   63,  129,  129,  129,   75,  129,   65,
00444       123,    0,    0,    0,    0,    0,   59,    0,   57,    0,
00445       129,  122,  129,  121,  129,  129,   73,   29,  129,  129,
00446 
00447       129,   14,    3,  129,  129,  129,  129,   37,  129,  129,
00448       123,    0,    0,    0,  118,  129,  129,  129,  129,  129,
00449        25,  129,  129,  129,   45,   76,  129,  123,    0,    0,
00450       129,  120,  129,   21,   19,   47,  129,   22,  129,  123,
00451         0,    0,  129,  129,  129,  129,  123,    0,    0,  119,
00452       129,   64,   66,  123,    0,    0,  129,  123,    0,    0,
00453       129,  123,    0,    0,   71,  123,    0,    0,  123,    0,
00454         0,    0,  123,    0,    0,    0,    0,    0,  123,    0,
00455         0,    0,    0,  123,    0,    0,    0,    0,  123,    0,
00456         0,    0,    0,  124,  123,    0,  123,    0,  123,    0,
00457 
00458       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00459       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00460       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00461       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00462       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00463       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00464       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00465       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00466       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00467       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00468 
00469       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00470       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00471       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00472       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00473       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00474       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00475       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00476       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00477       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00478       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00479 
00480       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00481       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00482       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00483       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00484       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00485       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00486       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00487       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00488       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00489       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00490 
00491       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00492       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00493       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00494       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00495       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00496       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00497       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00498       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00499       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00500       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00501 
00502       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00503       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00504       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00505       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00506       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00507       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00508       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00509       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00510       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00511       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00512 
00513       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00514       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00515       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00516       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00517       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00518       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00519       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00520       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00521       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00522       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00523 
00524       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00525       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00526       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00527       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00528       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00529       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00530       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00531       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00532       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00533       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00534 
00535       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00536       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00537       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00538       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00539       123,    0,  123,    0,  123,    0,  123,    0,  123,    0,
00540       123,    0,    0
00541     } ;
00542 
00543 static yyconst flex_int32_t yy_ec[256] =
00544     {   0,
00545         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00546         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
00547         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00548         1,    2,    5,    6,    7,    8,    9,   10,   11,   12,
00549        13,   14,   15,   16,   17,   18,   19,   20,   21,   21,
00550        21,   21,   21,   21,   21,   22,   22,   23,   24,   25,
00551        26,   27,   28,   16,   29,   30,   31,   32,   33,   34,
00552        35,   36,   37,   35,   35,   38,   39,   40,   41,   35,
00553        35,   42,   43,   44,   45,   35,   35,   46,   35,   35,
00554        47,   48,   47,   49,   50,   51,   52,   53,   54,   55,
00555 
00556        56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
00557        66,   67,   68,   69,   70,   71,   72,   73,   74,   75,
00558        76,   35,   77,   78,   79,   16,   35,   35,   35,   35,
00559        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00560        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00561        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00562        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00563        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00564        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00565        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00566 
00567        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00568        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00569        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00570        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00571        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00572        35,   35,   35,   35,   35
00573     } ;
00574 
00575 static yyconst flex_int32_t yy_meta[80] =
00576     {   0,
00577         1,    2,    3,    3,    4,    1,    4,    5,    4,    4,
00578         6,    4,    4,    7,    4,    4,    4,    4,    4,    8,
00579         8,    8,    4,    9,   10,    4,    4,    4,   11,   11,
00580        11,   11,   11,   11,   12,   12,   12,   12,   12,   12,
00581        12,   12,   12,   12,   12,   12,    1,    1,    4,   12,
00582         1,   11,   11,   11,   11,   11,   11,   12,   12,   12,
00583        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
00584        12,   12,   12,   12,   12,   12,    1,    4,    1
00585     } ;
00586 
00587 static yyconst flex_int16_t yy_base[1878] =
00588     {   0,
00589      8094, 8093,    0,    0,   79,    0,  148,  149,  155,  156,
00590       157,  208,  287,    0,  366,    0, 8103, 8102, 8101, 8100,
00591       161,  163, 8113, 8087,  437, 8120,  171, 8085,  441, 8120,
00592         0,  150,  159,  437,  448, 8120, 8084,  156,  166,  158,
00593       435,  435,  442, 8086,  175,  160,  172, 8081, 8067,    0,
00594      8065, 8079, 8054, 8120,  413,  402,  415,  413,  448,  414,
00595      8040,  462, 8042, 8045,  418, 8044,  421,  435,  423, 8047,
00596       437, 8120,  446, 8120,    0, 8120,  532, 8071,  509,  541,
00597         0, 8120,  565, 8046, 8088, 8047, 8120,  517, 8088,  546,
00598      8120,  562,  563,  495,  572, 8120,    0, 8120,    0,    0,
00599 
00600      8074, 8073,  589, 8120, 8088, 8063, 8120, 8062, 8063,  578,
00601      8062, 8060,  538, 8031,  586, 8058,  571, 8120,  591,    0,
00602      8120,  448, 8120, 8120,  567, 8120, 8080,  598, 8013, 8015,
00603      8014, 8016, 8013, 8024, 8020, 8004, 8009, 8120, 8120, 8120,
00604      8120, 8120, 8120,  604, 8120, 8059, 8120, 8120,  610,  641,
00605       624, 8120,    0, 8120, 8002,  576, 8120, 8120, 8045, 8120,
00606      8120, 8044,  604,    0, 8037, 8026, 8120,  618, 7997, 7995,
00607       456, 7998, 8007, 8007,  557,  129, 7997,  579, 8005,    0,
00608      8001, 7989, 7991, 8002, 8004,  609,  608, 7986, 7989, 7987,
00609         0, 7985,  564, 7981, 7980, 7975, 7988,  612, 7994,  623,
00610 
00611      7994, 7985,  522, 7968, 7973, 7986, 7972, 7980, 7968, 7978,
00612      8120, 8120,    0, 8120, 8120,    0,  661,    0,    0, 8120,
00613      8120,  664,    0, 8120, 7986, 8120, 7988, 7987, 8120, 8120,
00614      8028, 8120,  681,  682, 8120, 8030,  686,  692,    0,    0,
00615         0, 8120, 8120,  695, 8120, 8120, 8120, 8007,  677, 8120,
00616      7972, 7961, 8120,    0, 8120, 8026, 7959, 7961, 7954, 7959,
00617      7953, 7962, 7970, 7952, 7950,  704,  692,  695,  698,    0,
00618      7965, 8016, 8120, 8120, 8120, 8120, 8014,    0,    0, 7978,
00619       567, 7978, 7981, 7961, 7941, 7955, 7938, 7957, 7952, 7941,
00620      7954, 7942, 7948, 7949, 7932, 7936,  630, 7937, 7947,    0,
00621 
00622      7932, 7941, 7925,  669, 7932, 7940, 7922, 7936, 7935, 7938,
00623      7933, 7934, 7934, 7923, 7922, 7913, 7927, 7926, 7910,    0,
00624      7915,  638, 7908, 7915, 7922, 7904, 7903, 7903, 7902, 7902,
00625      7905,    0, 7914,    0,    0, 7906, 7909, 7896,    0,  707,
00626         0, 7941,  712, 7898, 7904, 7911, 7899, 7908, 7908,  728,
00627      7903, 7895, 7897, 7900,  732, 7886, 7952,  741, 7924, 7914,
00628      7911, 7910, 7905, 7885, 7878, 7877, 7880, 7868, 7889, 7873,
00629      7879,    0,    0, 7881, 7869, 7882, 7866, 7876, 7883, 7862,
00630         0, 7873, 7856, 7875, 7864, 7872, 7854, 7868,    0,    0,
00631         0, 7861,    0, 7862, 7872, 7852, 7870, 7865, 7848, 7867,
00632 
00633      7849, 7846,    0, 7845, 7844, 7862, 7857, 7852,    0, 7851,
00634      7841, 7849, 7854,    0, 7833, 7835, 7849, 7844, 7847, 8120,
00635      8120, 7877,  729,  747, 7834, 7824,  729, 7836, 7827,  750,
00636      8120, 7839, 7842,  751, 7830, 7823, 7833, 8120, 7889,  752,
00637      7848, 7857, 7858, 7855, 7851, 7815, 7833,    0, 7829,    0,
00638      7812, 7826,    0,    0,    0,    0,    0, 7816, 7811, 7816,
00639      7821,    0, 7823, 7807,    0, 7815, 7814, 7818,    0, 7818,
00640      7811, 7807, 7805, 7813, 7802, 7809,    0, 7811,    0, 7793,
00641      7809, 7808, 7792, 7795, 7805, 7799,    0,    0,    0, 7792,
00642         0, 7831,  737, 8120, 7852, 7783,  756,  757, 8120, 7801,
00643 
00644      7796, 7795, 7779,  758, 8120, 7791,  759, 7781, 7804, 7796,
00645      7801, 7794, 7802, 7792, 7787,    0,    0,    0, 7768, 7783,
00646      7767,    0, 7774, 7780, 7764, 7771, 7763, 7773, 7765,    0,
00647      7774, 7773, 7774, 7775, 7754, 7769, 7753,    0, 7767,    0,
00648         0,    0,    0, 7797,  758,  771,  764, 8120, 7756, 7751,
00649       766,  774,  776, 8120, 7748, 7768, 7767, 7779, 7765, 7782,
00650      7759, 7741, 7755,    0,    0, 7758, 7757, 7754, 7751,    0,
00651         0, 7741, 7740, 7754, 7747, 7748, 7730,    0, 7744, 7749,
00652      7773,  772,  788,  791,  792,  793, 8120,  796, 8120,  799,
00653      7747,    0, 7755,    0, 7745, 7728,    0,    0, 7724, 7738,
00654 
00655      7732,    0,    0, 7719, 7723, 7722, 7731,    0, 7731, 7719,
00656      7759,  787, 7731,  814,    0, 7742, 7731, 7716, 7723, 7719,
00657         0, 7707, 7711, 7718,    0,    0, 7709, 7748,  799, 7707,
00658      7721,    0, 7703,    0,    0,    0, 7715,    0, 7714, 7742,
00659       804, 7708, 7715, 7704, 7707, 7706, 7736,  805, 7688,    0,
00660      7696,    0,    0, 7733,  810, 7705, 7700, 7730,  811, 7696,
00661      7684, 7727,  812, 7695,    0, 7725,  822,  841, 7724,  837,
00662       850,  857, 7723,  861,  891, 7680, 7679, 7686, 2977,  862,
00663      2942, 2940, 2931, 2972,  863, 2929, 2914,  881, 2955,  887,
00664      2970, 2964,  896, 8120, 2949,  892, 2948,  894, 2947,  900,
00665 
00666      2946,  901, 2945,  902, 2944,  909, 2929,  926, 2928,  927,
00667      2925,  931, 2924,  935, 2921,  940, 2920,  941, 2916,  952,
00668      2915,  958, 2884,  964, 2875,  965, 2874,  966, 2870,  975,
00669      2869,  979, 2865,  989, 2862,  990, 2861,  999, 2860, 1004,
00670      2859, 1012, 2851, 1014, 2831, 1016, 2830, 1022, 2826, 1029,
00671      2823, 1037, 2817, 1039, 2816, 1043, 2793, 1047, 2786, 1052,
00672      2714, 1069, 2713, 1070, 2712, 1076, 2711, 1078, 2710, 1080,
00673      2708, 1087, 2706, 1091, 2705, 1093, 2704, 1101, 2703, 1102,
00674      2702, 1116, 2700, 1124, 2699, 1126, 2698, 1128, 2697, 1134,
00675      2696, 1149, 2694, 1151, 2693, 1155, 2692, 1156, 2691, 1157,
00676 
00677      2690, 1164, 2688, 1178, 2687, 1182, 2686, 1184, 2685, 1186,
00678      2682, 1188, 2681, 1190, 2680, 1192, 2679, 1213, 2677, 1214,
00679      2676, 1215, 2675, 1219, 2669, 1221, 2668, 1236, 2663, 1241,
00680      2661, 1242, 2660, 1246, 2649, 1248, 2635, 1250, 2632, 1254,
00681      2629, 1268, 2626, 1272, 2618, 1277, 2604, 1279, 2599, 1285,
00682      2585, 1289, 2571, 1294, 2568, 1300, 2565, 1306, 2562, 1312,
00683      2554, 1318, 2540, 1320, 2535, 1326, 2521, 1332, 2507, 1341,
00684      2504, 1343, 2501, 1347, 2498, 1349, 2490, 1353, 2476, 1358,
00685      2471, 1364, 2457, 1370, 2443, 1375, 2440, 1376, 2437, 1382,
00686      2434, 1384, 2426, 1390, 2412, 1396, 2407, 1397, 2393, 1405,
00687 
00688      2379, 1407, 2376, 1411, 2373, 1422, 2370, 1428, 2362, 1433,
00689      2348, 1434, 2343, 1440, 2329, 1446, 2315, 1448, 2312, 1454,
00690      2309, 1455,  434, 1460,  451, 1461,  474, 1469,  484, 1481,
00691       570, 1486,  597, 1487,  604, 1492,  613, 1498,  622, 1504,
00692       629, 1510,  651, 1512,  654, 1518,  684, 1519,  755, 1524,
00693       763, 1525,  785, 1533,  786, 1539,  797, 1545,  798, 1550,
00694       800, 1551,  809, 1556,  823, 1562,  824, 1568,  830, 1574,
00695       831, 1576,  833, 1582,  839, 1583,  841, 1588,  848, 1589,
00696       852, 1597,  853, 1603,  854, 1609,  879, 1614,  880, 1615,
00697       881, 1620,  888, 1626,  889, 1632,  891, 1638,  896, 1640,
00698 
00699       913, 1646,  914, 1647,  916, 1652,  917, 1653,  918, 1661,
00700       920, 1667,  921, 1673,  922, 1678,  923, 1679,  928, 1684,
00701       951, 1690,  953, 1696,  956, 1702,  957, 1704,  960, 1710,
00702       962, 1711,  970, 1716,  977, 1717,  981, 1725,  984, 1731,
00703       987, 1737,  991, 1742,  994, 1743,  995, 1748, 1001, 1754,
00704      1005, 1760, 1008, 1766, 1018, 1768, 1026, 1774, 1028, 1775,
00705      1030, 1780, 1033, 1781, 1038, 1789, 1041, 1795, 1045, 1801,
00706      1048, 1806, 1051, 1807, 1056, 1812, 1058, 1818, 1063, 1824,
00707      1065, 1830, 1066, 1832, 1068, 1838, 1089, 1839, 1095, 1844,
00708      1098, 1845, 1099, 1853, 1103, 1859, 1106, 1865, 1107, 1870,
00709 
00710      1109, 1871, 1111, 1876, 1113, 1882, 1117, 1888, 1120, 1894,
00711      1122, 1896, 1130, 1902, 1142, 1903, 1143, 1908, 1144, 1909,
00712      1145, 1917, 1150, 1923, 1153, 1929, 1163, 1934, 1165, 1935,
00713      1175, 1940, 1177, 1946, 1180, 1952, 1183, 1958, 1204, 1960,
00714      1206, 1966, 1207, 1967, 1208, 1972, 1210, 1973, 1211, 1981,
00715      1212, 1987, 1228, 1993, 1240, 1998, 1243, 1999, 1247, 2004,
00716      1255, 2010, 1262, 2016, 1265, 2022, 1267, 2024, 1270, 2030,
00717      1274, 2031, 1276, 2036, 1283, 2037, 1298, 2045, 1301, 2051,
00718      1305, 2057, 1307, 2062, 1308, 2063, 1311, 2068, 1314, 2074,
00719      1319, 2080, 1328, 2086, 1336, 2088, 1338, 2094, 1340, 2095,
00720 
00721      1355, 2100, 1362, 2101, 1369, 2109, 1372, 2115, 1383, 2121,
00722      1401, 2126, 1402, 2127, 1404, 2132, 1413, 2138, 1416, 2144,
00723      1419, 2150, 1423, 2152, 1426, 2158, 1447, 2159, 1459, 2164,
00724      1462, 2165, 1466, 2173, 1468, 2179, 1474, 2185, 1475, 2190,
00725      1477, 2191, 1480, 2196, 1483, 2202, 1497, 2208, 1511, 2214,
00726      1516, 2216, 1520, 2222, 1530, 2223, 1538, 2228, 1541, 2229,
00727      1544, 2237, 1547, 2243, 1561, 2249, 1575, 2254, 1580, 2255,
00728      1594, 2260, 1602, 2266, 1605, 2272, 1608, 2278, 1611, 2280,
00729      1625, 2286, 1639, 2287, 1644, 2292, 1658, 2293, 1666, 2301,
00730      1669, 2307, 1672, 2313, 1675, 2318, 1689, 2319, 1703, 2324,
00731 
00732      1708, 2330, 1722, 2336, 1730, 2342, 1733, 2344, 1736, 2350,
00733      1739, 2351, 1753, 2356, 1767, 2357, 1772, 2365, 1786, 2371,
00734      1794, 2377, 1797, 2382, 1800, 2383, 1803, 2388, 1817, 2394,
00735      1831, 2400, 1836, 2406, 1850, 2408, 1858, 2414, 1861, 2415,
00736      1864, 2420, 1867, 2421, 1881, 2429, 1895, 2435, 1900, 2441,
00737      1914, 2446, 1922, 2447, 1925, 2452, 1928, 2458, 1931, 2464,
00738      1945, 2470, 1959, 2472, 1964, 2478, 1978, 2479, 1986, 2484,
00739      1989, 2485, 1992, 2493, 1995, 2499, 2009, 2505, 2023, 2510,
00740      2028, 2511, 2042, 2516, 2050, 2522, 2053, 2528, 2056, 2534,
00741      2059, 2536, 2073, 2542, 2087, 2543, 2092, 2548, 2106, 2549,
00742 
00743      2114, 2557, 2117, 2563, 2120, 2569, 2123, 2574, 2137, 2575,
00744      2151, 2580, 2156, 2586, 2170, 2592, 2178, 2598, 2181, 2600,
00745      2184, 2606, 2187, 2607, 2201, 2612, 2215, 2613, 2220, 2621,
00746      2234, 2627, 2242, 2633, 2245, 2638, 2248, 2639, 2251, 2644,
00747      2265, 2650, 2279, 2656, 2284, 2662, 2298, 2664, 2306, 2670,
00748      8120, 2671, 8120, 2741, 2753, 2765, 2777, 2789, 2801, 2813,
00749      2815, 2827, 2832, 2843, 2846, 2858, 2870, 2880, 2885, 2890,
00750      2902, 2914, 2926, 2931, 2936, 2940, 2944, 2955, 2966, 2971,
00751      2982, 2992, 3004, 3016, 3028, 3040, 3052, 3064, 3076, 3088,
00752      3100, 3112, 3124, 3136, 3148, 3160, 3172, 3184, 3196, 3208,
00753 
00754      3220, 3232, 3244, 3256, 3268, 3280, 3292, 3304, 3316, 3328,
00755      3340, 3352, 3364, 3376, 3388, 3400, 3412, 3424, 3436, 3448,
00756      3460, 3472, 3484, 3496, 3508, 3520, 3532, 3544, 3556, 3568,
00757      3580, 3592, 3604, 3616, 3628, 3640, 3652, 3664, 3676, 3688,
00758      3700, 3712, 3724, 3736, 3748, 3760, 3772, 3784, 3796, 3808,
00759      3820, 3832, 3844, 3856, 3868, 3880, 3892, 3904, 3916, 3928,
00760      3940, 3952, 3964, 3976, 3988, 4000, 4012, 4024, 4036, 4048,
00761      4060, 4072, 4084, 4096, 4108, 4120, 4132, 4144, 4156, 4168,
00762      4180, 4192, 4204, 4216, 4228, 4240, 4252, 4264, 4276, 4288,
00763      4300, 4312, 4324, 4336, 4348, 4360, 4372, 4384, 4396, 4408,
00764 
00765      4420, 4432, 4444, 4456, 4468, 4480, 4492, 4504, 4516, 4528,
00766      4540, 4552, 4564, 4576, 4588, 4600, 4612, 4624, 4636, 4648,
00767      4660, 4672, 4684, 4696, 4708, 4720, 4732, 4744, 4756, 4768,
00768      4780, 4792, 4804, 4816, 4828, 4840, 4852, 4864, 4876, 4888,
00769      4900, 4912, 4924, 4936, 4948, 4960, 4972, 4984, 4996, 5008,
00770      5020, 5032, 5044, 5056, 5068, 5080, 5092, 5104, 5116, 5128,
00771      5140, 5152, 5164, 5176, 5188, 5200, 5212, 5224, 5236, 5248,
00772      5260, 5272, 5284, 5296, 5308, 5320, 5332, 5344, 5356, 5368,
00773      5380, 5392, 5404, 5416, 5428, 5440, 5452, 5464, 5476, 5488,
00774      5500, 5512, 5524, 5536, 5548, 5560, 5572, 5584, 5596, 5608,
00775 
00776      5620, 5632, 5644, 5656, 5668, 5680, 5692, 5704, 5716, 5728,
00777      5740, 5752, 5764, 5776, 5788, 5800, 5812, 5824, 5836, 5848,
00778      5860, 5872, 5884, 5896, 5908, 5920, 5932, 5944, 5956, 5968,
00779      5980, 5992, 6004, 6016, 6028, 6040, 6052, 6064, 6076, 6088,
00780      6100, 6112, 6124, 6136, 6148, 6160, 6172, 6184, 6196, 6208,
00781      6220, 6232, 6244, 6256, 6268, 6280, 6292, 6304, 6316, 6328,
00782      6340, 6352, 6364, 6376, 6388, 6400, 6412, 6424, 6436, 6448,
00783      6460, 6472, 6484, 6496, 6508, 6520, 6532, 6544, 6556, 6568,
00784      6580, 6592, 6604, 6616, 6628, 6640, 6652, 6664, 6676, 6688,
00785      6700, 6712, 6724, 6736, 6748, 6760, 6772, 6784, 6796, 6808,
00786 
00787      6820, 6832, 6844, 6856, 6868, 6880, 6892, 6904, 6916, 6928,
00788      6940, 6952, 6964, 6976, 6988, 7000, 7012, 7024, 7036, 7048,
00789      7060, 7072, 7084, 7096, 7108, 7120, 7132, 7144, 7156, 7168,
00790      7180, 7192, 7204, 7216, 7228, 7240, 7252, 7264, 7276, 7288,
00791      7300, 7312, 7324, 7336, 7348, 7360, 7372, 7384, 7396, 7408,
00792      7420, 7432, 7444, 7456, 7468, 7480, 7492, 7504, 7516, 7528,
00793      7540, 7552, 7564, 7576, 7588, 7600, 7612, 7624, 7636, 7648,
00794      7660, 7672, 7684, 7696, 7708, 7720, 7732
00795     } ;
00796 
00797 static yyconst flex_int16_t yy_def[1878] =
00798     {   0,
00799      1454, 1454, 1453,    3, 1453,    5, 1455, 1455,    5,    5,
00800         5, 1453, 1453,   13, 1453,   15, 1456, 1456, 1456, 1456,
00801      1457, 1457, 1453, 1458, 1459, 1453, 1453, 1453, 1460, 1453,
00802      1461, 1453, 1453, 1462, 1453, 1453, 1453, 1453, 1453, 1453,
00803      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1463, 1463,
00804      1463, 1453, 1463, 1453, 1463, 1463, 1463, 1463, 1463, 1463,
00805      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00806      1463, 1453, 1453, 1453, 1464, 1453, 1461, 1464, 1453, 1453,
00807      1465, 1453, 1466, 1453, 1453, 1467, 1453, 1467, 1453, 1466,
00808      1453, 1453, 1464, 1466, 1468, 1453, 1469, 1453, 1470, 1471,
00809 
00810      1453, 1453, 1472, 1453, 1453, 1453, 1453, 1453, 1473, 1458,
00811      1458, 1453, 1453, 1453, 1453, 1453, 1460, 1453, 1460, 1474,
00812      1453, 1453, 1453, 1453, 1462, 1453, 1462, 1453, 1453, 1453,
00813      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00814      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00815      1453, 1453, 1475, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00816      1453, 1453, 1453, 1463, 1463, 1463, 1453, 1463, 1463, 1463,
00817      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00818      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00819      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00820 
00821      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00822      1453, 1453, 1464, 1453, 1453, 1464, 1453, 1476, 1465, 1453,
00823      1453, 1453, 1477, 1453, 1453, 1453, 1467, 1467, 1453, 1453,
00824      1453, 1453, 1453, 1464, 1453, 1453, 1468, 1453, 1469, 1470,
00825      1471, 1453, 1453, 1472, 1453, 1453, 1453, 1478, 1473, 1453,
00826      1453, 1453, 1453, 1474, 1453, 1453, 1453, 1453, 1453, 1453,
00827      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1475,
00828      1453, 1479, 1453, 1453, 1453, 1453, 1453, 1463, 1463, 1463,
00829      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00830      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00831 
00832      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00833      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00834      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00835      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1476, 1453,
00836      1480, 1481, 1478, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00837      1453, 1453, 1453, 1453, 1453, 1453, 1479, 1482, 1463, 1463,
00838      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00839      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00840      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00841      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00842 
00843      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00844      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1453,
00845      1453, 1483, 1481, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00846      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1482,
00847      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00848      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00849      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00850      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00851      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00852      1463, 1484, 1483, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00853 
00854      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1463, 1463,
00855      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00856      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00857      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00858      1463, 1463, 1463, 1485, 1484, 1453, 1453, 1453, 1453, 1453,
00859      1453, 1453, 1453, 1453, 1453, 1463, 1463, 1463, 1463, 1463,
00860      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00861      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00862      1486, 1485, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00863      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00864 
00865      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
00866      1487, 1486, 1453, 1453, 1463, 1463, 1463, 1463, 1463, 1463,
00867      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1488, 1487, 1453,
00868      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1489,
00869      1488, 1453, 1463, 1463, 1463, 1463, 1490, 1489, 1453, 1463,
00870      1463, 1463, 1463, 1491, 1490, 1453, 1463, 1492, 1491, 1453,
00871      1463, 1493, 1492, 1453, 1463, 1494, 1493, 1453, 1495, 1494,
00872      1453, 1453, 1496, 1495, 1453, 1453, 1453, 1453, 1497, 1496,
00873      1453, 1453, 1453, 1498, 1497, 1453, 1453, 1453, 1499, 1498,
00874      1453, 1453, 1453, 1453, 1500, 1499, 1501, 1500, 1502, 1501,
00875 
00876      1503, 1502, 1504, 1503, 1505, 1504, 1506, 1505, 1507, 1506,
00877      1508, 1507, 1509, 1508, 1510, 1509, 1511, 1510, 1512, 1511,
00878      1513, 1512, 1514, 1513, 1515, 1514, 1516, 1515, 1517, 1516,
00879      1518, 1517, 1519, 1518, 1520, 1519, 1521, 1520, 1522, 1521,
00880      1523, 1522, 1524, 1523, 1525, 1524, 1526, 1525, 1527, 1526,
00881      1528, 1527, 1529, 1528, 1530, 1529, 1531, 1530, 1532, 1531,
00882      1533, 1532, 1534, 1533, 1535, 1534, 1536, 1535, 1537, 1536,
00883      1538, 1537, 1539, 1538, 1540, 1539, 1541, 1540, 1542, 1541,
00884      1543, 1542, 1544, 1543, 1545, 1544, 1546, 1545, 1547, 1546,
00885      1548, 1547, 1549, 1548, 1550, 1549, 1551, 1550, 1552, 1551,
00886 
00887      1553, 1552, 1554, 1553, 1555, 1554, 1556, 1555, 1557, 1556,
00888      1558, 1557, 1559, 1558, 1560, 1559, 1561, 1560, 1562, 1561,
00889      1563, 1562, 1564, 1563, 1565, 1564, 1566, 1565, 1567, 1566,
00890      1568, 1567, 1569, 1568, 1570, 1569, 1571, 1570, 1572, 1571,
00891      1573, 1572, 1574, 1573, 1575, 1574, 1576, 1575, 1577, 1576,
00892      1578, 1577, 1579, 1578, 1580, 1579, 1581, 1580, 1582, 1581,
00893      1583, 1582, 1584, 1583, 1585, 1584, 1586, 1585, 1587, 1586,
00894      1588, 1587, 1589, 1588, 1590, 1589, 1591, 1590, 1592, 1591,
00895      1593, 1592, 1594, 1593, 1595, 1594, 1596, 1595, 1597, 1596,
00896      1598, 1597, 1599, 1598, 1600, 1599, 1601, 1600, 1602, 1601,
00897 
00898      1603, 1602, 1604, 1603, 1605, 1604, 1606, 1605, 1607, 1606,
00899      1608, 1607, 1609, 1608, 1610, 1609, 1611, 1610, 1612, 1611,
00900      1613, 1612, 1614, 1613, 1615, 1614, 1616, 1615, 1617, 1616,
00901      1618, 1617, 1619, 1618, 1620, 1619, 1621, 1620, 1622, 1621,
00902      1623, 1622, 1624, 1623, 1625, 1624, 1626, 1625, 1627, 1626,
00903      1628, 1627, 1629, 1628, 1630, 1629, 1631, 1630, 1632, 1631,
00904      1633, 1632, 1634, 1633, 1635, 1634, 1636, 1635, 1637, 1636,
00905      1638, 1637, 1639, 1638, 1640, 1639, 1641, 1640, 1642, 1641,
00906      1643, 1642, 1644, 1643, 1645, 1644, 1646, 1645, 1647, 1646,
00907      1648, 1647, 1649, 1648, 1650, 1649, 1651, 1650, 1652, 1651,
00908 
00909      1653, 1652, 1654, 1653, 1655, 1654, 1656, 1655, 1657, 1656,
00910      1658, 1657, 1659, 1658, 1660, 1659, 1661, 1660, 1662, 1661,
00911      1663, 1662, 1664, 1663, 1665, 1664, 1666, 1665, 1667, 1666,
00912      1668, 1667, 1669, 1668, 1670, 1669, 1671, 1670, 1672, 1671,
00913      1673, 1672, 1674, 1673, 1675, 1674, 1676, 1675, 1677, 1676,
00914      1678, 1677, 1679, 1678, 1680, 1679, 1681, 1680, 1682, 1681,
00915      1683, 1682, 1684, 1683, 1685, 1684, 1686, 1685, 1687, 1686,
00916      1688, 1687, 1689, 1688, 1690, 1689, 1691, 1690, 1692, 1691,
00917      1693, 1692, 1694, 1693, 1695, 1694, 1696, 1695, 1697, 1696,
00918      1698, 1697, 1699, 1698, 1700, 1699, 1701, 1700, 1702, 1701,
00919 
00920      1703, 1702, 1704, 1703, 1705, 1704, 1706, 1705, 1707, 1706,
00921      1708, 1707, 1709, 1708, 1710, 1709, 1711, 1710, 1712, 1711,
00922      1713, 1712, 1714, 1713, 1715, 1714, 1716, 1715, 1717, 1716,
00923      1718, 1717, 1719, 1718, 1720, 1719, 1721, 1720, 1722, 1721,
00924      1723, 1722, 1724, 1723, 1725, 1724, 1726, 1725, 1727, 1726,
00925      1728, 1727, 1729, 1728, 1730, 1729, 1731, 1730, 1732, 1731,
00926      1733, 1732, 1734, 1733, 1735, 1734, 1736, 1735, 1737, 1736,
00927      1738, 1737, 1739, 1738, 1740, 1739, 1741, 1740, 1742, 1741,
00928      1743, 1742, 1744, 1743, 1745, 1744, 1746, 1745, 1747, 1746,
00929      1748, 1747, 1749, 1748, 1750, 1749, 1751, 1750, 1752, 1751,
00930 
00931      1753, 1752, 1754, 1753, 1755, 1754, 1756, 1755, 1757, 1756,
00932      1758, 1757, 1759, 1758, 1760, 1759, 1761, 1760, 1762, 1761,
00933      1763, 1762, 1764, 1763, 1765, 1764, 1766, 1765, 1767, 1766,
00934      1768, 1767, 1769, 1768, 1770, 1769, 1771, 1770, 1772, 1771,
00935      1773, 1772, 1774, 1773, 1775, 1774, 1776, 1775, 1777, 1776,
00936      1778, 1777, 1779, 1778, 1780, 1779, 1781, 1780, 1782, 1781,
00937      1783, 1782, 1784, 1783, 1785, 1784, 1786, 1785, 1787, 1786,
00938      1788, 1787, 1789, 1788, 1790, 1789, 1791, 1790, 1792, 1791,
00939      1793, 1792, 1794, 1793, 1795, 1794, 1796, 1795, 1797, 1796,
00940      1798, 1797, 1799, 1798, 1800, 1799, 1801, 1800, 1802, 1801,
00941 
00942      1803, 1802, 1804, 1803, 1805, 1804, 1806, 1805, 1807, 1806,
00943      1808, 1807, 1809, 1808, 1810, 1809, 1811, 1810, 1812, 1811,
00944      1813, 1812, 1814, 1813, 1815, 1814, 1816, 1815, 1817, 1816,
00945      1818, 1817, 1819, 1818, 1820, 1819, 1821, 1820, 1822, 1821,
00946      1823, 1822, 1824, 1823, 1825, 1824, 1826, 1825, 1827, 1826,
00947      1828, 1827, 1829, 1828, 1830, 1829, 1831, 1830, 1832, 1831,
00948      1833, 1832, 1834, 1833, 1835, 1834, 1836, 1835, 1837, 1836,
00949      1838, 1837, 1839, 1838, 1840, 1839, 1841, 1840, 1842, 1841,
00950      1843, 1842, 1844, 1843, 1845, 1844, 1846, 1845, 1847, 1846,
00951      1848, 1847, 1849, 1848, 1850, 1849, 1851, 1850, 1852, 1851,
00952 
00953      1853, 1852, 1854, 1853, 1855, 1854, 1856, 1855, 1857, 1856,
00954      1858, 1857, 1859, 1858, 1860, 1859, 1861, 1860, 1862, 1861,
00955      1863, 1862, 1864, 1863, 1865, 1864, 1866, 1865, 1867, 1866,
00956      1868, 1867, 1869, 1868, 1870, 1869, 1871, 1870, 1872, 1871,
00957      1873, 1872, 1874, 1873, 1875, 1874, 1876, 1875, 1877, 1876,
00958      1453, 1877,    0, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00959      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00960      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00961      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00962      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00963 
00964      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00965      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00966      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00967      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00968      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00969      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00970      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00971      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00972      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00973      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00974 
00975      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00976      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00977      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00978      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00979      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00980      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00981      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00982      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00983      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00984      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00985 
00986      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00987      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00988      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00989      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00990      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00991      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00992      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00993      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00994      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00995      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00996 
00997      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00998      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
00999      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01000      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01001      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01002      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01003      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01004      1453, 1453, 1453, 1453, 1453, 1453, 1453
01005     } ;
01006 
01007 static yyconst flex_int16_t yy_nxt[8200] =
01008     {   0,
01009        26,   27,   27,   27,   28,   29,   30,   31,   32,   33,
01010        34,   35,   36,   37,   38,   36,   39,   40,   41,   42,
01011        43,   43,   44,   36,   45,   46,   47,   48,   49,   50,
01012        50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
01013        50,   50,   50,   50,   50,   51,   36,   26,   52,   53,
01014        54,   55,   56,   57,   58,   59,   60,   61,   50,   62,
01015        50,   50,   63,   50,   64,   50,   65,   50,   66,   67,
01016        68,   69,   70,   71,   50,   50,   72,   73,   74,   26,
01017        75,   75,   75,   75,   76,   75,   77,   75,   75,   75,
01018        75,   75,   75,   75,   75,   78,   75,   75,   79,   80,
01019 
01020        80,   75,   75,   75,   75,   75,   75,   81,   81,   81,
01021        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
01022        81,   81,   81,   81,   81,   82,   83,   75,   81,   84,
01023        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
01024        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
01025        81,   81,   81,   81,   81,   85,   75,   82,   87,   87,
01026        89,   89,   92,  104,  105,  104,  105,   93,  123,  106,
01027       139,  106,  115,  115,  115,  121,  122,  144,  144,  144,
01028       295,  140,  141,  145,  124,  159,  160,  107,  108,  107,
01029       108,  142,  143,  155,  296,   88,   88,  161,  162,  156,
01030 
01031       157,  158,   90,   90,   94,   91,   91,   92,   26,   75,
01032        75,   75,   75,   92,   75,   77,   75,   75,   93,   75,
01033        75,   75,   75,   75,   78,   75,   75,   79,   80,   80,
01034        75,   75,   75,   75,   75,   75,   95,   95,   95,   95,
01035        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
01036        95,   95,   95,   95,   82,   94,   75,   95,   92,   95,
01037        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
01038        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
01039        95,   95,   95,   95,   85,   75,   82,   96,   96,   96,
01040        96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
01041 
01042        96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
01043        96,   96,   96,   96,   96,   97,   97,   97,   97,   97,
01044        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
01045        97,   97,   97,   96,   96,   96,   97,   96,   97,   97,
01046        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
01047        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
01048        97,   97,   97,   96,   96,   96,   98,   98,   98,   98,
01049        98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
01050        98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
01051        98,   98,   98,   98,   99,   99,   99,   99,   99,   99,
01052 
01053        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
01054        99,   99,   98,   98,   98,   99,   98,   99,   99,   99,
01055        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
01056        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
01057        99,   99,   98,   98,   98,  112,  118,  126,  146,  128,
01058       255,  256,  149,  147,  150,  150,  150,  173,  926,  149,
01059       148,  150,  150,  150,  113,  169,  175,  151,  178,  170,
01060       174,  211,  179,  187,  151,  928,  152,  176,  180,  188,
01061       177,  171,  172,  197,  127,  189,  198,  205,  119,  199,
01062       151,  201,  206,  203,  202,  208,  209,  151,  930,  129,
01063 
01064       130,  181,  131,  204,  132,  210,  114,  133,  932,  153,
01065       182,  183,  184,  134,  222,  222,  135,  136,  191,  137,
01066       185,  287,  186,  212,  288,  192,  193,  229,  217,  217,
01067       217,  194,  214,  214,  214,  214,  214,  214,  214,  214,
01068       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
01069       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
01070       217,  217,  217,  250,  230,  222,  222,  233,  233,  223,
01071       221,  224,  233,  234,  235,  236,  118,  126,  214,  214,
01072       214,  330,  214,  218,  222,  222, 1453,  115,  115,  115,
01073       331,  245,  245, 1453,  934,  238,  232,  245,  117,  128,
01074 
01075       272,  273, 1453,  360,  251, 1453,  276,  277,  215,  214,
01076       214,  361,  233,  233,  127,  245,  245,  315,  119,  292,
01077       223,  936,  224,  144,  144,  144,  293,  294,  938,  267,
01078       267,  267,  298,  316,  317,  299,  151,  940,  268,  223,
01079       268,  224,  151,  269,  269,  269,  942, 1453,  280,  129,
01080       130,  281,  131,  944,  132,  282,  283,  133,  149,  151,
01081       150,  150,  150,  134,  306,  151,  135,  136,  307,  137,
01082       309,  322,  310,  151,  325,  946,  284,  323,  948,  308,
01083       217,  217,  217,  340,  340, 1453,  233,  233,  235,  236,
01084       326,  233,  234,  327,  235,  236,  151,  245,  245,  377,
01085 
01086       378, 1453,  405,  245, 1453,  355,  355,  355,  950,  238,
01087       406,  267,  267,  267,  269,  269,  269,  269,  269,  269,
01088      1453,  245,  245,  384,  151,  385,  420,  420,  386,  430,
01089       498,  233,  233,  355,  355,  355, 1453, 1453,  387, 1453,
01090       431,  499,  388,  438,  439, 1453, 1453,  151,  494,  494,
01091       495,  430,  504, 1453,  438,  439, 1453,  547,  498,  504,
01092       553, 1453,  431,  505, 1453,  547, 1453,  586,  548,  499,
01093       505,  554,  583,  583,  583,  588,  548,  553,  587,  952,
01094      1453, 1453, 1453,  432,  500, 1453,  589,  954,  554,  583,
01095       583,  583,  498,  430,  586, 1453, 1453,  588, 1453, 1453,
01096 
01097       614,  614,  614,  499,  431,  587, 1453, 1453,  589,  956,
01098       958, 1453, 1453, 1453, 1453,  614,  614,  614, 1453, 1453,
01099      1453,  960,  962, 1453,  964,  163, 1453, 1453, 1453, 1453,
01100      1453, 1453, 1453,  966, 1453, 1453, 1453, 1453, 1453, 1453,
01101       163, 1453,  671,  671,  671, 1453, 1453,  968,  970, 1453,
01102       613,  671,  671,  671,  972,  974, 1453,  976,  675,  675,
01103       675, 1453,  676,  978, 1453,  980,  672,  677, 1453, 1453,
01104      1453, 1453,  982, 1453, 1453,  672,  984,  986,  988, 1453,
01105      1453, 1453,  693,  693,  693, 1453, 1453, 1453, 1453, 1453,
01106      1453, 1453,  675,  675,  675, 1453,  676,  693,  693,  693,
01107 
01108      1453,  677, 1453,  990,  992,  994, 1453,  694, 1453, 1453,
01109      1453, 1453,  996,  998, 1453, 1000, 1453, 1453, 1453, 1453,
01110      1002, 1453,  694,  678, 1453, 1453, 1453, 1453, 1453, 1453,
01111      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1004, 1006, 1453,
01112      1008, 1010, 1012, 1453, 1014, 1016, 1018, 1020, 1453, 1453,
01113      1453, 1453, 1022, 1453, 1453, 1453, 1453,  678, 1453, 1453,
01114      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01115      1453, 1453, 1453, 1453, 1453, 1024, 1453, 1026, 1453, 1453,
01116      1028, 1030, 1453, 1453, 1032, 1453, 1034, 1453, 1453, 1453,
01117      1453, 1453, 1453, 1453, 1036, 1453, 1453, 1453, 1453, 1453,
01118 
01119      1453, 1038, 1453, 1453, 1453, 1040, 1453, 1453, 1042, 1453,
01120      1453, 1044, 1453, 1453, 1453, 1046, 1453, 1453, 1048, 1050,
01121      1453, 1453, 1453, 1453, 1453, 1052, 1453, 1453, 1453, 1054,
01122      1453, 1453, 1056, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01123      1453, 1453, 1058, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01124      1060, 1453, 1062, 1453, 1064, 1453, 1453, 1066, 1453, 1453,
01125      1453, 1453, 1068, 1453, 1453, 1070, 1453, 1453, 1453, 1072,
01126      1453, 1453, 1074, 1453, 1453, 1076, 1453, 1453, 1453, 1453,
01127      1078, 1453, 1080, 1453, 1453, 1453, 1453, 1082, 1453, 1084,
01128      1086, 1453, 1088, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01129 
01130      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01131      1453, 1453, 1453, 1090, 1453, 1453, 1453, 1453, 1453, 1092,
01132      1453, 1453, 1094, 1096, 1453, 1453, 1453, 1098, 1453, 1453,
01133      1100, 1102, 1453, 1104, 1453, 1106, 1453, 1108, 1453, 1453,
01134      1453, 1110, 1453, 1453, 1112, 1453, 1114, 1453, 1453, 1453,
01135      1453, 1453, 1453, 1453, 1116, 1453, 1453, 1453, 1453, 1453,
01136      1453, 1453, 1453, 1453, 1453, 1453, 1118, 1120, 1122, 1124,
01137      1453, 1453, 1453, 1453, 1126, 1453, 1453, 1128, 1453, 1453,
01138      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1130, 1453, 1132,
01139      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1134,
01140 
01141      1453, 1136, 1453, 1453, 1138, 1453, 1453, 1140, 1453, 1453,
01142      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01143      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1142, 1453,
01144      1144, 1146, 1148, 1453, 1150, 1152, 1154, 1453, 1453, 1453,
01145      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01146      1453, 1453, 1156, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01147      1453, 1453, 1453, 1453, 1158, 1453, 1453, 1160, 1453, 1453,
01148      1453, 1162, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1164,
01149      1453, 1453, 1453, 1453, 1453, 1453, 1166, 1453, 1453, 1168,
01150      1453, 1170, 1453, 1453, 1172, 1453, 1453, 1453, 1174, 1453,
01151 
01152      1176, 1453, 1453, 1453, 1453, 1453, 1453, 1178, 1453, 1453,
01153      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01154      1453, 1453, 1180, 1453, 1453, 1182, 1453, 1453, 1453, 1184,
01155      1453, 1186, 1188, 1453, 1453, 1190, 1453, 1453, 1192, 1453,
01156      1453, 1453, 1453, 1194, 1453, 1453, 1453, 1453, 1453, 1453,
01157      1453, 1453, 1196, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01158      1198, 1453, 1200, 1453, 1202, 1453, 1453, 1453, 1453, 1453,
01159      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1204,
01160      1453, 1453, 1453, 1453, 1453, 1453, 1206, 1453, 1453, 1453,
01161      1453, 1453, 1453, 1208, 1453, 1453, 1210, 1453, 1453, 1453,
01162 
01163      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1212, 1453, 1453,
01164      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01165      1453, 1453, 1453, 1453, 1453, 1214, 1216, 1453, 1218, 1453,
01166      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1220, 1453, 1453,
01167      1222, 1453, 1453, 1224, 1453, 1453, 1453, 1226, 1453, 1453,
01168      1228, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01169      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01170      1453, 1230, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01171      1453, 1453, 1453, 1232, 1453, 1453, 1234, 1453, 1453, 1453,
01172      1236, 1453, 1238, 1453, 1453, 1453, 1453, 1453, 1240, 1242,
01173 
01174      1453, 1244, 1453, 1453, 1246, 1453, 1453, 1248, 1453, 1453,
01175      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01176      1453, 1250, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01177      1453, 1453, 1453, 1453, 1453, 1252, 1453, 1453, 1453, 1453,
01178      1254, 1453, 1453, 1453, 1256, 1453, 1453, 1453, 1453, 1453,
01179      1453, 1453, 1453, 1453, 1258, 1453, 1453, 1453, 1453, 1453,
01180      1453, 1453, 1260, 1453, 1453, 1262, 1453, 1453, 1264, 1453,
01181      1453, 1266, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01182      1453, 1453, 1453, 1453, 1453, 1268, 1453, 1453, 1453, 1453,
01183      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1270,
01184 
01185      1453, 1453, 1453, 1453, 1272, 1453, 1453, 1453, 1453, 1453,
01186      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1274, 1453,
01187      1453, 1453, 1453, 1453, 1453, 1453, 1276, 1453, 1453, 1278,
01188      1453, 1453, 1280, 1453, 1453, 1282, 1453, 1453, 1453, 1453,
01189      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1284,
01190      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01191      1453, 1453, 1453, 1286, 1453, 1453, 1453, 1453, 1288, 1453,
01192      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01193      1453, 1453, 1290, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01194      1292, 1453, 1453, 1294, 1453, 1453, 1296, 1453, 1453, 1298,
01195 
01196      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01197      1453, 1453, 1453, 1300, 1453, 1453, 1453, 1453, 1453, 1453,
01198      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1302, 1453, 1453,
01199      1453, 1453, 1304, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01200      1453, 1453, 1453, 1453, 1453, 1453, 1306, 1453, 1453, 1453,
01201      1453, 1453, 1453, 1453, 1308, 1453, 1453, 1310, 1453, 1453,
01202      1312, 1453, 1453, 1314, 1453, 1453, 1453, 1453, 1453, 1453,
01203      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1316, 1453, 1453,
01204      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01205      1453, 1318, 1453, 1453, 1453, 1453, 1320, 1453, 1453, 1453,
01206 
01207      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01208      1322, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1324, 1453,
01209      1453, 1326, 1453, 1453, 1328, 1453, 1453, 1330, 1453, 1453,
01210      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01211      1453, 1332, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01212      1453, 1453, 1453, 1453, 1453, 1334, 1453, 1453, 1453, 1453,
01213      1336, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01214      1453, 1453, 1453, 1453, 1338, 1453, 1453, 1453, 1453, 1453,
01215      1453, 1453, 1340, 1453, 1453, 1342, 1453, 1453, 1344, 1453,
01216      1453, 1346, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01217 
01218      1453, 1453, 1453, 1453, 1453, 1348, 1453, 1453, 1453, 1453,
01219      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1350,
01220      1453, 1453, 1453, 1453, 1352, 1453, 1453, 1453, 1453, 1453,
01221      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1354, 1453,
01222      1453, 1453, 1453, 1453, 1453, 1453, 1356, 1453, 1453, 1358,
01223      1453, 1453, 1360, 1453, 1453, 1362, 1453, 1453, 1453, 1453,
01224      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1364,
01225      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01226      1453, 1453, 1453, 1366, 1453, 1453, 1453, 1453, 1368, 1453,
01227      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01228 
01229      1453, 1453, 1370, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01230      1372, 1453, 1453, 1374, 1453, 1453, 1376, 1453, 1453, 1378,
01231      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01232      1453, 1453, 1453, 1380, 1453, 1453, 1453, 1453, 1453, 1453,
01233      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1382, 1453, 1453,
01234      1453, 1453, 1384, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01235      1453, 1453, 1453, 1453, 1453, 1453, 1386, 1453, 1453, 1453,
01236      1453, 1453, 1453, 1453, 1388, 1453, 1453, 1390, 1453, 1453,
01237      1392, 1453, 1453, 1394, 1453, 1453, 1453, 1453, 1453, 1453,
01238      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1396, 1453, 1453,
01239 
01240      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01241      1453, 1398, 1453, 1453, 1453, 1453, 1400, 1453, 1453, 1453,
01242      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01243      1402, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1404, 1453,
01244      1453, 1406, 1453, 1453, 1408, 1453, 1453, 1410, 1453, 1453,
01245      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01246      1453, 1412, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01247      1453, 1453, 1453, 1453, 1453, 1414, 1453, 1453, 1453, 1453,
01248      1416, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01249      1453, 1453, 1453, 1453, 1418, 1453, 1453, 1453, 1453, 1453,
01250 
01251      1453, 1453, 1420, 1453, 1453, 1422, 1453, 1453, 1424, 1453,
01252      1453, 1426, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01253      1453, 1453, 1453, 1453, 1453, 1428, 1453, 1453, 1453, 1453,
01254      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1430,
01255      1453, 1453, 1453, 1453, 1432, 1453, 1453, 1453, 1453, 1453,
01256      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1434, 1453,
01257      1453, 1453, 1453, 1453, 1453, 1453, 1436, 1453, 1453, 1438,
01258      1453, 1453, 1440, 1453, 1453, 1442, 1453, 1453, 1453, 1453,
01259      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1444,
01260      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01261 
01262      1453, 1453, 1453, 1446, 1453, 1453, 1453, 1453, 1448, 1453,
01263      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01264      1453, 1453, 1450, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01265      1452, 1453, 1453,  924, 1453, 1453,  922, 1453, 1453,  920,
01266      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01267      1453, 1453, 1453,  918, 1453, 1453, 1453, 1453, 1453, 1453,
01268      1453, 1453, 1453, 1453, 1453, 1453, 1453,  916, 1453, 1453,
01269      1453, 1453,  914, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01270      1453, 1453, 1453, 1453, 1453, 1453,  912, 1453, 1453, 1453,
01271      1453, 1453, 1453, 1453,  910, 1453, 1453,  908, 1453, 1453,
01272 
01273       906, 1453, 1453,  904, 1453, 1453, 1453, 1453, 1453, 1453,
01274      1453, 1453, 1453, 1453, 1453, 1453, 1453,  902, 1453, 1453,
01275      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01276      1453,  900, 1453, 1453, 1453, 1453,  898, 1453, 1453, 1453,
01277      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01278       896, 1453, 1453, 1453, 1453, 1453, 1453, 1453,  894, 1453,
01279      1453,  892, 1453, 1453,  890, 1453, 1453,  888, 1453, 1453,
01280      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01281      1453,  886, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01282      1453, 1453, 1453, 1453, 1453,  884, 1453, 1453, 1453, 1453,
01283 
01284       882, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01285      1453, 1453, 1453, 1453,  880, 1453, 1453, 1453, 1453, 1453,
01286      1453, 1453,  878, 1453, 1453,  876, 1453, 1453,  874, 1453,
01287      1453,  872, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01288      1453, 1453, 1453, 1453, 1453,  870, 1453, 1453, 1453, 1453,
01289      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,  868,
01290      1453, 1453, 1453, 1453,  866, 1453, 1453, 1453, 1453, 1453,
01291      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,  864, 1453,
01292      1453, 1453, 1453, 1453, 1453, 1453,  862, 1453, 1453,  860,
01293      1453, 1453,  858, 1453, 1453,  856, 1453, 1453, 1453, 1453,
01294 
01295      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,  854,
01296      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01297      1453, 1453, 1453,  852, 1453, 1453, 1453, 1453,  850, 1453,
01298      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01299      1453, 1453,  848, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01300       846, 1453, 1453,  844, 1453, 1453,  842, 1453, 1453,  840,
01301      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01302      1453, 1453, 1453,  838, 1453, 1453, 1453, 1453, 1453, 1453,
01303      1453, 1453, 1453, 1453,  836,  834, 1453,  832, 1453, 1453,
01304      1453, 1453,  830,  828, 1453, 1453, 1453, 1453, 1453,  826,
01305 
01306       824,  822, 1453,  820,  818,  816,  814, 1453, 1453,  812,
01307       810,  808,  806, 1453,  804,  802,  800,  798,  796, 1453,
01308       794,  792,  790,  788,  786, 1453,  784,  782,  780,  778,
01309       776, 1453,  774, 1453,  772,  770,  768,  766,  764, 1453,
01310      1453,   24,   24,   24,   24,   24,   24,   24,   24,   24,
01311        24,   24,   24,   86,   86,   86,   86,   86,   86,   86,
01312        86,   86,   86,   86,   86,  100,  100,  100,  100,  100,
01313       100,  100,  100,  100,  100,  100,  100,  103,  103,  103,
01314       103,  103,  103,  103,  103,  103,  103,  103,  103,  109,
01315       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
01316 
01317       109,  111,  111,  111,  111,  111,  111,  111,  111,  111,
01318       762,  111,  111,  117,  117,  117,  117,  760,  117,  117,
01319       117,  117,  117,  117,  117,  120,  120,  125,  125,  125,
01320       125,  125,  125,  125,  125,  125,  125,  125,  125,  164,
01321       758,  756,  164,  164,  213,  213,  213,  754,  213,  213,
01322       752,  213,  213,  219,  750,  748,  219,  219,  220,  220,
01323       220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
01324       227,  227,  227,  227,  227,  746,  227,  227,  227,  227,
01325       227,  227,  237,  744,  742,  740,  738,  237,  237,  736,
01326       237,  237,  239,  734,  732,  239,  239,  240,  730,  728,
01327 
01328       240,  240,  241,  241,  241,  241,  241,  241,  726,  241,
01329       241,  241,  241,  241,  244,  244,  244,  244,  244,  244,
01330       244,  244,  244,  244,  244,  244,  248,  248,  248,  248,
01331       248,  248,  248,  248,  248,  248,  248,  248,  254,  724,
01332       722,  254,  254,  270,  720,  718,  270,  339,  716,  714,
01333       339,  341,  712,  710,  341,  342,  342,  342,  342,  342,
01334       342,  342,  342,  342,  342,  342,  342,  358,  708,  706,
01335       704,  702,  700,  698,  688,  688,  358,  358,  421,  696,
01336       692,  421,  422,  422,  422,  422,  422,  422,  422,  422,
01337       422,  422,  422,  422,  440,  691,  690,  688,  687,  440,
01338 
01339       686,  685,  440,  440,  492,  492,  492,  492,  492,  492,
01340       492,  492,  492,  492,  492,  492,  544,  544,  544,  544,
01341       544,  544,  544,  544,  544,  544,  544,  544,  581,  581,
01342       581,  581,  581,  581,  581,  581,  581,  581,  581,  581,
01343       611,  611,  611,  611,  611,  611,  611,  611,  611,  611,
01344       611,  611,  628,  628,  628,  628,  628,  628,  628,  628,
01345       628,  628,  628,  628,  640,  640,  640,  640,  640,  640,
01346       640,  640,  640,  640,  640,  640,  647,  647,  647,  647,
01347       647,  647,  647,  647,  647,  647,  647,  647,  654,  654,
01348       654,  654,  654,  654,  654,  654,  654,  654,  654,  654,
01349 
01350       658,  658,  658,  658,  658,  658,  658,  658,  658,  658,
01351       658,  658,  662,  662,  662,  662,  662,  662,  662,  662,
01352       662,  662,  662,  662,  666,  666,  666,  666,  666,  666,
01353       666,  666,  666,  666,  666,  666,  669,  669,  669,  669,
01354       669,  669,  669,  669,  669,  669,  669,  669,  673,  673,
01355       673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
01356       679,  679,  679,  679,  679,  679,  679,  679,  679,  679,
01357       679,  679,  684,  684,  684,  684,  684,  684,  684,  684,
01358       684,  684,  684,  684,  689,  689,  689,  689,  689,  689,
01359       689,  689,  689,  689,  689,  689,  695,  695,  695,  695,
01360 
01361       695,  695,  695,  695,  695,  695,  695,  695,  697,  697,
01362       697,  697,  697,  697,  697,  697,  697,  697,  697,  697,
01363       699,  699,  699,  699,  699,  699,  699,  699,  699,  699,
01364       699,  699,  701,  701,  701,  701,  701,  701,  701,  701,
01365       701,  701,  701,  701,  703,  703,  703,  703,  703,  703,
01366       703,  703,  703,  703,  703,  703,  705,  705,  705,  705,
01367       705,  705,  705,  705,  705,  705,  705,  705,  707,  707,
01368       707,  707,  707,  707,  707,  707,  707,  707,  707,  707,
01369       709,  709,  709,  709,  709,  709,  709,  709,  709,  709,
01370       709,  709,  711,  711,  711,  711,  711,  711,  711,  711,
01371 
01372       711,  711,  711,  711,  713,  713,  713,  713,  713,  713,
01373       713,  713,  713,  713,  713,  713,  715,  715,  715,  715,
01374       715,  715,  715,  715,  715,  715,  715,  715,  717,  717,
01375       717,  717,  717,  717,  717,  717,  717,  717,  717,  717,
01376       719,  719,  719,  719,  719,  719,  719,  719,  719,  719,
01377       719,  719,  721,  721,  721,  721,  721,  721,  721,  721,
01378       721,  721,  721,  721,  723,  723,  723,  723,  723,  723,
01379       723,  723,  723,  723,  723,  723,  725,  725,  725,  725,
01380       725,  725,  725,  725,  725,  725,  725,  725,  727,  727,
01381       727,  727,  727,  727,  727,  727,  727,  727,  727,  727,
01382 
01383       729,  729,  729,  729,  729,  729,  729,  729,  729,  729,
01384       729,  729,  731,  731,  731,  731,  731,  731,  731,  731,
01385       731,  731,  731,  731,  733,  733,  733,  733,  733,  733,
01386       733,  733,  733,  733,  733,  733,  735,  735,  735,  735,
01387       735,  735,  735,  735,  735,  735,  735,  735,  737,  737,
01388       737,  737,  737,  737,  737,  737,  737,  737,  737,  737,
01389       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
01390       739,  739,  741,  741,  741,  741,  741,  741,  741,  741,
01391       741,  741,  741,  741,  743,  743,  743,  743,  743,  743,
01392       743,  743,  743,  743,  743,  743,  745,  745,  745,  745,
01393 
01394       745,  745,  745,  745,  745,  745,  745,  745,  747,  747,
01395       747,  747,  747,  747,  747,  747,  747,  747,  747,  747,
01396       749,  749,  749,  749,  749,  749,  749,  749,  749,  749,
01397       749,  749,  751,  751,  751,  751,  751,  751,  751,  751,
01398       751,  751,  751,  751,  753,  753,  753,  753,  753,  753,
01399       753,  753,  753,  753,  753,  753,  755,  755,  755,  755,
01400       755,  755,  755,  755,  755,  755,  755,  755,  757,  757,
01401       757,  757,  757,  757,  757,  757,  757,  757,  757,  757,
01402       759,  759,  759,  759,  759,  759,  759,  759,  759,  759,
01403       759,  759,  761,  761,  761,  761,  761,  761,  761,  761,
01404 
01405       761,  761,  761,  761,  763,  763,  763,  763,  763,  763,
01406       763,  763,  763,  763,  763,  763,  765,  765,  765,  765,
01407       765,  765,  765,  765,  765,  765,  765,  765,  767,  767,
01408       767,  767,  767,  767,  767,  767,  767,  767,  767,  767,
01409       769,  769,  769,  769,  769,  769,  769,  769,  769,  769,
01410       769,  769,  771,  771,  771,  771,  771,  771,  771,  771,
01411       771,  771,  771,  771,  773,  773,  773,  773,  773,  773,
01412       773,  773,  773,  773,  773,  773,  775,  775,  775,  775,
01413       775,  775,  775,  775,  775,  775,  775,  775,  777,  777,
01414       777,  777,  777,  777,  777,  777,  777,  777,  777,  777,
01415 
01416       779,  779,  779,  779,  779,  779,  779,  779,  779,  779,
01417       779,  779,  781,  781,  781,  781,  781,  781,  781,  781,
01418       781,  781,  781,  781,  783,  783,  783,  783,  783,  783,
01419       783,  783,  783,  783,  783,  783,  785,  785,  785,  785,
01420       785,  785,  785,  785,  785,  785,  785,  785,  787,  787,
01421       787,  787,  787,  787,  787,  787,  787,  787,  787,  787,
01422       789,  789,  789,  789,  789,  789,  789,  789,  789,  789,
01423       789,  789,  791,  791,  791,  791,  791,  791,  791,  791,
01424       791,  791,  791,  791,  793,  793,  793,  793,  793,  793,
01425       793,  793,  793,  793,  793,  793,  795,  795,  795,  795,
01426 
01427       795,  795,  795,  795,  795,  795,  795,  795,  797,  797,
01428       797,  797,  797,  797,  797,  797,  797,  797,  797,  797,
01429       799,  799,  799,  799,  799,  799,  799,  799,  799,  799,
01430       799,  799,  801,  801,  801,  801,  801,  801,  801,  801,
01431       801,  801,  801,  801,  803,  803,  803,  803,  803,  803,
01432       803,  803,  803,  803,  803,  803,  805,  805,  805,  805,
01433       805,  805,  805,  805,  805,  805,  805,  805,  807,  807,
01434       807,  807,  807,  807,  807,  807,  807,  807,  807,  807,
01435       809,  809,  809,  809,  809,  809,  809,  809,  809,  809,
01436       809,  809,  811,  811,  811,  811,  811,  811,  811,  811,
01437 
01438       811,  811,  811,  811,  813,  813,  813,  813,  813,  813,
01439       813,  813,  813,  813,  813,  813,  815,  815,  815,  815,
01440       815,  815,  815,  815,  815,  815,  815,  815,  817,  817,
01441       817,  817,  817,  817,  817,  817,  817,  817,  817,  817,
01442       819,  819,  819,  819,  819,  819,  819,  819,  819,  819,
01443       819,  819,  821,  821,  821,  821,  821,  821,  821,  821,
01444       821,  821,  821,  821,  823,  823,  823,  823,  823,  823,
01445       823,  823,  823,  823,  823,  823,  825,  825,  825,  825,
01446       825,  825,  825,  825,  825,  825,  825,  825,  827,  827,
01447       827,  827,  827,  827,  827,  827,  827,  827,  827,  827,
01448 
01449       829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
01450       829,  829,  831,  831,  831,  831,  831,  831,  831,  831,
01451       831,  831,  831,  831,  833,  833,  833,  833,  833,  833,
01452       833,  833,  833,  833,  833,  833,  835,  835,  835,  835,
01453       835,  835,  835,  835,  835,  835,  835,  835,  837,  837,
01454       837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
01455       839,  839,  839,  839,  839,  839,  839,  839,  839,  839,
01456       839,  839,  841,  841,  841,  841,  841,  841,  841,  841,
01457       841,  841,  841,  841,  843,  843,  843,  843,  843,  843,
01458       843,  843,  843,  843,  843,  843,  845,  845,  845,  845,
01459 
01460       845,  845,  845,  845,  845,  845,  845,  845,  847,  847,
01461       847,  847,  847,  847,  847,  847,  847,  847,  847,  847,
01462       849,  849,  849,  849,  849,  849,  849,  849,  849,  849,
01463       849,  849,  851,  851,  851,  851,  851,  851,  851,  851,
01464       851,  851,  851,  851,  853,  853,  853,  853,  853,  853,
01465       853,  853,  853,  853,  853,  853,  855,  855,  855,  855,
01466       855,  855,  855,  855,  855,  855,  855,  855,  857,  857,
01467       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
01468       859,  859,  859,  859,  859,  859,  859,  859,  859,  859,
01469       859,  859,  861,  861,  861,  861,  861,  861,  861,  861,
01470 
01471       861,  861,  861,  861,  863,  863,  863,  863,  863,  863,
01472       863,  863,  863,  863,  863,  863,  865,  865,  865,  865,
01473       865,  865,  865,  865,  865,  865,  865,  865,  867,  867,
01474       867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
01475       869,  869,  869,  869,  869,  869,  869,  869,  869,  869,
01476       869,  869,  871,  871,  871,  871,  871,  871,  871,  871,
01477       871,  871,  871,  871,  873,  873,  873,  873,  873,  873,
01478       873,  873,  873,  873,  873,  873,  875,  875,  875,  875,
01479       875,  875,  875,  875,  875,  875,  875,  875,  877,  877,
01480       877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
01481 
01482       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
01483       879,  879,  881,  881,  881,  881,  881,  881,  881,  881,
01484       881,  881,  881,  881,  883,  883,  883,  883,  883,  883,
01485       883,  883,  883,  883,  883,  883,  885,  885,  885,  885,
01486       885,  885,  885,  885,  885,  885,  885,  885,  887,  887,
01487       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
01488       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
01489       889,  889,  891,  891,  891,  891,  891,  891,  891,  891,
01490       891,  891,  891,  891,  893,  893,  893,  893,  893,  893,
01491       893,  893,  893,  893,  893,  893,  895,  895,  895,  895,
01492 
01493       895,  895,  895,  895,  895,  895,  895,  895,  897,  897,
01494       897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
01495       899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
01496       899,  899,  901,  901,  901,  901,  901,  901,  901,  901,
01497       901,  901,  901,  901,  903,  903,  903,  903,  903,  903,
01498       903,  903,  903,  903,  903,  903,  905,  905,  905,  905,
01499       905,  905,  905,  905,  905,  905,  905,  905,  907,  907,
01500       907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
01501       909,  909,  909,  909,  909,  909,  909,  909,  909,  909,
01502       909,  909,  911,  911,  911,  911,  911,  911,  911,  911,
01503 
01504       911,  911,  911,  911,  913,  913,  913,  913,  913,  913,
01505       913,  913,  913,  913,  913,  913,  915,  915,  915,  915,
01506       915,  915,  915,  915,  915,  915,  915,  915,  917,  917,
01507       917,  917,  917,  917,  917,  917,  917,  917,  917,  917,
01508       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
01509       919,  919,  921,  921,  921,  921,  921,  921,  921,  921,
01510       921,  921,  921,  921,  923,  923,  923,  923,  923,  923,
01511       923,  923,  923,  923,  923,  923,  925,  925,  925,  925,
01512       925,  925,  925,  925,  925,  925,  925,  925,  927,  927,
01513       927,  927,  927,  927,  927,  927,  927,  927,  927,  927,
01514 
01515       929,  929,  929,  929,  929,  929,  929,  929,  929,  929,
01516       929,  929,  931,  931,  931,  931,  931,  931,  931,  931,
01517       931,  931,  931,  931,  933,  933,  933,  933,  933,  933,
01518       933,  933,  933,  933,  933,  933,  935,  935,  935,  935,
01519       935,  935,  935,  935,  935,  935,  935,  935,  937,  937,
01520       937,  937,  937,  937,  937,  937,  937,  937,  937,  937,
01521       939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
01522       939,  939,  941,  941,  941,  941,  941,  941,  941,  941,
01523       941,  941,  941,  941,  943,  943,  943,  943,  943,  943,
01524       943,  943,  943,  943,  943,  943,  945,  945,  945,  945,
01525 
01526       945,  945,  945,  945,  945,  945,  945,  945,  947,  947,
01527       947,  947,  947,  947,  947,  947,  947,  947,  947,  947,
01528       949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
01529       949,  949,  951,  951,  951,  951,  951,  951,  951,  951,
01530       951,  951,  951,  951,  953,  953,  953,  953,  953,  953,
01531       953,  953,  953,  953,  953,  953,  955,  955,  955,  955,
01532       955,  955,  955,  955,  955,  955,  955,  955,  957,  957,
01533       957,  957,  957,  957,  957,  957,  957,  957,  957,  957,
01534       959,  959,  959,  959,  959,  959,  959,  959,  959,  959,
01535       959,  959,  961,  961,  961,  961,  961,  961,  961,  961,
01536 
01537       961,  961,  961,  961,  963,  963,  963,  963,  963,  963,
01538       963,  963,  963,  963,  963,  963,  965,  965,  965,  965,
01539       965,  965,  965,  965,  965,  965,  965,  965,  967,  967,
01540       967,  967,  967,  967,  967,  967,  967,  967,  967,  967,
01541       969,  969,  969,  969,  969,  969,  969,  969,  969,  969,
01542       969,  969,  971,  971,  971,  971,  971,  971,  971,  971,
01543       971,  971,  971,  971,  973,  973,  973,  973,  973,  973,
01544       973,  973,  973,  973,  973,  973,  975,  975,  975,  975,
01545       975,  975,  975,  975,  975,  975,  975,  975,  977,  977,
01546       977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
01547 
01548       979,  979,  979,  979,  979,  979,  979,  979,  979,  979,
01549       979,  979,  981,  981,  981,  981,  981,  981,  981,  981,
01550       981,  981,  981,  981,  983,  983,  983,  983,  983,  983,
01551       983,  983,  983,  983,  983,  983,  985,  985,  985,  985,
01552       985,  985,  985,  985,  985,  985,  985,  985,  987,  987,
01553       987,  987,  987,  987,  987,  987,  987,  987,  987,  987,
01554       989,  989,  989,  989,  989,  989,  989,  989,  989,  989,
01555       989,  989,  991,  991,  991,  991,  991,  991,  991,  991,
01556       991,  991,  991,  991,  993,  993,  993,  993,  993,  993,
01557       993,  993,  993,  993,  993,  993,  995,  995,  995,  995,
01558 
01559       995,  995,  995,  995,  995,  995,  995,  995,  997,  997,
01560       997,  997,  997,  997,  997,  997,  997,  997,  997,  997,
01561       999,  999,  999,  999,  999,  999,  999,  999,  999,  999,
01562       999,  999, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
01563      1001, 1001, 1001, 1001, 1003, 1003, 1003, 1003, 1003, 1003,
01564      1003, 1003, 1003, 1003, 1003, 1003, 1005, 1005, 1005, 1005,
01565      1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1007, 1007,
01566      1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,
01567      1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009,
01568      1009, 1009, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
01569 
01570      1011, 1011, 1011, 1011, 1013, 1013, 1013, 1013, 1013, 1013,
01571      1013, 1013, 1013, 1013, 1013, 1013, 1015, 1015, 1015, 1015,
01572      1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1017, 1017,
01573      1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
01574      1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
01575      1019, 1019, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
01576      1021, 1021, 1021, 1021, 1023, 1023, 1023, 1023, 1023, 1023,
01577      1023, 1023, 1023, 1023, 1023, 1023, 1025, 1025, 1025, 1025,
01578      1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1027, 1027,
01579      1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
01580 
01581      1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
01582      1029, 1029, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
01583      1031, 1031, 1031, 1031, 1033, 1033, 1033, 1033, 1033, 1033,
01584      1033, 1033, 1033, 1033, 1033, 1033, 1035, 1035, 1035, 1035,
01585      1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1037, 1037,
01586      1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037,
01587      1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
01588      1039, 1039, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
01589      1041, 1041, 1041, 1041, 1043, 1043, 1043, 1043, 1043, 1043,
01590      1043, 1043, 1043, 1043, 1043, 1043, 1045, 1045, 1045, 1045,
01591 
01592      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1047, 1047,
01593      1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
01594      1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
01595      1049, 1049, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051,
01596      1051, 1051, 1051, 1051, 1053, 1053, 1053, 1053, 1053, 1053,
01597      1053, 1053, 1053, 1053, 1053, 1053, 1055, 1055, 1055, 1055,
01598      1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1057, 1057,
01599      1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
01600      1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
01601      1059, 1059, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
01602 
01603      1061, 1061, 1061, 1061, 1063, 1063, 1063, 1063, 1063, 1063,
01604      1063, 1063, 1063, 1063, 1063, 1063, 1065, 1065, 1065, 1065,
01605      1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1067, 1067,
01606      1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
01607      1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
01608      1069, 1069, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
01609      1071, 1071, 1071, 1071, 1073, 1073, 1073, 1073, 1073, 1073,
01610      1073, 1073, 1073, 1073, 1073, 1073, 1075, 1075, 1075, 1075,
01611      1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1077, 1077,
01612      1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
01613 
01614      1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079,
01615      1079, 1079, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081,
01616      1081, 1081, 1081, 1081, 1083, 1083, 1083, 1083, 1083, 1083,
01617      1083, 1083, 1083, 1083, 1083, 1083, 1085, 1085, 1085, 1085,
01618      1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1087, 1087,
01619      1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
01620      1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
01621      1089, 1089, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
01622      1091, 1091, 1091, 1091, 1093, 1093, 1093, 1093, 1093, 1093,
01623      1093, 1093, 1093, 1093, 1093, 1093, 1095, 1095, 1095, 1095,
01624 
01625      1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1097, 1097,
01626      1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
01627      1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
01628      1099, 1099, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
01629      1101, 1101, 1101, 1101, 1103, 1103, 1103, 1103, 1103, 1103,
01630      1103, 1103, 1103, 1103, 1103, 1103, 1105, 1105, 1105, 1105,
01631      1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1107, 1107,
01632      1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
01633      1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
01634      1109, 1109, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
01635 
01636      1111, 1111, 1111, 1111, 1113, 1113, 1113, 1113, 1113, 1113,
01637      1113, 1113, 1113, 1113, 1113, 1113, 1115, 1115, 1115, 1115,
01638      1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1117, 1117,
01639      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
01640      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
01641      1119, 1119, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
01642      1121, 1121, 1121, 1121, 1123, 1123, 1123, 1123, 1123, 1123,
01643      1123, 1123, 1123, 1123, 1123, 1123, 1125, 1125, 1125, 1125,
01644      1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1127, 1127,
01645      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
01646 
01647      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
01648      1129, 1129, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
01649      1131, 1131, 1131, 1131, 1133, 1133, 1133, 1133, 1133, 1133,
01650      1133, 1133, 1133, 1133, 1133, 1133, 1135, 1135, 1135, 1135,
01651      1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1137, 1137,
01652      1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
01653      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
01654      1139, 1139, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
01655      1141, 1141, 1141, 1141, 1143, 1143, 1143, 1143, 1143, 1143,
01656      1143, 1143, 1143, 1143, 1143, 1143, 1145, 1145, 1145, 1145,
01657 
01658      1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1147, 1147,
01659      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
01660      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
01661      1149, 1149, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
01662      1151, 1151, 1151, 1151, 1153, 1153, 1153, 1153, 1153, 1153,
01663      1153, 1153, 1153, 1153, 1153, 1153, 1155, 1155, 1155, 1155,
01664      1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1157, 1157,
01665      1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
01666      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
01667      1159, 1159, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
01668 
01669      1161, 1161, 1161, 1161, 1163, 1163, 1163, 1163, 1163, 1163,
01670      1163, 1163, 1163, 1163, 1163, 1163, 1165, 1165, 1165, 1165,
01671      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1167, 1167,
01672      1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
01673      1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
01674      1169, 1169, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
01675      1171, 1171, 1171, 1171, 1173, 1173, 1173, 1173, 1173, 1173,
01676      1173, 1173, 1173, 1173, 1173, 1173, 1175, 1175, 1175, 1175,
01677      1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1177, 1177,
01678      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
01679 
01680      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
01681      1179, 1179, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
01682      1181, 1181, 1181, 1181, 1183, 1183, 1183, 1183, 1183, 1183,
01683      1183, 1183, 1183, 1183, 1183, 1183, 1185, 1185, 1185, 1185,
01684      1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1187, 1187,
01685      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
01686      1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
01687      1189, 1189, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
01688      1191, 1191, 1191, 1191, 1193, 1193, 1193, 1193, 1193, 1193,
01689      1193, 1193, 1193, 1193, 1193, 1193, 1195, 1195, 1195, 1195,
01690 
01691      1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1197, 1197,
01692      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
01693      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
01694      1199, 1199, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
01695      1201, 1201, 1201, 1201, 1203, 1203, 1203, 1203, 1203, 1203,
01696      1203, 1203, 1203, 1203, 1203, 1203, 1205, 1205, 1205, 1205,
01697      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1207, 1207,
01698      1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
01699      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
01700      1209, 1209, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
01701 
01702      1211, 1211, 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213,
01703      1213, 1213, 1213, 1213, 1213, 1213, 1215, 1215, 1215, 1215,
01704      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1217, 1217,
01705      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
01706      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
01707      1219, 1219, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
01708      1221, 1221, 1221, 1221, 1223, 1223, 1223, 1223, 1223, 1223,
01709      1223, 1223, 1223, 1223, 1223, 1223, 1225, 1225, 1225, 1225,
01710      1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1227, 1227,
01711      1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
01712 
01713      1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
01714      1229, 1229, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
01715      1231, 1231, 1231, 1231, 1233, 1233, 1233, 1233, 1233, 1233,
01716      1233, 1233, 1233, 1233, 1233, 1233, 1235, 1235, 1235, 1235,
01717      1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1237, 1237,
01718      1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237,
01719      1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239,
01720      1239, 1239, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
01721      1241, 1241, 1241, 1241, 1243, 1243, 1243, 1243, 1243, 1243,
01722      1243, 1243, 1243, 1243, 1243, 1243, 1245, 1245, 1245, 1245,
01723 
01724      1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1247, 1247,
01725      1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247,
01726      1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
01727      1249, 1249, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
01728      1251, 1251, 1251, 1251, 1253, 1253, 1253, 1253, 1253, 1253,
01729      1253, 1253, 1253, 1253, 1253, 1253, 1255, 1255, 1255, 1255,
01730      1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1257, 1257,
01731      1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
01732      1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
01733      1259, 1259, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261,
01734 
01735      1261, 1261, 1261, 1261, 1263, 1263, 1263, 1263, 1263, 1263,
01736      1263, 1263, 1263, 1263, 1263, 1263, 1265, 1265, 1265, 1265,
01737      1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1267, 1267,
01738      1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
01739      1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269,
01740      1269, 1269, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271,
01741      1271, 1271, 1271, 1271, 1273, 1273, 1273, 1273, 1273, 1273,
01742      1273, 1273, 1273, 1273, 1273, 1273, 1275, 1275, 1275, 1275,
01743      1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1277, 1277,
01744      1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
01745 
01746      1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
01747      1279, 1279, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281,
01748      1281, 1281, 1281, 1281, 1283, 1283, 1283, 1283, 1283, 1283,
01749      1283, 1283, 1283, 1283, 1283, 1283, 1285, 1285, 1285, 1285,
01750      1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1287, 1287,
01751      1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
01752      1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
01753      1289, 1289, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
01754      1291, 1291, 1291, 1291, 1293, 1293, 1293, 1293, 1293, 1293,
01755      1293, 1293, 1293, 1293, 1293, 1293, 1295, 1295, 1295, 1295,
01756 
01757      1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1297, 1297,
01758      1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
01759      1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
01760      1299, 1299, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
01761      1301, 1301, 1301, 1301, 1303, 1303, 1303, 1303, 1303, 1303,
01762      1303, 1303, 1303, 1303, 1303, 1303, 1305, 1305, 1305, 1305,
01763      1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1307, 1307,
01764      1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307,
01765      1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
01766      1309, 1309, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
01767 
01768      1311, 1311, 1311, 1311, 1313, 1313, 1313, 1313, 1313, 1313,
01769      1313, 1313, 1313, 1313, 1313, 1313, 1315, 1315, 1315, 1315,
01770      1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1317, 1317,
01771      1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
01772      1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319,
01773      1319, 1319, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
01774      1321, 1321, 1321, 1321, 1323, 1323, 1323, 1323, 1323, 1323,
01775      1323, 1323, 1323, 1323, 1323, 1323, 1325, 1325, 1325, 1325,
01776      1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1327, 1327,
01777      1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327,
01778 
01779      1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329,
01780      1329, 1329, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
01781      1331, 1331, 1331, 1331, 1333, 1333, 1333, 1333, 1333, 1333,
01782      1333, 1333, 1333, 1333, 1333, 1333, 1335, 1335, 1335, 1335,
01783      1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1337, 1337,
01784      1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337,
01785      1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
01786      1339, 1339, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341,
01787      1341, 1341, 1341, 1341, 1343, 1343, 1343, 1343, 1343, 1343,
01788      1343, 1343, 1343, 1343, 1343, 1343, 1345, 1345, 1345, 1345,
01789 
01790      1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1347, 1347,
01791      1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347,
01792      1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
01793      1349, 1349, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
01794      1351, 1351, 1351, 1351, 1353, 1353, 1353, 1353, 1353, 1353,
01795      1353, 1353, 1353, 1353, 1353, 1353, 1355, 1355, 1355, 1355,
01796      1355, 1355, 1355, 1355, 1355, 1355, 1355, 1355, 1357, 1357,
01797      1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
01798      1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
01799      1359, 1359, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
01800 
01801      1361, 1361, 1361, 1361, 1363, 1363, 1363, 1363, 1363, 1363,
01802      1363, 1363, 1363, 1363, 1363, 1363, 1365, 1365, 1365, 1365,
01803      1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1367, 1367,
01804      1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
01805      1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
01806      1369, 1369, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
01807      1371, 1371, 1371, 1371, 1373, 1373, 1373, 1373, 1373, 1373,
01808      1373, 1373, 1373, 1373, 1373, 1373, 1375, 1375, 1375, 1375,
01809      1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1377, 1377,
01810      1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377,
01811 
01812      1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
01813      1379, 1379, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
01814      1381, 1381, 1381, 1381, 1383, 1383, 1383, 1383, 1383, 1383,
01815      1383, 1383, 1383, 1383, 1383, 1383, 1385, 1385, 1385, 1385,
01816      1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1387, 1387,
01817      1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
01818      1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
01819      1389, 1389, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391,
01820      1391, 1391, 1391, 1391, 1393, 1393, 1393, 1393, 1393, 1393,
01821      1393, 1393, 1393, 1393, 1393, 1393, 1395, 1395, 1395, 1395,
01822 
01823      1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1397, 1397,
01824      1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
01825      1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
01826      1399, 1399, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
01827      1401, 1401, 1401, 1401, 1403, 1403, 1403, 1403, 1403, 1403,
01828      1403, 1403, 1403, 1403, 1403, 1403, 1405, 1405, 1405, 1405,
01829      1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1407, 1407,
01830      1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
01831      1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
01832      1409, 1409, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411,
01833 
01834      1411, 1411, 1411, 1411, 1413, 1413, 1413, 1413, 1413, 1413,
01835      1413, 1413, 1413, 1413, 1413, 1413, 1415, 1415, 1415, 1415,
01836      1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1417, 1417,
01837      1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417,
01838      1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419,
01839      1419, 1419, 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
01840      1421, 1421, 1421, 1421, 1423, 1423, 1423, 1423, 1423, 1423,
01841      1423, 1423, 1423, 1423, 1423, 1423, 1425, 1425, 1425, 1425,
01842      1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1427, 1427,
01843      1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1427,
01844 
01845      1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429, 1429,
01846      1429, 1429, 1431, 1431, 1431, 1431, 1431, 1431, 1431, 1431,
01847      1431, 1431, 1431, 1431, 1433, 1433, 1433, 1433, 1433, 1433,
01848      1433, 1433, 1433, 1433, 1433, 1433, 1435, 1435, 1435, 1435,
01849      1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1437, 1437,
01850      1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
01851      1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439,
01852      1439, 1439, 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1441,
01853      1441, 1441, 1441, 1441, 1443, 1443, 1443, 1443, 1443, 1443,
01854      1443, 1443, 1443, 1443, 1443, 1443, 1445, 1445, 1445, 1445,
01855 
01856      1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1447, 1447,
01857      1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447, 1447,
01858      1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449,
01859      1449, 1449, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451,
01860      1451, 1451, 1451, 1451,  683,  682,  681,  680,  674,  670,
01861       668,  667,  665,  664,  663,  661,  660,  659,  657,  656,
01862       655,  653,  652,  651,  650,  649,  648,  646,  645,  644,
01863       643,  642,  641,  639,  638,  637,  636,  635,  634,  633,
01864       632,  631,  630,  629,  627,  626,  625,  624,  623,  622,
01865       621,  620,  619,  618,  617,  616,  615,  612,  610,  609,
01866 
01867       608,  607,  606,  605,  604,  603,  602,  601,  600,  599,
01868       598,  597,  596,  595,  594,  593,  592,  591,  590,  585,
01869       584,  582,  580,  579,  578,  577,  576,  575,  574,  573,
01870       572,  571,  570,  569,  568,  567,  566,  565,  564,  563,
01871       562,  561,  560,  559,  558,  557,  556,  555,  552,  551,
01872       550,  434,  549,  546,  494,  545,  543,  542,  541,  540,
01873       539,  538,  537,  536,  535,  534,  533,  532,  531,  530,
01874       529,  528,  527,  526,  525,  524,  523,  522,  521,  520,
01875       519,  518,  517,  516,  515,  514,  513,  512,  511,  510,
01876       509,  438,  508,  507,  506,  503,  502,  434,  501,  497,
01877 
01878       496,  493,  491,  490,  489,  488,  487,  486,  485,  484,
01879       483,  482,  481,  480,  479,  478,  477,  476,  475,  474,
01880       473,  472,  471,  470,  469,  468,  467,  466,  465,  464,
01881       463,  462,  461,  460,  459,  458,  457,  456,  455,  454,
01882       453,  452,  451,  450,  449,  448,  447,  446,  445,  444,
01883       443,  442,  441,  357,  437,  436,  435,  434,  433,  429,
01884       428,  427,  426,  425,  424,  423,  419,  418,  417,  416,
01885       415,  414,  413,  412,  411,  410,  409,  408,  407,  404,
01886       403,  402,  401,  400,  399,  398,  397,  396,  395,  394,
01887       393,  392,  391,  390,  389,  383,  382,  381,  380,  379,
01888 
01889       376,  375,  374,  373,  372,  371,  370,  369,  368,  367,
01890       366,  365,  364,  363,  362,  359,  276,  357,  356,  354,
01891       353,  352,  351,  350,  349,  348,  347,  346,  255,  345,
01892       344,  343,  235,  231, 1453,  228,  225,  338,  337,  336,
01893       335,  334,  333,  332,  329,  328,  324,  321,  320,  319,
01894       318,  314,  313,  312,  311,  305,  304,  303,  302,  301,
01895       300,  297,  291,  290,  289,  286,  285,  279,  278,  275,
01896       274,  271,  266,  265,  264,  263,  262,  261,  260,  259,
01897       258,  257, 1453,  253,  252,  250,  110,  249,  247,  247,
01898       246,  243,  242,  231,  228,  226,  225,  216,  207,  200,
01899 
01900       196,  195,  190,  168,  167,  166,  165,  163,  154,  138,
01901       116,  110, 1453,  102,  102,  101,  101,   25,   25,   23,
01902      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01903      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01904      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01905      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01906      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01907      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01908      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
01909      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453
01910 
01911     } ;
01912 
01913 static yyconst flex_int16_t yy_chk[8200] =
01914     {   0,
01915         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01916         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01917         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01918         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01919         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01920         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01921         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
01922         3,    3,    3,    3,    3,    3,    3,    3,    3,    5,
01923         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01924         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01925 
01926         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01927         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01928         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01929         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01930         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
01931         5,    5,    5,    5,    5,    5,    5,    5,    7,    8,
01932         9,   10,   11,   21,   21,   22,   22,   11,   33,   21,
01933        38,   22,   27,   27,   27,   32,   32,   40,   40,   40,
01934       176,   38,   39,   40,   33,   46,   46,   21,   21,   22,
01935        22,   39,   39,   45,  176,    7,    8,   47,   47,   45,
01936 
01937        45,   45,    9,   10,   11,    9,   10,   11,   12,   12,
01938        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01939        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01940        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01941        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01942        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01943        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01944        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
01945        12,   12,   12,   12,   12,   12,   12,   13,   13,   13,
01946        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01947 
01948        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01949        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01950        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01951        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01952        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01953        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
01954        13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
01955        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01956        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01957        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01958 
01959        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01960        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01961        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01962        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
01963        15,   15,   15,   15,   15,   25,   29,   34,   41,   35,
01964       122,  122,   42,   41,   42,   42,   42,   56,  923,   43,
01965        41,   43,   43,   43,   25,   55,   57,   42,   58,   55,
01966        56,   73,   58,   60,   43,  925,   42,   57,   58,   60,
01967        57,   55,   55,   65,   34,   60,   65,   69,   29,   65,
01968        42,   67,   69,   68,   67,   71,   71,   43,  927,   35,
01969 
01970        35,   59,   35,   68,   35,   71,   25,   35,  929,   42,
01971        59,   59,   59,   35,   94,   94,   35,   35,   62,   35,
01972        59,  171,   59,   73,  171,   62,   62,   88,   79,   79,
01973        79,   62,   77,   77,   77,   77,   77,   77,   77,   77,
01974        77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
01975        77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
01976        80,   80,   80,  113,   88,   90,   90,   92,   93,   94,
01977        83,   94,   92,   93,   95,   95,  117,  125,   77,   77,
01978        77,  203,   77,   79,   83,   83,  110,  115,  115,  115,
01979       203,  103,  103,  119,  931,   95,   90,  103,  119,  128,
01980 
01981       156,  156,  110,  281,  113,  110,  163,  163,   77,   77,
01982        77,  281,   92,   93,  125,  103,  103,  193,  117,  175,
01983        90,  933,   90,  144,  144,  144,  175,  175,  935,  149,
01984       149,  149,  178,  193,  193,  178,  144,  937,  151,   83,
01985       151,   83,  149,  151,  151,  151,  939,  110,  168,  128,
01986       128,  168,  128,  941,  128,  168,  168,  128,  150,  144,
01987       150,  150,  150,  128,  186,  149,  128,  128,  186,  128,
01988       187,  198,  187,  150,  200,  943,  168,  198,  945,  186,
01989       217,  217,  217,  222,  222,  249,  233,  234,  237,  237,
01990       200,  233,  234,  200,  238,  238,  150,  244,  244,  297,
01991 
01992       297,  249,  322,  244,  249,  266,  266,  266,  947,  237,
01993       322,  267,  267,  267,  268,  268,  268,  269,  269,  269,
01994       343,  244,  244,  304,  267,  304,  340,  340,  304,  350,
01995       427,  233,  234,  355,  355,  355,  343,  423,  304,  343,
01996       350,  427,  304,  358,  358,  493,  249,  267,  424,  424,
01997       424,  430,  434,  423,  440,  440,  423,  497,  498,  504,
01998       507,  493,  430,  434,  493,  547,  545,  551,  497,  498,
01999       504,  507,  546,  546,  546,  552,  547,  553,  551,  949,
02000       582,  343,  545,  350,  427,  545,  552,  951,  553,  583,
02001       583,  583,  584,  585,  586,  612,  582,  588,  423,  582,
02002 
02003       590,  590,  590,  584,  585,  586,  493,  629,  588,  953,
02004       955,  612,  641,  648,  612,  614,  614,  614,  655,  659,
02005       663,  957,  959,  629,  961,  590,  629,  545,  641,  648,
02006       667,  641,  648,  963,  655,  659,  663,  655,  659,  663,
02007       614,  582,  668,  668,  668,  670,  667,  965,  967,  667,
02008       583,  671,  671,  671,  969,  971,  612,  973,  672,  672,
02009       672,  670,  672,  975,  670,  977,  668,  672,  629,  674,
02010       680,  685,  979,  641,  648,  671,  981,  983,  985,  655,
02011       659,  663,  688,  688,  688,  674,  680,  685,  674,  680,
02012       685,  667,  675,  675,  675,  690,  675,  693,  693,  693,
02013 
02014       696,  675,  698,  987,  989,  991,  670,  688,  700,  702,
02015       704,  690,  993,  995,  690,  997,  696,  706,  698,  696,
02016       999,  698,  693,  672,  700,  702,  704,  700,  702,  704,
02017       674,  680,  685,  706,  708,  710,  706, 1001, 1003,  712,
02018      1005, 1007, 1009,  714, 1011, 1013, 1015, 1017,  716,  718,
02019       708,  710, 1019,  708,  710,  712,  690,  675,  712,  714,
02020       720,  696,  714,  698,  716,  718,  722,  716,  718,  700,
02021       702,  704,  724,  726,  728, 1021,  720, 1023,  706,  720,
02022      1025, 1027,  722,  730, 1029,  722, 1031,  732,  724,  726,
02023       728,  724,  726,  728, 1033,  708,  710,  734,  736,  730,
02024 
02025       712, 1035,  730,  732,  714, 1037,  732,  738, 1039,  716,
02026       718, 1041,  740,  734,  736, 1043,  734,  736, 1045, 1047,
02027       742,  720,  744,  738,  746, 1049,  738,  722,  740, 1051,
02028       748,  740, 1053,  724,  726,  728,  742,  750,  744,  742,
02029       746,  744, 1055,  746,  730,  752,  748,  754,  732,  748,
02030      1057,  756, 1059,  750, 1061,  758,  750, 1063,  734,  736,
02031       760,  752, 1065,  754,  752, 1067,  754,  756,  738, 1069,
02032       756,  758, 1071,  740,  758, 1073,  760,  762,  764,  760,
02033      1075,  742, 1077,  744,  766,  746,  768, 1079,  770, 1081,
02034      1083,  748, 1085,  762,  764,  772,  762,  764,  750,  774,
02035 
02036       766,  776,  768,  766,  770,  768,  752,  770,  754,  778,
02037       780,  772,  756, 1087,  772,  774,  758,  776,  774, 1089,
02038       776,  760, 1091, 1093,  782,  778,  780, 1095,  778,  780,
02039      1097, 1099,  784, 1101,  786, 1103,  788, 1105,  762,  764,
02040       782, 1107,  790,  782, 1109,  766, 1111,  768,  784,  770,
02041       786,  784,  788,  786, 1113,  788,  772,  792,  790,  794,
02042       774,  790,  776,  796,  798,  800, 1115, 1117, 1119, 1121,
02043       778,  780,  802,  792, 1123,  794,  792, 1125,  794,  796,
02044       798,  800,  796,  798,  800,  782,  804, 1127,  802, 1129,
02045       806,  802,  808,  784,  810,  786,  812,  788,  814, 1131,
02046 
02047       816, 1133,  804,  790, 1135,  804,  806, 1137,  808,  806,
02048       810,  808,  812,  810,  814,  812,  816,  814,  792,  816,
02049       794,  818,  820,  822,  796,  798,  800,  824, 1139,  826,
02050      1141, 1143, 1145,  802, 1147, 1149, 1151,  818,  820,  822,
02051       818,  820,  822,  824,  828,  826,  824,  804,  826,  830,
02052       832,  806, 1153,  808,  834,  810,  836,  812,  838,  814,
02053       828,  816,  840,  828, 1155,  830,  832, 1157,  830,  832,
02054       834, 1159,  836,  834,  838,  836,  842,  838,  840, 1161,
02055       844,  840,  818,  820,  822,  846, 1163,  848,  824, 1165,
02056       826, 1167,  842,  850, 1169,  842,  844,  852, 1171,  844,
02057 
02058      1173,  846,  854,  848,  846,  828,  848, 1175,  856,  850,
02059       830,  832,  850,  852,  858,  834,  852,  836,  854,  838,
02060       860,  854, 1177,  840,  856, 1179,  862,  856,  864, 1181,
02061       858, 1183, 1185,  858,  866, 1187,  860,  842, 1189,  860,
02062       868,  844,  862, 1191,  864,  862,  846,  864,  848,  870,
02063       866,  872, 1193,  866,  850,  874,  868,  876,  852,  868,
02064      1195,  878, 1197,  854, 1199,  870,  880,  872,  870,  856,
02065       872,  874,  882,  876,  874,  858,  876,  878,  884, 1201,
02066       878,  860,  880,  886,  888,  880, 1203,  862,  882,  864,
02067       890,  882,  892, 1205,  884,  866, 1207,  884,  894,  886,
02068 
02069       888,  868,  886,  888,  896,  898,  890, 1209,  892,  890,
02070       870,  892,  872,  900,  894,  902,  874,  894,  876,  904,
02071       896,  898,  878,  896,  898, 1211, 1213,  880, 1215,  900,
02072       906,  902,  900,  882,  902,  904,  908, 1217,  904,  884,
02073      1219,  910,  912, 1221,  886,  888,  906, 1223,  914,  906,
02074      1225,  890,  908,  892,  916,  908,  918,  910,  912,  894,
02075       910,  912,  920,  922,  914,  896,  898,  914,  924,  926,
02076       916, 1227,  918,  916,  900,  918,  902,  928,  920,  922,
02077       904,  920,  922, 1229,  924,  926, 1231,  924,  926,  930,
02078      1233,  906, 1235,  928,  932,  934,  928,  908, 1237, 1239,
02079 
02080       936, 1241,  910,  912, 1243,  930,  938, 1245,  930,  914,
02081       932,  934,  940,  932,  934,  916,  936,  918,  942,  936,
02082       944, 1247,  938,  920,  922,  938,  946,  948,  940,  924,
02083       926,  940,  950,  952,  942, 1249,  944,  942,  928,  944,
02084      1251,  954,  946,  948, 1253,  946,  948,  956,  950,  952,
02085       930,  950,  952,  958, 1255,  932,  934,  954,  960,  962,
02086       954,  936, 1257,  956,  964, 1259,  956,  938, 1261,  958,
02087       966, 1263,  958,  940,  960,  962,  968,  960,  962,  942,
02088       964,  944,  970,  964,  972, 1265,  966,  946,  948,  966,
02089       974,  976,  968,  950,  952,  968,  978,  980,  970, 1267,
02090 
02091       972,  970,  954,  972, 1269,  982,  974,  976,  956,  974,
02092       976,  984,  978,  980,  958,  978,  980,  986, 1271,  960,
02093       962,  982,  988,  990,  982,  964, 1273,  984,  992, 1275,
02094       984,  966, 1277,  986,  994, 1279,  986,  968,  988,  990,
02095       996,  988,  990,  970,  992,  972,  998,  992, 1000, 1281,
02096       994,  974,  976,  994, 1002, 1004,  996,  978,  980,  996,
02097      1006, 1008,  998, 1283, 1000,  998,  982, 1000, 1285, 1010,
02098      1002, 1004,  984, 1002, 1004, 1012, 1006, 1008,  986, 1006,
02099      1008, 1014, 1287,  988,  990, 1010, 1016, 1018, 1010,  992,
02100      1289, 1012, 1020, 1291, 1012,  994, 1293, 1014, 1022, 1295,
02101 
02102      1014,  996, 1016, 1018, 1024, 1016, 1018,  998, 1020, 1000,
02103      1026, 1020, 1028, 1297, 1022, 1002, 1004, 1022, 1030, 1032,
02104      1024, 1006, 1008, 1024, 1034, 1036, 1026, 1299, 1028, 1026,
02105      1010, 1028, 1301, 1038, 1030, 1032, 1012, 1030, 1032, 1040,
02106      1034, 1036, 1014, 1034, 1036, 1042, 1303, 1016, 1018, 1038,
02107      1044, 1046, 1038, 1020, 1305, 1040, 1048, 1307, 1040, 1022,
02108      1309, 1042, 1050, 1311, 1042, 1024, 1044, 1046, 1052, 1044,
02109      1046, 1026, 1048, 1028, 1054, 1048, 1056, 1313, 1050, 1030,
02110      1032, 1050, 1058, 1060, 1052, 1034, 1036, 1052, 1062, 1064,
02111      1054, 1315, 1056, 1054, 1038, 1056, 1317, 1066, 1058, 1060,
02112 
02113      1040, 1058, 1060, 1068, 1062, 1064, 1042, 1062, 1064, 1070,
02114      1319, 1044, 1046, 1066, 1072, 1074, 1066, 1048, 1321, 1068,
02115      1076, 1323, 1068, 1050, 1325, 1070, 1078, 1327, 1070, 1052,
02116      1072, 1074, 1080, 1072, 1074, 1054, 1076, 1056, 1082, 1076,
02117      1084, 1329, 1078, 1058, 1060, 1078, 1086, 1088, 1080, 1062,
02118      1064, 1080, 1090, 1092, 1082, 1331, 1084, 1082, 1066, 1084,
02119      1333, 1094, 1086, 1088, 1068, 1086, 1088, 1096, 1090, 1092,
02120      1070, 1090, 1092, 1098, 1335, 1072, 1074, 1094, 1100, 1102,
02121      1094, 1076, 1337, 1096, 1104, 1339, 1096, 1078, 1341, 1098,
02122      1106, 1343, 1098, 1080, 1100, 1102, 1108, 1100, 1102, 1082,
02123 
02124      1104, 1084, 1110, 1104, 1112, 1345, 1106, 1086, 1088, 1106,
02125      1114, 1116, 1108, 1090, 1092, 1108, 1118, 1120, 1110, 1347,
02126      1112, 1110, 1094, 1112, 1349, 1122, 1114, 1116, 1096, 1114,
02127      1116, 1124, 1118, 1120, 1098, 1118, 1120, 1126, 1351, 1100,
02128      1102, 1122, 1128, 1130, 1122, 1104, 1353, 1124, 1132, 1355,
02129      1124, 1106, 1357, 1126, 1134, 1359, 1126, 1108, 1128, 1130,
02130      1136, 1128, 1130, 1110, 1132, 1112, 1138, 1132, 1140, 1361,
02131      1134, 1114, 1116, 1134, 1142, 1144, 1136, 1118, 1120, 1136,
02132      1146, 1148, 1138, 1363, 1140, 1138, 1122, 1140, 1365, 1150,
02133      1142, 1144, 1124, 1142, 1144, 1152, 1146, 1148, 1126, 1146,
02134 
02135      1148, 1154, 1367, 1128, 1130, 1150, 1156, 1158, 1150, 1132,
02136      1369, 1152, 1160, 1371, 1152, 1134, 1373, 1154, 1162, 1375,
02137      1154, 1136, 1156, 1158, 1164, 1156, 1158, 1138, 1160, 1140,
02138      1166, 1160, 1168, 1377, 1162, 1142, 1144, 1162, 1170, 1172,
02139      1164, 1146, 1148, 1164, 1174, 1176, 1166, 1379, 1168, 1166,
02140      1150, 1168, 1381, 1178, 1170, 1172, 1152, 1170, 1172, 1180,
02141      1174, 1176, 1154, 1174, 1176, 1182, 1383, 1156, 1158, 1178,
02142      1184, 1186, 1178, 1160, 1385, 1180, 1188, 1387, 1180, 1162,
02143      1389, 1182, 1190, 1391, 1182, 1164, 1184, 1186, 1192, 1184,
02144      1186, 1166, 1188, 1168, 1194, 1188, 1196, 1393, 1190, 1170,
02145 
02146      1172, 1190, 1198, 1200, 1192, 1174, 1176, 1192, 1202, 1204,
02147      1194, 1395, 1196, 1194, 1178, 1196, 1397, 1206, 1198, 1200,
02148      1180, 1198, 1200, 1208, 1202, 1204, 1182, 1202, 1204, 1210,
02149      1399, 1184, 1186, 1206, 1212, 1214, 1206, 1188, 1401, 1208,
02150      1216, 1403, 1208, 1190, 1405, 1210, 1218, 1407, 1210, 1192,
02151      1212, 1214, 1220, 1212, 1214, 1194, 1216, 1196, 1222, 1216,
02152      1224, 1409, 1218, 1198, 1200, 1218, 1226, 1228, 1220, 1202,
02153      1204, 1220, 1230, 1232, 1222, 1411, 1224, 1222, 1206, 1224,
02154      1413, 1234, 1226, 1228, 1208, 1226, 1228, 1236, 1230, 1232,
02155      1210, 1230, 1232, 1238, 1415, 1212, 1214, 1234, 1240, 1242,
02156 
02157      1234, 1216, 1417, 1236, 1244, 1419, 1236, 1218, 1421, 1238,
02158      1246, 1423, 1238, 1220, 1240, 1242, 1248, 1240, 1242, 1222,
02159      1244, 1224, 1250, 1244, 1252, 1425, 1246, 1226, 1228, 1246,
02160      1254, 1256, 1248, 1230, 1232, 1248, 1258, 1260, 1250, 1427,
02161      1252, 1250, 1234, 1252, 1429, 1262, 1254, 1256, 1236, 1254,
02162      1256, 1264, 1258, 1260, 1238, 1258, 1260, 1266, 1431, 1240,
02163      1242, 1262, 1268, 1270, 1262, 1244, 1433, 1264, 1272, 1435,
02164      1264, 1246, 1437, 1266, 1274, 1439, 1266, 1248, 1268, 1270,
02165      1276, 1268, 1270, 1250, 1272, 1252, 1278, 1272, 1280, 1441,
02166      1274, 1254, 1256, 1274, 1282, 1284, 1276, 1258, 1260, 1276,
02167 
02168      1286, 1288, 1278, 1443, 1280, 1278, 1262, 1280, 1445, 1290,
02169      1282, 1284, 1264, 1282, 1284, 1292, 1286, 1288, 1266, 1286,
02170      1288, 1294, 1447, 1268, 1270, 1290, 1296, 1298, 1290, 1272,
02171      1449, 1292, 1300,  921, 1292, 1274,  919, 1294, 1302,  917,
02172      1294, 1276, 1296, 1298, 1304, 1296, 1298, 1278, 1300, 1280,
02173      1306, 1300, 1308,  915, 1302, 1282, 1284, 1302, 1310, 1312,
02174      1304, 1286, 1288, 1304, 1314, 1316, 1306,  913, 1308, 1306,
02175      1290, 1308,  911, 1318, 1310, 1312, 1292, 1310, 1312, 1320,
02176      1314, 1316, 1294, 1314, 1316, 1322,  909, 1296, 1298, 1318,
02177      1324, 1326, 1318, 1300,  907, 1320, 1328,  905, 1320, 1302,
02178 
02179       903, 1322, 1330,  901, 1322, 1304, 1324, 1326, 1332, 1324,
02180      1326, 1306, 1328, 1308, 1334, 1328, 1336,  899, 1330, 1310,
02181      1312, 1330, 1338, 1340, 1332, 1314, 1316, 1332, 1342, 1344,
02182      1334,  897, 1336, 1334, 1318, 1336,  895, 1346, 1338, 1340,
02183      1320, 1338, 1340, 1348, 1342, 1344, 1322, 1342, 1344, 1350,
02184       893, 1324, 1326, 1346, 1352, 1354, 1346, 1328,  891, 1348,
02185      1356,  889, 1348, 1330,  887, 1350, 1358,  885, 1350, 1332,
02186      1352, 1354, 1360, 1352, 1354, 1334, 1356, 1336, 1362, 1356,
02187      1364,  883, 1358, 1338, 1340, 1358, 1366, 1368, 1360, 1342,
02188      1344, 1360, 1370, 1372, 1362,  881, 1364, 1362, 1346, 1364,
02189 
02190       879, 1374, 1366, 1368, 1348, 1366, 1368, 1376, 1370, 1372,
02191      1350, 1370, 1372, 1378,  877, 1352, 1354, 1374, 1380, 1382,
02192      1374, 1356,  875, 1376, 1384,  873, 1376, 1358,  871, 1378,
02193      1386,  869, 1378, 1360, 1380, 1382, 1388, 1380, 1382, 1362,
02194      1384, 1364, 1390, 1384, 1392,  867, 1386, 1366, 1368, 1386,
02195      1394, 1396, 1388, 1370, 1372, 1388, 1398, 1400, 1390,  865,
02196      1392, 1390, 1374, 1392,  863, 1402, 1394, 1396, 1376, 1394,
02197      1396, 1404, 1398, 1400, 1378, 1398, 1400, 1406,  861, 1380,
02198      1382, 1402, 1408, 1410, 1402, 1384,  859, 1404, 1412,  857,
02199      1404, 1386,  855, 1406, 1414,  853, 1406, 1388, 1408, 1410,
02200 
02201      1416, 1408, 1410, 1390, 1412, 1392, 1418, 1412, 1420,  851,
02202      1414, 1394, 1396, 1414, 1422, 1424, 1416, 1398, 1400, 1416,
02203      1426, 1428, 1418,  849, 1420, 1418, 1402, 1420,  847, 1430,
02204      1422, 1424, 1404, 1422, 1424, 1432, 1426, 1428, 1406, 1426,
02205      1428, 1434,  845, 1408, 1410, 1430, 1436, 1438, 1430, 1412,
02206       843, 1432, 1440,  841, 1432, 1414,  839, 1434, 1442,  837,
02207      1434, 1416, 1436, 1438, 1444, 1436, 1438, 1418, 1440, 1420,
02208      1446, 1440, 1448,  835, 1442, 1422, 1424, 1442, 1450, 1452,
02209      1444, 1426, 1428, 1444,  833,  831, 1446,  829, 1448, 1446,
02210      1430, 1448,  827,  825, 1450, 1452, 1432, 1450, 1452,  823,
02211 
02212       821,  819, 1434,  817,  815,  813,  811, 1436, 1438,  809,
02213       807,  805,  803, 1440,  801,  799,  797,  795,  793, 1442,
02214       791,  789,  787,  785,  783, 1444,  781,  779,  777,  775,
02215       773, 1446,  771, 1448,  769,  767,  765,  763,  761, 1450,
02216      1452, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454,
02217      1454, 1454, 1454, 1455, 1455, 1455, 1455, 1455, 1455, 1455,
02218      1455, 1455, 1455, 1455, 1455, 1456, 1456, 1456, 1456, 1456,
02219      1456, 1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, 1457,
02220      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1458,
02221      1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458,
02222 
02223      1458, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
02224       759, 1459, 1459, 1460, 1460, 1460, 1460,  757, 1460, 1460,
02225      1460, 1460, 1460, 1460, 1460, 1461, 1461, 1462, 1462, 1462,
02226      1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463,
02227       755,  753, 1463, 1463, 1464, 1464, 1464,  751, 1464, 1464,
02228       749, 1464, 1464, 1465,  747,  745, 1465, 1465, 1466, 1466,
02229      1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466,
02230      1467, 1467, 1467, 1467, 1467,  743, 1467, 1467, 1467, 1467,
02231      1467, 1467, 1468,  741,  739,  737,  735, 1468, 1468,  733,
02232      1468, 1468, 1469,  731,  729, 1469, 1469, 1470,  727,  725,
02233 
02234      1470, 1470, 1471, 1471, 1471, 1471, 1471, 1471,  723, 1471,
02235      1471, 1471, 1471, 1471, 1472, 1472, 1472, 1472, 1472, 1472,
02236      1472, 1472, 1472, 1472, 1472, 1472, 1473, 1473, 1473, 1473,
02237      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1474,  721,
02238       719, 1474, 1474, 1475,  717,  715, 1475, 1476,  713,  711,
02239      1476, 1477,  709,  707, 1477, 1478, 1478, 1478, 1478, 1478,
02240      1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479,  705,  703,
02241       701,  699,  697,  695,  692,  691, 1479, 1479, 1480,  689,
02242       687, 1480, 1481, 1481, 1481, 1481, 1481, 1481, 1481, 1481,
02243      1481, 1481, 1481, 1481, 1482,  686,  684,  683,  682, 1482,
02244 
02245       681,  679, 1482, 1482, 1483, 1483, 1483, 1483, 1483, 1483,
02246      1483, 1483, 1483, 1483, 1483, 1483, 1484, 1484, 1484, 1484,
02247      1484, 1484, 1484, 1484, 1484, 1484, 1484, 1484, 1485, 1485,
02248      1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485,
02249      1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486,
02250      1486, 1486, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487,
02251      1487, 1487, 1487, 1487, 1488, 1488, 1488, 1488, 1488, 1488,
02252      1488, 1488, 1488, 1488, 1488, 1488, 1489, 1489, 1489, 1489,
02253      1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1490, 1490,
02254      1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
02255 
02256      1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491,
02257      1491, 1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
02258      1492, 1492, 1492, 1492, 1493, 1493, 1493, 1493, 1493, 1493,
02259      1493, 1493, 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1494,
02260      1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1495, 1495,
02261      1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495,
02262      1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496,
02263      1496, 1496, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497,
02264      1497, 1497, 1497, 1497, 1498, 1498, 1498, 1498, 1498, 1498,
02265      1498, 1498, 1498, 1498, 1498, 1498, 1499, 1499, 1499, 1499,
02266 
02267      1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1500, 1500,
02268      1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500,
02269      1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501,
02270      1501, 1501, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502,
02271      1502, 1502, 1502, 1502, 1503, 1503, 1503, 1503, 1503, 1503,
02272      1503, 1503, 1503, 1503, 1503, 1503, 1504, 1504, 1504, 1504,
02273      1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1505, 1505,
02274      1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
02275      1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
02276      1506, 1506, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507,
02277 
02278      1507, 1507, 1507, 1507, 1508, 1508, 1508, 1508, 1508, 1508,
02279      1508, 1508, 1508, 1508, 1508, 1508, 1509, 1509, 1509, 1509,
02280      1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1510, 1510,
02281      1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
02282      1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
02283      1511, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
02284      1512, 1512, 1512, 1512, 1513, 1513, 1513, 1513, 1513, 1513,
02285      1513, 1513, 1513, 1513, 1513, 1513, 1514, 1514, 1514, 1514,
02286      1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
02287      1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
02288 
02289      1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516,
02290      1516, 1516, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517,
02291      1517, 1517, 1517, 1517, 1518, 1518, 1518, 1518, 1518, 1518,
02292      1518, 1518, 1518, 1518, 1518, 1518, 1519, 1519, 1519, 1519,
02293      1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1520, 1520,
02294      1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
02295      1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521,
02296      1521, 1521, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522,
02297      1522, 1522, 1522, 1522, 1523, 1523, 1523, 1523, 1523, 1523,
02298      1523, 1523, 1523, 1523, 1523, 1523, 1524, 1524, 1524, 1524,
02299 
02300      1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1525, 1525,
02301      1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525,
02302      1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526,
02303      1526, 1526, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
02304      1527, 1527, 1527, 1527, 1528, 1528, 1528, 1528, 1528, 1528,
02305      1528, 1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1529,
02306      1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1530, 1530,
02307      1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530,
02308      1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
02309      1531, 1531, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
02310 
02311      1532, 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 1533,
02312      1533, 1533, 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534,
02313      1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535,
02314      1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535,
02315      1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
02316      1536, 1536, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
02317      1537, 1537, 1537, 1537, 1538, 1538, 1538, 1538, 1538, 1538,
02318      1538, 1538, 1538, 1538, 1538, 1538, 1539, 1539, 1539, 1539,
02319      1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540,
02320      1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540,
02321 
02322      1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
02323      1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542,
02324      1542, 1542, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1543,
02325      1543, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544,
02326      1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545,
02327      1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545,
02328      1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546,
02329      1546, 1546, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
02330      1547, 1547, 1547, 1547, 1548, 1548, 1548, 1548, 1548, 1548,
02331      1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549,
02332 
02333      1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 1550,
02334      1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550,
02335      1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551,
02336      1551, 1551, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552,
02337      1552, 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1553, 1553,
02338      1553, 1553, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554,
02339      1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555,
02340      1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
02341      1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556,
02342      1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557,
02343 
02344      1557, 1557, 1557, 1557, 1558, 1558, 1558, 1558, 1558, 1558,
02345      1558, 1558, 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1559,
02346      1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1560, 1560,
02347      1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
02348      1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561,
02349      1561, 1561, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
02350      1562, 1562, 1562, 1562, 1563, 1563, 1563, 1563, 1563, 1563,
02351      1563, 1563, 1563, 1563, 1563, 1563, 1564, 1564, 1564, 1564,
02352      1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1565, 1565,
02353      1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565,
02354 
02355      1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566,
02356      1566, 1566, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567,
02357      1567, 1567, 1567, 1567, 1568, 1568, 1568, 1568, 1568, 1568,
02358      1568, 1568, 1568, 1568, 1568, 1568, 1569, 1569, 1569, 1569,
02359      1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1570,
02360      1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570,
02361      1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571,
02362      1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572,
02363      1572, 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1573,
02364      1573, 1573, 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574,
02365 
02366      1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 1575,
02367      1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575,
02368      1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576,
02369      1576, 1576, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577,
02370      1577, 1577, 1577, 1577, 1578, 1578, 1578, 1578, 1578, 1578,
02371      1578, 1578, 1578, 1578, 1578, 1578, 1579, 1579, 1579, 1579,
02372      1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1580, 1580,
02373      1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
02374      1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
02375      1581, 1581, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582,
02376 
02377      1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583,
02378      1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584,
02379      1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1585, 1585,
02380      1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585,
02381      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
02382      1586, 1586, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
02383      1587, 1587, 1587, 1587, 1588, 1588, 1588, 1588, 1588, 1588,
02384      1588, 1588, 1588, 1588, 1588, 1588, 1589, 1589, 1589, 1589,
02385      1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1590, 1590,
02386      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
02387 
02388      1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
02389      1591, 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
02390      1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593,
02391      1593, 1593, 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594,
02392      1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595,
02393      1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595,
02394      1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596,
02395      1596, 1596, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
02396      1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598,
02397      1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599,
02398 
02399      1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1600, 1600,
02400      1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
02401      1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
02402      1601, 1601, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
02403      1602, 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603,
02404      1603, 1603, 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604,
02405      1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1605, 1605,
02406      1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605,
02407      1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606,
02408      1606, 1606, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
02409 
02410      1607, 1607, 1607, 1607, 1608, 1608, 1608, 1608, 1608, 1608,
02411      1608, 1608, 1608, 1608, 1608, 1608, 1609, 1609, 1609, 1609,
02412      1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1610, 1610,
02413      1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
02414      1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611,
02415      1611, 1611, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
02416      1612, 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613,
02417      1613, 1613, 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614,
02418      1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1615, 1615,
02419      1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615,
02420 
02421      1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
02422      1616, 1616, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617,
02423      1617, 1617, 1617, 1617, 1618, 1618, 1618, 1618, 1618, 1618,
02424      1618, 1618, 1618, 1618, 1618, 1618, 1619, 1619, 1619, 1619,
02425      1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1620, 1620,
02426      1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
02427      1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
02428      1621, 1621, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622,
02429      1622, 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1623, 1623,
02430      1623, 1623, 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624,
02431 
02432      1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1625, 1625,
02433      1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625,
02434      1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
02435      1626, 1626, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627,
02436      1627, 1627, 1627, 1627, 1628, 1628, 1628, 1628, 1628, 1628,
02437      1628, 1628, 1628, 1628, 1628, 1628, 1629, 1629, 1629, 1629,
02438      1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1630, 1630,
02439      1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
02440      1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
02441      1631, 1631, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632,
02442 
02443      1632, 1632, 1632, 1632, 1633, 1633, 1633, 1633, 1633, 1633,
02444      1633, 1633, 1633, 1633, 1633, 1633, 1634, 1634, 1634, 1634,
02445      1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1635, 1635,
02446      1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635,
02447      1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636,
02448      1636, 1636, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637,
02449      1637, 1637, 1637, 1637, 1638, 1638, 1638, 1638, 1638, 1638,
02450      1638, 1638, 1638, 1638, 1638, 1638, 1639, 1639, 1639, 1639,
02451      1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1640, 1640,
02452      1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
02453 
02454      1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641,
02455      1641, 1641, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
02456      1642, 1642, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643,
02457      1643, 1643, 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644,
02458      1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1645, 1645,
02459      1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645,
02460      1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646,
02461      1646, 1646, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647,
02462      1647, 1647, 1647, 1647, 1648, 1648, 1648, 1648, 1648, 1648,
02463      1648, 1648, 1648, 1648, 1648, 1648, 1649, 1649, 1649, 1649,
02464 
02465      1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1650, 1650,
02466      1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
02467      1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651,
02468      1651, 1651, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
02469      1652, 1652, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1653,
02470      1653, 1653, 1653, 1653, 1653, 1653, 1654, 1654, 1654, 1654,
02471      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1655, 1655,
02472      1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655,
02473      1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656,
02474      1656, 1656, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657,
02475 
02476      1657, 1657, 1657, 1657, 1658, 1658, 1658, 1658, 1658, 1658,
02477      1658, 1658, 1658, 1658, 1658, 1658, 1659, 1659, 1659, 1659,
02478      1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 1660,
02479      1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
02480      1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661,
02481      1661, 1661, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662,
02482      1662, 1662, 1662, 1662, 1663, 1663, 1663, 1663, 1663, 1663,
02483      1663, 1663, 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664,
02484      1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1665, 1665,
02485      1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665,
02486 
02487      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
02488      1666, 1666, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667,
02489      1667, 1667, 1667, 1667, 1668, 1668, 1668, 1668, 1668, 1668,
02490      1668, 1668, 1668, 1668, 1668, 1668, 1669, 1669, 1669, 1669,
02491      1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1670, 1670,
02492      1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
02493      1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
02494      1671, 1671, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672,
02495      1672, 1672, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673,
02496      1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674, 1674, 1674,
02497 
02498      1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1675, 1675,
02499      1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675,
02500      1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676,
02501      1676, 1676, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
02502      1677, 1677, 1677, 1677, 1678, 1678, 1678, 1678, 1678, 1678,
02503      1678, 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1679, 1679,
02504      1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1680, 1680,
02505      1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
02506      1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681,
02507      1681, 1681, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682,
02508 
02509      1682, 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683,
02510      1683, 1683, 1683, 1683, 1683, 1683, 1684, 1684, 1684, 1684,
02511      1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1685, 1685,
02512      1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685,
02513      1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
02514      1686, 1686, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687,
02515      1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688, 1688,
02516      1688, 1688, 1688, 1688, 1688, 1688, 1689, 1689, 1689, 1689,
02517      1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1690, 1690,
02518      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
02519 
02520      1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691,
02521      1691, 1691, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692,
02522      1692, 1692, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693,
02523      1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694,
02524      1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1695, 1695,
02525      1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695,
02526      1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696,
02527      1696, 1696, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697,
02528      1697, 1697, 1697, 1697, 1698, 1698, 1698, 1698, 1698, 1698,
02529      1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699,
02530 
02531      1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1700, 1700,
02532      1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700,
02533      1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701,
02534      1701, 1701, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702,
02535      1702, 1702, 1702, 1702, 1703, 1703, 1703, 1703, 1703, 1703,
02536      1703, 1703, 1703, 1703, 1703, 1703, 1704, 1704, 1704, 1704,
02537      1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1705, 1705,
02538      1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705,
02539      1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
02540      1706, 1706, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707,
02541 
02542      1707, 1707, 1707, 1707, 1708, 1708, 1708, 1708, 1708, 1708,
02543      1708, 1708, 1708, 1708, 1708, 1708, 1709, 1709, 1709, 1709,
02544      1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1710, 1710,
02545      1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710,
02546      1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711,
02547      1711, 1711, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712,
02548      1712, 1712, 1712, 1712, 1713, 1713, 1713, 1713, 1713, 1713,
02549      1713, 1713, 1713, 1713, 1713, 1713, 1714, 1714, 1714, 1714,
02550      1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1715, 1715,
02551      1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
02552 
02553      1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
02554      1716, 1716, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717,
02555      1717, 1717, 1717, 1717, 1718, 1718, 1718, 1718, 1718, 1718,
02556      1718, 1718, 1718, 1718, 1718, 1718, 1719, 1719, 1719, 1719,
02557      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1720, 1720,
02558      1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
02559      1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
02560      1721, 1721, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
02561      1722, 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723,
02562      1723, 1723, 1723, 1723, 1723, 1723, 1724, 1724, 1724, 1724,
02563 
02564      1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1725, 1725,
02565      1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725,
02566      1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726,
02567      1726, 1726, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
02568      1727, 1727, 1727, 1727, 1728, 1728, 1728, 1728, 1728, 1728,
02569      1728, 1728, 1728, 1728, 1728, 1728, 1729, 1729, 1729, 1729,
02570      1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1730,
02571      1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
02572      1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
02573      1731, 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
02574 
02575      1732, 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733,
02576      1733, 1733, 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734,
02577      1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1735, 1735,
02578      1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
02579      1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
02580      1736, 1736, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
02581      1737, 1737, 1737, 1737, 1738, 1738, 1738, 1738, 1738, 1738,
02582      1738, 1738, 1738, 1738, 1738, 1738, 1739, 1739, 1739, 1739,
02583      1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1740, 1740,
02584      1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
02585 
02586      1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
02587      1741, 1741, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
02588      1742, 1742, 1742, 1742, 1743, 1743, 1743, 1743, 1743, 1743,
02589      1743, 1743, 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744,
02590      1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1745, 1745,
02591      1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745,
02592      1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
02593      1746, 1746, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
02594      1747, 1747, 1747, 1747, 1748, 1748, 1748, 1748, 1748, 1748,
02595      1748, 1748, 1748, 1748, 1748, 1748, 1749, 1749, 1749, 1749,
02596 
02597      1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1750,
02598      1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
02599      1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
02600      1751, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
02601      1752, 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753,
02602      1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754,
02603      1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1755, 1755,
02604      1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755,
02605      1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
02606      1756, 1756, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
02607 
02608      1757, 1757, 1757, 1757, 1758, 1758, 1758, 1758, 1758, 1758,
02609      1758, 1758, 1758, 1758, 1758, 1758, 1759, 1759, 1759, 1759,
02610      1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1760, 1760,
02611      1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
02612      1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761,
02613      1761, 1761, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762,
02614      1762, 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, 1763,
02615      1763, 1763, 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764,
02616      1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765, 1765,
02617      1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
02618 
02619      1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
02620      1766, 1766, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
02621      1767, 1767, 1767, 1767, 1768, 1768, 1768, 1768, 1768, 1768,
02622      1768, 1768, 1768, 1768, 1768, 1768, 1769, 1769, 1769, 1769,
02623      1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1770, 1770,
02624      1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770,
02625      1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
02626      1771, 1771, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772,
02627      1772, 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773,
02628      1773, 1773, 1773, 1773, 1773, 1773, 1774, 1774, 1774, 1774,
02629 
02630      1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1775,
02631      1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
02632      1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776,
02633      1776, 1776, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777,
02634      1777, 1777, 1777, 1777, 1778, 1778, 1778, 1778, 1778, 1778,
02635      1778, 1778, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779,
02636      1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1780, 1780,
02637      1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
02638      1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781,
02639      1781, 1781, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
02640 
02641      1782, 1782, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783,
02642      1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784,
02643      1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1785, 1785,
02644      1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
02645      1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786,
02646      1786, 1786, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
02647      1787, 1787, 1787, 1787, 1788, 1788, 1788, 1788, 1788, 1788,
02648      1788, 1788, 1788, 1788, 1788, 1788, 1789, 1789, 1789, 1789,
02649      1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1790, 1790,
02650      1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
02651 
02652      1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791,
02653      1791, 1791, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792,
02654      1792, 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793,
02655      1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794,
02656      1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1795, 1795,
02657      1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
02658      1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796,
02659      1796, 1796, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797,
02660      1797, 1797, 1797, 1797, 1798, 1798, 1798, 1798, 1798, 1798,
02661      1798, 1798, 1798, 1798, 1798, 1798, 1799, 1799, 1799, 1799,
02662 
02663      1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1800, 1800,
02664      1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
02665      1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801,
02666      1801, 1801, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802,
02667      1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1803,
02668      1803, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804,
02669      1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1805, 1805,
02670      1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
02671      1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
02672      1806, 1806, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807,
02673 
02674      1807, 1807, 1807, 1807, 1808, 1808, 1808, 1808, 1808, 1808,
02675      1808, 1808, 1808, 1808, 1808, 1808, 1809, 1809, 1809, 1809,
02676      1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1810, 1810,
02677      1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810,
02678      1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811,
02679      1811, 1811, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812,
02680      1812, 1812, 1812, 1812, 1813, 1813, 1813, 1813, 1813, 1813,
02681      1813, 1813, 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814,
02682      1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1815,
02683      1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815,
02684 
02685      1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816,
02686      1816, 1816, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817,
02687      1817, 1817, 1817, 1817, 1818, 1818, 1818, 1818, 1818, 1818,
02688      1818, 1818, 1818, 1818, 1818, 1818, 1819, 1819, 1819, 1819,
02689      1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, 1820,
02690      1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820,
02691      1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821,
02692      1821, 1821, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
02693      1822, 1822, 1822, 1822, 1823, 1823, 1823, 1823, 1823, 1823,
02694      1823, 1823, 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824,
02695 
02696      1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 1825,
02697      1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825,
02698      1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
02699      1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827,
02700      1827, 1827, 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828,
02701      1828, 1828, 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829,
02702      1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830,
02703      1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830,
02704      1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831,
02705      1831, 1831, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832,
02706 
02707      1832, 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833,
02708      1833, 1833, 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834,
02709      1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1835, 1835,
02710      1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835,
02711      1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,
02712      1836, 1836, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837,
02713      1837, 1837, 1837, 1837, 1838, 1838, 1838, 1838, 1838, 1838,
02714      1838, 1838, 1838, 1838, 1838, 1838, 1839, 1839, 1839, 1839,
02715      1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1840, 1840,
02716      1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840,
02717 
02718      1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
02719      1841, 1841, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
02720      1842, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1843, 1843,
02721      1843, 1843, 1843, 1843, 1843, 1843, 1844, 1844, 1844, 1844,
02722      1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1845, 1845,
02723      1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845,
02724      1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
02725      1846, 1846, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
02726      1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, 1848, 1848,
02727      1848, 1848, 1848, 1848, 1848, 1848, 1849, 1849, 1849, 1849,
02728 
02729      1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1850, 1850,
02730      1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850,
02731      1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851,
02732      1851, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852,
02733      1852, 1852, 1852, 1852, 1853, 1853, 1853, 1853, 1853, 1853,
02734      1853, 1853, 1853, 1853, 1853, 1853, 1854, 1854, 1854, 1854,
02735      1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1855, 1855,
02736      1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
02737      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
02738      1856, 1856, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857,
02739 
02740      1857, 1857, 1857, 1857, 1858, 1858, 1858, 1858, 1858, 1858,
02741      1858, 1858, 1858, 1858, 1858, 1858, 1859, 1859, 1859, 1859,
02742      1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860,
02743      1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860,
02744      1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861,
02745      1861, 1861, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862,
02746      1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, 1863,
02747      1863, 1863, 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864,
02748      1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1865, 1865,
02749      1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865,
02750 
02751      1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866,
02752      1866, 1866, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
02753      1867, 1867, 1867, 1867, 1868, 1868, 1868, 1868, 1868, 1868,
02754      1868, 1868, 1868, 1868, 1868, 1868, 1869, 1869, 1869, 1869,
02755      1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870,
02756      1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870,
02757      1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871,
02758      1871, 1871, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
02759      1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, 1873,
02760      1873, 1873, 1873, 1873, 1873, 1873, 1874, 1874, 1874, 1874,
02761 
02762      1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1875, 1875,
02763      1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875,
02764      1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876,
02765      1876, 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877,
02766      1877, 1877, 1877, 1877,  678,  677,  676,  673,  669,  666,
02767       664,  662,  661,  660,  658,  657,  656,  654,  651,  649,
02768       647,  646,  645,  644,  643,  642,  640,  639,  637,  633,
02769       631,  630,  628,  627,  624,  623,  622,  620,  619,  618,
02770       617,  616,  613,  611,  610,  609,  607,  606,  605,  604,
02771       601,  600,  599,  596,  595,  593,  591,  581,  580,  579,
02772 
02773       577,  576,  575,  574,  573,  572,  569,  568,  567,  566,
02774       563,  562,  561,  560,  559,  558,  557,  556,  555,  550,
02775       549,  544,  539,  537,  536,  535,  534,  533,  532,  531,
02776       529,  528,  527,  526,  525,  524,  523,  521,  520,  519,
02777       515,  514,  513,  512,  511,  510,  509,  508,  506,  503,
02778       502,  501,  500,  496,  495,  492,  490,  486,  485,  484,
02779       483,  482,  481,  480,  478,  476,  475,  474,  473,  472,
02780       471,  470,  468,  467,  466,  464,  463,  461,  460,  459,
02781       458,  452,  451,  449,  447,  446,  445,  444,  443,  442,
02782       441,  439,  437,  436,  435,  433,  432,  429,  428,  426,
02783 
02784       425,  422,  419,  418,  417,  416,  415,  413,  412,  411,
02785       410,  408,  407,  406,  405,  404,  402,  401,  400,  399,
02786       398,  397,  396,  395,  394,  392,  388,  387,  386,  385,
02787       384,  383,  382,  380,  379,  378,  377,  376,  375,  374,
02788       371,  370,  369,  368,  367,  366,  365,  364,  363,  362,
02789       361,  360,  359,  357,  356,  354,  353,  352,  351,  349,
02790       348,  347,  346,  345,  344,  342,  338,  337,  336,  333,
02791       331,  330,  329,  328,  327,  326,  325,  324,  323,  321,
02792       319,  318,  317,  316,  315,  314,  313,  312,  311,  310,
02793       309,  308,  307,  306,  305,  303,  302,  301,  299,  298,
02794 
02795       296,  295,  294,  293,  292,  291,  290,  289,  288,  287,
02796       286,  285,  284,  283,  282,  280,  277,  272,  271,  265,
02797       264,  263,  262,  261,  260,  259,  258,  257,  256,  252,
02798       251,  248,  236,  231,  228,  227,  225,  210,  209,  208,
02799       207,  206,  205,  204,  202,  201,  199,  197,  196,  195,
02800       194,  192,  190,  189,  188,  185,  184,  183,  182,  181,
02801       179,  177,  174,  173,  172,  170,  169,  166,  165,  162,
02802       159,  155,  146,  137,  136,  135,  134,  133,  132,  131,
02803       130,  129,  127,  116,  114,  112,  111,  109,  108,  106,
02804       105,  102,  101,   89,   86,   85,   84,   78,   70,   66,
02805 
02806        64,   63,   61,   53,   52,   51,   49,   48,   44,   37,
02807        28,   24,   23,   20,   19,   18,   17,    2,    1, 1453,
02808      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02809      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02810      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02811      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02812      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02813      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02814      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453,
02815      1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453
02816 
02817     } ;
02818 
02819 /* Table of booleans, true if rule could match eol. */
02820 static yyconst flex_int32_t yy_rule_can_match_eol[173] =
02821     {   0,
02822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
02823     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
02824     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
02825     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
02826     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
02827     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
02828     0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 
02829     0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 
02830     0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,     };
02831 
02832 static yy_state_type yy_last_accepting_state;
02833 static char *yy_last_accepting_cpos;
02834 
02835 extern int yy_flex_debug;
02836 int yy_flex_debug = 0;
02837 
02838 /* The intent behind this definition is that it'll catch
02839  * any uses of REJECT which flex missed.
02840  */
02841 #define REJECT reject_used_but_not_detected
02842 static int yy_more_flag = 0;
02843 static int yy_more_len = 0;
02844 #define yymore() ((yy_more_flag) = 1)
02845 #define YY_MORE_ADJ (yy_more_len)
02846 #define YY_RESTORE_YY_MORE_OFFSET
02847 char *yytext;
02848 #line 1 "php_lexer.l"
02849 #line 2 "php_lexer.l"
02850 
02851 /*
02852    +----------------------------------------------------------------------+
02853    | Zend Engine                                                          |
02854    +----------------------------------------------------------------------+
02855    | Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
02856    +----------------------------------------------------------------------+
02857    | This source file is subject to version 2.00 of the Zend license,     |
02858    | that is bundled with this package in the file LICENSE, and is        |
02859    | available through the world-wide-web at the following url:           |
02860    | http://www.zend.com/license/2_00.txt.                                |
02861    | If you did not receive a copy of the Zend license and are unable to  |
02862    | obtain it through the world-wide-web, please send a note to          |
02863    | license@zend.com so we can mail you a copy immediately.              |
02864    +----------------------------------------------------------------------+
02865    | Authors: Andi Gutmans <andi@zend.com>                                |
02866    |          Zeev Suraski <zeev@zend.com>                                |
02867    +----------------------------------------------------------------------+
02868 */
02869 
02870 /* $Id: php_lexer.c,v 1.5 2007/01/06 03:21:00 wcandillon Exp $ */
02871 
02872 #include "php_parser.h"
02873 
02874 int getLineno(){
02875     return yylineno;
02876 }
02877 
02878 
02879 
02880 
02881 
02882 
02883 
02884 
02885 
02886 
02887 #line 44 "php_lexer.l"
02888 int asp_tags = 0;
02889 int short_tags = 0;
02890 int lineno = 0;
02891 int comment_start_line = 0;
02892 int heredoc_len = 4;
02893 int * heredoc;
02894 
02895 #line 2896 "php_lexer.c"
02896 
02897 #define INITIAL 0
02898 #define ST_IN_SCRIPTING 1
02899 #define ST_DOUBLE_QUOTES 2
02900 #define ST_SINGLE_QUOTE 3
02901 #define ST_BACKQUOTE 4
02902 #define ST_HEREDOC 5
02903 #define ST_LOOKING_FOR_PROPERTY 6
02904 #define ST_LOOKING_FOR_VARNAME 7
02905 #define ST_COMMENT 8
02906 #define ST_DOC_COMMENT 9
02907 #define ST_ONE_LINE_COMMENT 10
02908 
02909 #ifndef YY_NO_UNISTD_H
02910 /* Special case for "unistd.h", since it is non-ANSI. We include it way
02911  * down here because we want the user's section 1 to have been scanned first.
02912  * The user has a chance to override it with an option.
02913  */
02914 #include <unistd.h>
02915 #endif
02916 
02917 #ifndef YY_EXTRA_TYPE
02918 #define YY_EXTRA_TYPE void *
02919 #endif
02920 
02921 /* Macros after this point can all be overridden by user definitions in
02922  * section 1.
02923  */
02924 
02925 #ifndef YY_SKIP_YYWRAP
02926 #ifdef __cplusplus
02927 extern "C" int yywrap (void );
02928 #else
02929 extern int yywrap (void );
02930 #endif
02931 #endif
02932 
02933     static void yyunput (int c,char *buf_ptr  );
02934     
02935 #ifndef yytext_ptr
02936 static void yy_flex_strncpy (char *,yyconst char *,int );
02937 #endif
02938 
02939 #ifdef YY_NEED_STRLEN
02940 static int yy_flex_strlen (yyconst char * );
02941 #endif
02942 
02943 #ifndef YY_NO_INPUT
02944 
02945 #ifdef __cplusplus
02946 static int yyinput (void );
02947 #else
02948 static int input (void );
02949 #endif
02950 
02951 #endif
02952 
02953         static int yy_start_stack_ptr = 0;
02954         static int yy_start_stack_depth = 0;
02955         static int *yy_start_stack = 0;
02956     
02957     static void yy_push_state (int new_state );
02958     
02959     static void yy_pop_state (void );
02960     
02961     static int yy_top_state (void );
02962     
02963 /* Amount of stuff to slurp up with each read. */
02964 #ifndef YY_READ_BUF_SIZE
02965 #define YY_READ_BUF_SIZE 8192
02966 #endif
02967 
02968 /* Copy whatever the last rule matched to the standard output. */
02969 #ifndef ECHO
02970 /* This used to be an fputs(), but since the string might contain NUL's,
02971  * we now use fwrite().
02972  */
02973 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
02974 #endif
02975 
02976 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
02977  * is returned in "result".
02978  */
02979 #ifndef YY_INPUT
02980 #define YY_INPUT(buf,result,max_size) \
02981     if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
02982         { \
02983         int c = '*'; \
02984         size_t n; \
02985         for ( n = 0; n < max_size && \
02986                  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
02987             buf[n] = (char) c; \
02988         if ( c == '\n' ) \
02989             buf[n++] = (char) c; \
02990         if ( c == EOF && ferror( yyin ) ) \
02991             YY_FATAL_ERROR( "input in flex scanner failed" ); \
02992         result = n; \
02993         } \
02994     else \
02995         { \
02996         errno=0; \
02997         while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
02998             { \
02999             if( errno != EINTR) \
03000                 { \
03001                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
03002                 break; \
03003                 } \
03004             errno=0; \
03005             clearerr(yyin); \
03006             } \
03007         }\
03008 \
03009 
03010 #endif
03011 
03012 /* No semi-colon after return; correct usage is to write "yyterminate();" -
03013  * we don't want an extra ';' after the "return" because that will cause
03014  * some compilers to complain about unreachable statements.
03015  */
03016 #ifndef yyterminate
03017 #define yyterminate() return YY_NULL
03018 #endif
03019 
03020 /* Number of entries by which start-condition stack grows. */
03021 #ifndef YY_START_STACK_INCR
03022 #define YY_START_STACK_INCR 25
03023 #endif
03024 
03025 /* Report a fatal error. */
03026 #ifndef YY_FATAL_ERROR
03027 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
03028 #endif
03029 
03030 /* end tables serialization structures and prototypes */
03031 
03032 /* Default declaration of generated scanner - a define so the user can
03033  * easily add parameters.
03034  */
03035 #ifndef YY_DECL
03036 #define YY_DECL_IS_OURS 1
03037 
03038 extern int yylex (void);
03039 
03040 #define YY_DECL int yylex (void)
03041 #endif /* !YY_DECL */
03042 
03043 /* Code executed at the beginning of each rule, after yytext and yyleng
03044  * have been set up.
03045  */
03046 #ifndef YY_USER_ACTION
03047 #define YY_USER_ACTION
03048 #endif
03049 
03050 /* Code executed at the end of each rule. */
03051 #ifndef YY_BREAK
03052 #define YY_BREAK break;
03053 #endif
03054 
03055 #define YY_RULE_SETUP \
03056     if ( yyleng > 0 ) \
03057         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
03058                 (yytext[yyleng - 1] == '\n'); \
03059     YY_USER_ACTION
03060 
03061 /** The main scanner function which does all the work.
03062  */
03063 YY_DECL
03064 {
03065     register yy_state_type yy_current_state;
03066     register char *yy_cp, *yy_bp;
03067     register int yy_act;
03068     
03069 #line 68 "php_lexer.l"
03070 
03071 
03072 #line 3073 "php_lexer.c"
03073 
03074     if ( (yy_init) )
03075         {
03076         (yy_init) = 0;
03077 
03078 #ifdef YY_USER_INIT
03079         YY_USER_INIT;
03080 #endif
03081 
03082         if ( ! (yy_start) )
03083             (yy_start) = 1; /* first start state */
03084 
03085         if ( ! yyin )
03086             yyin = stdin;
03087 
03088         if ( ! yyout )
03089             yyout = stdout;
03090 
03091         if ( ! YY_CURRENT_BUFFER ) {
03092             yyensure_buffer_stack ();
03093             YY_CURRENT_BUFFER_LVALUE =
03094                 yy_create_buffer(yyin,YY_BUF_SIZE );
03095         }
03096 
03097         yy_load_buffer_state( );
03098         }
03099 
03100     while ( 1 )     /* loops until end-of-file is reached */
03101         {
03102         (yy_more_len) = 0;
03103         if ( (yy_more_flag) )
03104             {
03105             (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
03106             (yy_more_flag) = 0;
03107             }
03108         yy_cp = (yy_c_buf_p);
03109 
03110         /* Support of yytext. */
03111         *yy_cp = (yy_hold_char);
03112 
03113         /* yy_bp points to the position in yy_ch_buf of the start of
03114          * the current run.
03115          */
03116         yy_bp = yy_cp;
03117 
03118         yy_current_state = (yy_start);
03119         yy_current_state += YY_AT_BOL();
03120 yy_match:
03121         do
03122             {
03123             register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
03124             if ( yy_accept[yy_current_state] )
03125                 {
03126                 (yy_last_accepting_state) = yy_current_state;
03127                 (yy_last_accepting_cpos) = yy_cp;
03128                 }
03129             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03130                 {
03131                 yy_current_state = (int) yy_def[yy_current_state];
03132                 if ( yy_current_state >= 1454 )
03133                     yy_c = yy_meta[(unsigned int) yy_c];
03134                 }
03135             yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03136             ++yy_cp;
03137             }
03138         while ( yy_base[yy_current_state] != 8120 );
03139 
03140 yy_find_action:
03141         yy_act = yy_accept[yy_current_state];
03142         if ( yy_act == 0 )
03143             { /* have to back up */
03144             yy_cp = (yy_last_accepting_cpos);
03145             yy_current_state = (yy_last_accepting_state);
03146             yy_act = yy_accept[yy_current_state];
03147             }
03148 
03149         YY_DO_BEFORE_ACTION;
03150 
03151         if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
03152             {
03153             int yyl;
03154             for ( yyl = (yy_more_len); yyl < yyleng; ++yyl )
03155                 if ( yytext[yyl] == '\n' )
03156                        
03157     yylineno++;
03158 ;
03159             }
03160 
03161 do_action:  /* This label is used only to access EOF actions. */
03162 
03163         switch ( yy_act )
03164     { /* beginning of action switch */
03165             case 0: /* must back up */
03166             /* undo the effects of YY_DO_BEFORE_ACTION */
03167             *yy_cp = (yy_hold_char);
03168             yy_cp = (yy_last_accepting_cpos);
03169             yy_current_state = (yy_last_accepting_state);
03170             goto yy_find_action;
03171 
03172 case 1:
03173 YY_RULE_SETUP
03174 #line 70 "php_lexer.l"
03175 {
03176     return T_EXIT;
03177 }
03178     YY_BREAK
03179 case 2:
03180 YY_RULE_SETUP
03181 #line 74 "php_lexer.l"
03182 {
03183     return T_EXIT;
03184 }
03185     YY_BREAK
03186 case 3:
03187 YY_RULE_SETUP
03188 #line 78 "php_lexer.l"
03189 {
03190     return T_FUNCTION;
03191 }
03192     YY_BREAK
03193 case 4:
03194 YY_RULE_SETUP
03195 #line 82 "php_lexer.l"
03196 {
03197     return T_CONST;
03198 }
03199     YY_BREAK
03200 case 5:
03201 YY_RULE_SETUP
03202 #line 86 "php_lexer.l"
03203 {
03204     return T_RETURN;
03205 }
03206     YY_BREAK
03207 case 6:
03208 YY_RULE_SETUP
03209 #line 90 "php_lexer.l"
03210 {
03211     return T_TRY;
03212 }
03213     YY_BREAK
03214 case 7:
03215 YY_RULE_SETUP
03216 #line 94 "php_lexer.l"
03217 {
03218     return T_CATCH;
03219 }
03220     YY_BREAK
03221 case 8:
03222 YY_RULE_SETUP
03223 #line 98 "php_lexer.l"
03224 {
03225     return T_THROW;
03226 }
03227     YY_BREAK
03228 case 9:
03229 YY_RULE_SETUP
03230 #line 102 "php_lexer.l"
03231 {
03232     return T_IF;
03233 }
03234     YY_BREAK
03235 case 10:
03236 YY_RULE_SETUP
03237 #line 106 "php_lexer.l"
03238 {
03239     return T_ELSEIF;
03240 }
03241     YY_BREAK
03242 case 11:
03243 YY_RULE_SETUP
03244 #line 110 "php_lexer.l"
03245 {
03246     return T_ENDIF;
03247 }
03248     YY_BREAK
03249 case 12:
03250 YY_RULE_SETUP
03251 #line 114 "php_lexer.l"
03252 {
03253     return T_ELSE;
03254 }
03255     YY_BREAK
03256 case 13:
03257 YY_RULE_SETUP
03258 #line 118 "php_lexer.l"
03259 {
03260     return T_WHILE;
03261 }
03262     YY_BREAK
03263 case 14:
03264 YY_RULE_SETUP
03265 #line 122 "php_lexer.l"
03266 {
03267     return T_ENDWHILE;
03268 }
03269     YY_BREAK
03270 case 15:
03271 YY_RULE_SETUP
03272 #line 126 "php_lexer.l"
03273 {
03274     return T_DO;
03275 }
03276     YY_BREAK
03277 case 16:
03278 YY_RULE_SETUP
03279 #line 130 "php_lexer.l"
03280 {
03281     return T_FOR;
03282 }
03283     YY_BREAK
03284 case 17:
03285 YY_RULE_SETUP
03286 #line 134 "php_lexer.l"
03287 {
03288     return T_ENDFOR;
03289 }
03290     YY_BREAK
03291 case 18:
03292 YY_RULE_SETUP
03293 #line 138 "php_lexer.l"
03294 {
03295     return T_FOREACH;
03296 }
03297     YY_BREAK
03298 case 19:
03299 YY_RULE_SETUP
03300 #line 142 "php_lexer.l"
03301 {
03302     return T_ENDFOREACH;
03303 }
03304     YY_BREAK
03305 case 20:
03306 YY_RULE_SETUP
03307 #line 146 "php_lexer.l"
03308 {
03309     return T_DECLARE;
03310 }
03311     YY_BREAK
03312 case 21:
03313 YY_RULE_SETUP
03314 #line 150 "php_lexer.l"
03315 {
03316     return T_ENDDECLARE;
03317 }
03318     YY_BREAK
03319 case 22:
03320 YY_RULE_SETUP
03321 #line 154 "php_lexer.l"
03322 {
03323     return T_INSTANCEOF;
03324 }
03325     YY_BREAK
03326 case 23:
03327 YY_RULE_SETUP
03328 #line 158 "php_lexer.l"
03329 {
03330     return T_AS;
03331 }
03332     YY_BREAK
03333 case 24:
03334 YY_RULE_SETUP
03335 #line 162 "php_lexer.l"
03336 {
03337     return T_SWITCH;
03338 }
03339     YY_BREAK
03340 case 25:
03341 YY_RULE_SETUP
03342 #line 166 "php_lexer.l"
03343 {
03344     return T_ENDSWITCH;
03345 }
03346     YY_BREAK
03347 case 26:
03348 YY_RULE_SETUP
03349 #line 170 "php_lexer.l"
03350 {
03351     return T_CASE;
03352 }
03353     YY_BREAK
03354 case 27:
03355 YY_RULE_SETUP
03356 #line 174 "php_lexer.l"
03357 {
03358     return T_DEFAULT;
03359 }
03360     YY_BREAK
03361 case 28:
03362 YY_RULE_SETUP
03363 #line 178 "php_lexer.l"
03364 {
03365     return T_BREAK;
03366 }
03367     YY_BREAK
03368 case 29:
03369 YY_RULE_SETUP
03370 #line 182 "php_lexer.l"
03371 {
03372     return T_CONTINUE;
03373 }
03374     YY_BREAK
03375 case 30:
03376 YY_RULE_SETUP
03377 #line 186 "php_lexer.l"
03378 {
03379     return T_ECHO;
03380 }
03381     YY_BREAK
03382 case 31:
03383 YY_RULE_SETUP
03384 #line 190 "php_lexer.l"
03385 {
03386     return T_PRINT;
03387 }
03388     YY_BREAK
03389 case 32:
03390 YY_RULE_SETUP
03391 #line 194 "php_lexer.l"
03392 {
03393     return T_CLASS;
03394 }
03395     YY_BREAK
03396 case 33:
03397 YY_RULE_SETUP
03398 #line 198 "php_lexer.l"
03399 {
03400         /* added by William Candillon <wcandillon@php.net> */
03401     return T_ASPECT;
03402 }
03403     YY_BREAK
03404 case 34:
03405 YY_RULE_SETUP
03406 #line 203 "php_lexer.l"
03407 {
03408         /* added by William Candillon <wcandillon@php.net> */
03409     return T_BEFORE;
03410 }
03411     YY_BREAK
03412 case 35:
03413 YY_RULE_SETUP
03414 #line 208 "php_lexer.l"
03415 {
03416         /* added by William Candillon <wcandillon@php.net> */
03417     return T_AROUND;
03418 }
03419     YY_BREAK
03420 case 36:
03421 YY_RULE_SETUP
03422 #line 213 "php_lexer.l"
03423 {
03424         /* added by William Candillon <wcandillon@php.net> */
03425     return T_AFTER;
03426 }
03427     YY_BREAK
03428 case 37:
03429 YY_RULE_SETUP
03430 #line 218 "php_lexer.l"
03431 {
03432         /* added by William Candillon <wcandillon@php.net> */
03433     return T_POINTCUT;
03434 }
03435     YY_BREAK
03436 case 38:
03437 YY_RULE_SETUP
03438 #line 223 "php_lexer.l"
03439 {
03440         /* added by William Candillon <wcandillon@php.net> */
03441     return T_EXEC;
03442 }
03443     YY_BREAK
03444 case 39:
03445 YY_RULE_SETUP
03446 #line 228 "php_lexer.l"
03447 {
03448         /* added by William Candillon <wcandillon@php.net> */
03449     return T_CALL;
03450 }
03451     YY_BREAK
03452 case 40:
03453 YY_RULE_SETUP
03454 #line 233 "php_lexer.l"
03455 {
03456         /* added by William Candillon <wcandillon@php.net> */
03457     return T_SET;
03458 }
03459     YY_BREAK
03460 case 41:
03461 YY_RULE_SETUP
03462 #line 238 "php_lexer.l"
03463 {
03464         /* added by William Candillon <wcandillon@php.net> */
03465     return T_GET;
03466 }
03467     YY_BREAK
03468 case 42:
03469 YY_RULE_SETUP
03470 #line 243 "php_lexer.l"
03471 {
03472         /* added by William Candillon <wcandillon@php.net> */
03473     return T_THIS;
03474 }
03475     YY_BREAK
03476 case 43:
03477 YY_RULE_SETUP
03478 #line 248 "php_lexer.l"
03479 {
03480         /* added by William Candillon <wcandillon@php.net> */
03481     return T_WITHIN;
03482 }
03483     YY_BREAK
03484 case 44:
03485 YY_RULE_SETUP
03486 #line 253 "php_lexer.l"
03487 {
03488         /* added by William Candillon <wcandillon@php.net> */
03489     return T_FILE;
03490 }
03491     YY_BREAK
03492 case 45:
03493 YY_RULE_SETUP
03494 #line 258 "php_lexer.l"
03495 {
03496     return T_INTERFACE;
03497 }
03498     YY_BREAK
03499 case 46:
03500 YY_RULE_SETUP
03501 #line 262 "php_lexer.l"
03502 {
03503     return T_EXTENDS;
03504 }
03505     YY_BREAK
03506 case 47:
03507 YY_RULE_SETUP
03508 #line 266 "php_lexer.l"
03509 {
03510     return T_IMPLEMENTS;
03511 }
03512     YY_BREAK
03513 case 48:
03514 YY_RULE_SETUP
03515 #line 270 "php_lexer.l"
03516 {
03517     yy_push_state(ST_LOOKING_FOR_PROPERTY);
03518     return T_OBJECT_OPERATOR;
03519 }
03520     YY_BREAK
03521 case 49:
03522 YY_RULE_SETUP
03523 #line 275 "php_lexer.l"
03524 {
03525     yy_pop_state();
03526     return T_STRING;
03527 }
03528     YY_BREAK
03529 case 50:
03530 /* rule 50 can match eol */
03531 YY_RULE_SETUP
03532 #line 280 "php_lexer.l"
03533 {
03534     yyless(0);
03535     yy_pop_state();
03536 }
03537     YY_BREAK
03538 case 51:
03539 YY_RULE_SETUP
03540 #line 285 "php_lexer.l"
03541 {
03542     return T_PAAMAYIM_NEKUDOTAYIM;
03543 }
03544     YY_BREAK
03545 case 52:
03546 YY_RULE_SETUP
03547 #line 289 "php_lexer.l"
03548 {
03549     return T_NEW;
03550 }
03551     YY_BREAK
03552 case 53:
03553 YY_RULE_SETUP
03554 #line 293 "php_lexer.l"
03555 {
03556     return T_CLONE;
03557 }
03558     YY_BREAK
03559 case 54:
03560 YY_RULE_SETUP
03561 #line 297 "php_lexer.l"
03562 {
03563     return T_VAR;
03564 }
03565     YY_BREAK
03566 case 55:
03567 YY_RULE_SETUP
03568 #line 301 "php_lexer.l"
03569 {
03570     return T_INT_CAST;
03571 }
03572     YY_BREAK
03573 case 56:
03574 YY_RULE_SETUP
03575 #line 305 "php_lexer.l"
03576 {
03577     return T_DOUBLE_CAST;
03578 }
03579     YY_BREAK
03580 case 57:
03581 YY_RULE_SETUP
03582 #line 309 "php_lexer.l"
03583 {
03584     return T_STRING_CAST;
03585 }
03586     YY_BREAK
03587 case 58:
03588 YY_RULE_SETUP
03589 #line 313 "php_lexer.l"
03590 {
03591     return T_ARRAY_CAST;
03592 }
03593     YY_BREAK
03594 case 59:
03595 YY_RULE_SETUP
03596 #line 317 "php_lexer.l"
03597 {
03598     return T_OBJECT_CAST;
03599 }
03600     YY_BREAK
03601 case 60:
03602 YY_RULE_SETUP
03603 #line 321 "php_lexer.l"
03604 {
03605     return T_BOOL_CAST;
03606 }
03607     YY_BREAK
03608 case 61:
03609 YY_RULE_SETUP
03610 #line 325 "php_lexer.l"
03611 {
03612     return T_UNSET_CAST;
03613 }
03614     YY_BREAK
03615 case 62:
03616 YY_RULE_SETUP
03617 #line 329 "php_lexer.l"
03618 {
03619     return T_EVAL;
03620 }
03621     YY_BREAK
03622 case 63:
03623 YY_RULE_SETUP
03624 #line 333 "php_lexer.l"
03625 {
03626     return T_INCLUDE;
03627 }
03628     YY_BREAK
03629 case 64:
03630 YY_RULE_SETUP
03631 #line 337 "php_lexer.l"
03632 {
03633     return T_INCLUDE_ONCE;
03634 }
03635     YY_BREAK
03636 case 65:
03637 YY_RULE_SETUP
03638 #line 341 "php_lexer.l"
03639 {
03640     return T_REQUIRE;
03641 }
03642     YY_BREAK
03643 case 66:
03644 YY_RULE_SETUP
03645 #line 345 "php_lexer.l"
03646 {
03647     return T_REQUIRE_ONCE;
03648 }
03649     YY_BREAK
03650 case 67:
03651 YY_RULE_SETUP
03652 #line 349 "php_lexer.l"
03653 {
03654     return T_USE;
03655 }
03656     YY_BREAK
03657 case 68:
03658 YY_RULE_SETUP
03659 #line 353 "php_lexer.l"
03660 {
03661     return T_GLOBAL;
03662 }
03663     YY_BREAK
03664 case 69:
03665 YY_RULE_SETUP
03666 #line 357 "php_lexer.l"
03667 {
03668     return T_ISSET;
03669 }
03670     YY_BREAK
03671 case 70:
03672 YY_RULE_SETUP
03673 #line 361 "php_lexer.l"
03674 {
03675     return T_EMPTY;
03676 }
03677     YY_BREAK
03678 case 71:
03679 YY_RULE_SETUP
03680 #line 365 "php_lexer.l"
03681 {
03682     return T_HALT_COMPILER;
03683 }
03684     YY_BREAK
03685 case 72:
03686 YY_RULE_SETUP
03687 #line 369 "php_lexer.l"
03688 {
03689     return T_STATIC;
03690 }
03691     YY_BREAK
03692 case 73:
03693 YY_RULE_SETUP
03694 #line 373 "php_lexer.l"
03695 {
03696     return T_ABSTRACT;
03697 }
03698     YY_BREAK
03699 case 74:
03700 YY_RULE_SETUP
03701 #line 377 "php_lexer.l"
03702 {
03703     return T_FINAL;
03704 }
03705     YY_BREAK
03706 case 75:
03707 YY_RULE_SETUP
03708 #line 381 "php_lexer.l"
03709 {
03710     return T_PRIVATE;
03711 }
03712     YY_BREAK
03713 case 76:
03714 YY_RULE_SETUP
03715 #line 385 "php_lexer.l"
03716 {
03717     return T_PROTECTED;
03718 }
03719     YY_BREAK
03720 case 77:
03721 YY_RULE_SETUP
03722 #line 389 "php_lexer.l"
03723 {
03724     return T_PUBLIC;
03725 }
03726     YY_BREAK
03727 case 78:
03728 YY_RULE_SETUP
03729 #line 393 "php_lexer.l"
03730 {
03731     return T_UNSET;
03732 }
03733     YY_BREAK
03734 case 79:
03735 YY_RULE_SETUP
03736 #line 397 "php_lexer.l"
03737 {
03738     return T_DOUBLE_ARROW;
03739 }
03740     YY_BREAK
03741 case 80:
03742 YY_RULE_SETUP
03743 #line 401 "php_lexer.l"
03744 {
03745     return T_LIST;
03746 }
03747     YY_BREAK
03748 case 81:
03749 YY_RULE_SETUP
03750 #line 405 "php_lexer.l"
03751 {
03752     return T_ARRAY;
03753 }
03754     YY_BREAK
03755 case 82:
03756 YY_RULE_SETUP
03757 #line 409 "php_lexer.l"
03758 {
03759     return T_INC;
03760 }
03761     YY_BREAK
03762 case 83:
03763 YY_RULE_SETUP
03764 #line 413 "php_lexer.l"
03765 {
03766     return T_DEC;
03767 }
03768     YY_BREAK
03769 case 84:
03770 YY_RULE_SETUP
03771 #line 417 "php_lexer.l"
03772 {
03773     return T_IS_IDENTICAL;
03774 }
03775     YY_BREAK
03776 case 85:
03777 YY_RULE_SETUP
03778 #line 421 "php_lexer.l"
03779 {
03780     return T_IS_NOT_IDENTICAL;
03781 }
03782     YY_BREAK
03783 case 86:
03784 YY_RULE_SETUP
03785 #line 425 "php_lexer.l"
03786 {
03787     return T_IS_EQUAL;
03788 }
03789     YY_BREAK
03790 case 87:
03791 YY_RULE_SETUP
03792 #line 429 "php_lexer.l"
03793 {
03794     return T_IS_NOT_EQUAL;
03795 }
03796     YY_BREAK
03797 case 88:
03798 YY_RULE_SETUP
03799 #line 433 "php_lexer.l"
03800 {
03801     return T_IS_SMALLER_OR_EQUAL;
03802 }
03803     YY_BREAK
03804 case 89:
03805 YY_RULE_SETUP
03806 #line 437 "php_lexer.l"
03807 {
03808     return T_IS_GREATER_OR_EQUAL;
03809 }
03810     YY_BREAK
03811 case 90:
03812 YY_RULE_SETUP
03813 #line 441 "php_lexer.l"
03814 {
03815     return T_PLUS_EQUAL;
03816 }
03817     YY_BREAK
03818 case 91:
03819 YY_RULE_SETUP
03820 #line 445 "php_lexer.l"
03821 {
03822     return T_MINUS_EQUAL;
03823 }
03824     YY_BREAK
03825 case 92:
03826 YY_RULE_SETUP
03827 #line 449 "php_lexer.l"
03828 {
03829     return T_MUL_EQUAL;
03830 }
03831     YY_BREAK
03832 case 93:
03833 YY_RULE_SETUP
03834 #line 453 "php_lexer.l"
03835 {
03836     return T_DIV_EQUAL;
03837 }
03838     YY_BREAK
03839 case 94:
03840 YY_RULE_SETUP
03841 #line 457 "php_lexer.l"
03842 {
03843     return T_CONCAT_EQUAL;
03844 }
03845     YY_BREAK
03846 case 95:
03847 YY_RULE_SETUP
03848 #line 461 "php_lexer.l"
03849 {
03850     return T_MOD_EQUAL;
03851 }
03852     YY_BREAK
03853 case 96:
03854 YY_RULE_SETUP
03855 #line 465 "php_lexer.l"
03856 {
03857     return T_SL_EQUAL;
03858 }
03859     YY_BREAK
03860 case 97:
03861 YY_RULE_SETUP
03862 #line 469 "php_lexer.l"
03863 {
03864     return T_SR_EQUAL;
03865 }
03866     YY_BREAK
03867 case 98:
03868 YY_RULE_SETUP
03869 #line 473 "php_lexer.l"
03870 {
03871     return T_AND_EQUAL;
03872 }
03873     YY_BREAK
03874 case 99:
03875 YY_RULE_SETUP
03876 #line 477 "php_lexer.l"
03877 {
03878     return T_OR_EQUAL;
03879 }
03880     YY_BREAK
03881 case 100:
03882 YY_RULE_SETUP
03883 #line 481 "php_lexer.l"
03884 {
03885     return T_XOR_EQUAL;
03886 }
03887     YY_BREAK
03888 case 101:
03889 YY_RULE_SETUP
03890 #line 485 "php_lexer.l"
03891 {
03892     return T_BOOLEAN_OR;
03893 }
03894     YY_BREAK
03895 case 102:
03896 YY_RULE_SETUP
03897 #line 489 "php_lexer.l"
03898 {
03899     return T_BOOLEAN_AND;
03900 }
03901     YY_BREAK
03902 case 103:
03903 YY_RULE_SETUP
03904 #line 493 "php_lexer.l"
03905 {
03906     return T_LOGICAL_OR;
03907 }
03908     YY_BREAK
03909 case 104:
03910 YY_RULE_SETUP
03911 #line 497 "php_lexer.l"
03912 {
03913     return T_LOGICAL_AND;
03914 }
03915     YY_BREAK
03916 case 105:
03917 YY_RULE_SETUP
03918 #line 501 "php_lexer.l"
03919 {
03920     return T_LOGICAL_XOR;
03921 }
03922     YY_BREAK
03923 case 106:
03924 YY_RULE_SETUP
03925 #line 505 "php_lexer.l"
03926 {
03927     return T_SL;
03928 }
03929     YY_BREAK
03930 case 107:
03931 YY_RULE_SETUP
03932 #line 509 "php_lexer.l"
03933 {
03934     return T_SR;
03935 }
03936     YY_BREAK
03937 case 108:
03938 YY_RULE_SETUP
03939 #line 513 "php_lexer.l"
03940 {
03941     return yytext[0];
03942 }
03943     YY_BREAK
03944 case 109:
03945 YY_RULE_SETUP
03946 #line 518 "php_lexer.l"
03947 {
03948     yy_push_state(ST_IN_SCRIPTING);
03949     return '{';
03950 }
03951     YY_BREAK
03952 case 110:
03953 YY_RULE_SETUP
03954 #line 524 "php_lexer.l"
03955 {
03956     yy_push_state(ST_LOOKING_FOR_VARNAME);
03957     return T_DOLLAR_OPEN_CURLY_BRACES;
03958 }
03959     YY_BREAK
03960 case 111:
03961 YY_RULE_SETUP
03962 #line 530 "php_lexer.l"
03963 {
03964     /* This is a temporary fix which is dependant on flex and it's implementation */
03965     if (yy_start_stack_ptr) {
03966         yy_pop_state();
03967     }
03968     return '}';
03969 }
03970     YY_BREAK
03971 case 112:
03972 YY_RULE_SETUP
03973 #line 539 "php_lexer.l"
03974 {
03975     yy_pop_state();
03976     yy_push_state(ST_IN_SCRIPTING);
03977     return T_STRING_VARNAME;
03978 }
03979     YY_BREAK
03980 case 113:
03981 /* rule 113 can match eol */
03982 YY_RULE_SETUP
03983 #line 546 "php_lexer.l"
03984 {
03985     yyless(0);
03986     yy_pop_state();
03987     yy_push_state(ST_IN_SCRIPTING);
03988 }
03989     YY_BREAK
03990 case 114:
03991 YY_RULE_SETUP
03992 #line 553 "php_lexer.l"
03993 {
03994     return T_LNUMBER;
03995 }
03996     YY_BREAK
03997 case 115:
03998 YY_RULE_SETUP
03999 #line 557 "php_lexer.l"
04000 {
04001     return T_LNUMBER;
04002 }
04003     YY_BREAK
04004 case 116:
04005 YY_RULE_SETUP
04006 #line 561 "php_lexer.l"
04007 { /* treat numbers (almost) as strings inside encapsulated strings */
04008     return T_NUM_STRING;
04009 }
04010     YY_BREAK
04011 case 117:
04012 YY_RULE_SETUP
04013 #line 565 "php_lexer.l"
04014 {
04015     return T_DNUMBER;
04016 }
04017     YY_BREAK
04018 case 118:
04019 YY_RULE_SETUP
04020 #line 569 "php_lexer.l"
04021 {
04022     return T_CLASS_C;
04023 }
04024     YY_BREAK
04025 case 119:
04026 YY_RULE_SETUP
04027 #line 573 "php_lexer.l"
04028 {
04029     return T_FUNC_C;
04030 }
04031     YY_BREAK
04032 case 120:
04033 YY_RULE_SETUP
04034 #line 577 "php_lexer.l"
04035 {
04036     return T_METHOD_C;
04037 }
04038     YY_BREAK
04039 case 121:
04040 YY_RULE_SETUP
04041 #line 581 "php_lexer.l"
04042 {
04043     return T_LINE;
04044 }
04045     YY_BREAK
04046 case 122:
04047 YY_RULE_SETUP
04048 #line 585 "php_lexer.l"
04049 {
04050     return T_FILE;
04051 }
04052     YY_BREAK
04053 case 123:
04054 /* rule 123 can match eol */
04055 YY_RULE_SETUP
04056 #line 589 "php_lexer.l"
04057 {
04058     return T_INLINE_HTML;
04059 }
04060     YY_BREAK
04061 case 124:
04062 /* rule 124 can match eol */
04063 YY_RULE_SETUP
04064 #line 593 "php_lexer.l"
04065 {
04066     if (short_tags || yyleng>2) { /* yyleng>2 means it's not <? but <script> */
04067         /* no copying - intentional */
04068         BEGIN(ST_IN_SCRIPTING);
04069         //return T_OPEN_TAG;
04070     } else {
04071         return T_INLINE_HTML;
04072     }
04073 }
04074     YY_BREAK
04075 case 125:
04076 YY_RULE_SETUP
04077 #line 603 "php_lexer.l"
04078 {
04079     if ((yytext[1]=='%' && asp_tags) || (yytext[1]=='?' && short_tags)) {
04080         BEGIN(ST_IN_SCRIPTING);
04081         //return T_OPEN_TAG_WITH_ECHO;
04082         //return T_ECHO;
04083     } else {
04084         return T_INLINE_HTML;
04085     }
04086 }
04087     YY_BREAK
04088 case 126:
04089 YY_RULE_SETUP
04090 #line 614 "php_lexer.l"
04091 {
04092     if(asp_tags){
04093         BEGIN(ST_IN_SCRIPTING);
04094         //return T_OPEN_TAG;
04095     } else {
04096         return T_INLINE_HTML;
04097     }
04098 }
04099     YY_BREAK
04100 case 127:
04101 /* rule 127 can match eol */
04102 YY_RULE_SETUP
04103 #line 623 "php_lexer.l"
04104 {
04105     BEGIN(ST_IN_SCRIPTING);
04106     //return T_OPEN_TAG;
04107 }
04108     YY_BREAK
04109 case 128:
04110 YY_RULE_SETUP
04111 #line 628 "php_lexer.l"
04112 {
04113     return T_VARIABLE;
04114 }
04115     YY_BREAK
04116 case 129:
04117 YY_RULE_SETUP
04118 #line 632 "php_lexer.l"
04119 {
04120     return T_STRING;
04121 }
04122     YY_BREAK
04123 case 130:
04124 YY_RULE_SETUP
04125 #line 636 "php_lexer.l"
04126 {
04127     return T_STRING;
04128 }
04129     YY_BREAK
04130 case 131:
04131 /* rule 131 can match eol */
04132 YY_RULE_SETUP
04133 #line 641 "php_lexer.l"
04134 {
04135     //return T_WHITESPACE;
04136 }
04137     YY_BREAK
04138 case 132:
04139 YY_RULE_SETUP
04140 #line 646 "php_lexer.l"
04141 {
04142     BEGIN(ST_ONE_LINE_COMMENT);
04143     yymore();
04144 }
04145     YY_BREAK
04146 case 133:
04147 YY_RULE_SETUP
04148 #line 651 "php_lexer.l"
04149 {
04150     yymore();
04151 }
04152     YY_BREAK
04153 case 134:
04154 /* rule 134 can match eol */
04155 YY_RULE_SETUP
04156 #line 655 "php_lexer.l"
04157 {
04158     switch (yytext[yyleng-1]) {
04159         case '?': case '%': case '>':
04160             yyless(yyleng-1);
04161             yymore();
04162             break;
04163         case '\n':
04164             lineno++;
04165             /* intentional fall through */
04166         default:
04167             BEGIN(ST_IN_SCRIPTING);
04168             //return T_COMMENT;
04169     }
04170 }
04171     YY_BREAK
04172 case 135:
04173 /* rule 135 can match eol */
04174 YY_RULE_SETUP
04175 #line 670 "php_lexer.l"
04176 {
04177     BEGIN(ST_IN_SCRIPTING);
04178     lineno++;
04179     //return T_COMMENT;
04180 }
04181     YY_BREAK
04182 case 136:
04183 YY_RULE_SETUP
04184 #line 676 "php_lexer.l"
04185 {
04186     if (asp_tags || yytext[yyleng-2] != '%') { /* asp comment? */
04187         yyless(yyleng-2);
04188         BEGIN(ST_IN_SCRIPTING);
04189         //return T_COMMENT;
04190     } else {
04191         yymore();
04192     }
04193 }
04194     YY_BREAK
04195 case 137:
04196 /* rule 137 can match eol */
04197 YY_RULE_SETUP
04198 #line 686 "php_lexer.l"
04199 {
04200     comment_start_line = lineno;
04201     BEGIN(ST_DOC_COMMENT);
04202     yymore();
04203 }
04204     YY_BREAK
04205 case 138:
04206 YY_RULE_SETUP
04207 #line 692 "php_lexer.l"
04208 {
04209     comment_start_line = lineno;
04210     BEGIN(ST_COMMENT);
04211     yymore();
04212 }
04213     YY_BREAK
04214 case 139:
04215 /* rule 139 can match eol */
04216 YY_RULE_SETUP
04217 #line 699 "php_lexer.l"
04218 {
04219     yymore();
04220 }
04221     YY_BREAK
04222 case 140:
04223 YY_RULE_SETUP
04224 #line 703 "php_lexer.l"
04225 {
04226     BEGIN(ST_IN_SCRIPTING);
04227     //return T_DOC_COMMENT;
04228 }
04229     YY_BREAK
04230 case 141:
04231 YY_RULE_SETUP
04232 #line 708 "php_lexer.l"
04233 {
04234     BEGIN(ST_IN_SCRIPTING);
04235     //return T_COMMENT;
04236 }
04237     YY_BREAK
04238 case 142:
04239 YY_RULE_SETUP
04240 #line 713 "php_lexer.l"
04241 {
04242     yymore();
04243 }
04244     YY_BREAK
04245 case 143:
04246 /* rule 143 can match eol */
04247 YY_RULE_SETUP
04248 #line 717 "php_lexer.l"
04249 {
04250     BEGIN(INITIAL);
04251     //return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
04252 }
04253     YY_BREAK
04254 case 144:
04255 /* rule 144 can match eol */
04256 YY_RULE_SETUP
04257 #line 723 "php_lexer.l"
04258 {
04259     if (asp_tags) {
04260         BEGIN(INITIAL);
04261         //return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
04262     } else {
04263         yyless(1);
04264         return yytext[0];
04265     }
04266 }
04267     YY_BREAK
04268 case 145:
04269 /* rule 145 can match eol */
04270 YY_RULE_SETUP
04271 #line 734 "php_lexer.l"
04272 {
04273     /*register char *s, *t;
04274     char *end;
04275      convert escape sequences 
04276     s = t = estrndup(yytext+1, yyleng-2);;
04277     end = s+yyleng-2;*/
04278     return T_CONSTANT_ENCAPSED_STRING;
04279 }
04280     YY_BREAK
04281 case 146:
04282 /* rule 146 can match eol */
04283 YY_RULE_SETUP
04284 #line 744 "php_lexer.l"
04285 {
04286 
04287     register char *s, *t;
04288     char *end;
04289 
04290 
04291     /* convert escape sequences 
04292     s = t = estrndup(yytext+1, yyleng-2);
04293     end = s+yyleng-2;
04294     while (s<end) {
04295         if (*s=='\\') {
04296             s++;
04297             if (s>=end) {
04298                 continue;
04299             }
04300             switch(*s) {
04301                 case '\\':
04302                 case '\'':
04303                     *t++ = *s;
04304                     end--;
04305                     break;
04306                 default:
04307                     *t++ = '\\';
04308                     *t++ = *s;
04309                     break;
04310             }
04311             s++;
04312         } else {
04313             *t++ = *s++;
04314         }
04315     }
04316     *t = 0;
04317 */
04318     return T_CONSTANT_ENCAPSED_STRING;
04319 }
04320     YY_BREAK
04321 case 147:
04322 YY_RULE_SETUP
04323 #line 781 "php_lexer.l"
04324 {
04325     BEGIN(ST_DOUBLE_QUOTES);
04326     return '\"';
04327 }
04328     YY_BREAK
04329 case 148:
04330 /* rule 148 can match eol */
04331 YY_RULE_SETUP
04332 #line 787 "php_lexer.l"
04333 {
04334     BEGIN(ST_HEREDOC);
04335     return T_START_HEREDOC;
04336 }
04337     YY_BREAK
04338 case 149:
04339 YY_RULE_SETUP
04340 #line 793 "php_lexer.l"
04341 {
04342     BEGIN(ST_BACKQUOTE);
04343     return '`';
04344 }
04345     YY_BREAK
04346 case 150:
04347 YY_RULE_SETUP
04348 #line 799 "php_lexer.l"
04349 {
04350     BEGIN(ST_SINGLE_QUOTE);
04351     return '\'';
04352 }
04353     YY_BREAK
04354 case 151:
04355 /* rule 151 can match eol */
04356 YY_RULE_SETUP
04357 #line 805 "php_lexer.l"
04358 {
04359     int label_len;
04360 
04361     lineno++;
04362     if (yytext[yyleng-2]=='\r') {
04363         label_len = yyleng-2;
04364     } else {
04365         label_len = yyleng-1;
04366     }
04367 
04368     if (yytext[label_len-1]==';') {
04369         label_len--;
04370     }
04371 
04372     if (label_len==heredoc_len && !memcmp(yytext, heredoc, label_len)) {
04373         yyless(yyleng - (yyleng - label_len));
04374         BEGIN(ST_IN_SCRIPTING);
04375         return T_END_HEREDOC;
04376     } else {
04377         return T_STRING;
04378     }
04379 }
04380     YY_BREAK
04381 case 152:
04382 /* rule 152 can match eol */
04383 YY_RULE_SETUP
04384 #line 829 "php_lexer.l"
04385 {
04386     return T_ENCAPSED_AND_WHITESPACE;
04387 }
04388     YY_BREAK
04389 case 153:
04390 /* rule 153 can match eol */
04391 YY_RULE_SETUP
04392 #line 833 "php_lexer.l"
04393 {
04394     return T_ENCAPSED_AND_WHITESPACE;
04395 }
04396     YY_BREAK
04397 case 154:
04398 YY_RULE_SETUP
04399 #line 837 "php_lexer.l"
04400 {
04401     return T_ENCAPSED_AND_WHITESPACE;
04402 }
04403     YY_BREAK
04404 case 155:
04405 YY_RULE_SETUP
04406 #line 842 "php_lexer.l"
04407 {
04408     return T_ENCAPSED_AND_WHITESPACE;
04409 }
04410     YY_BREAK
04411 case 156:
04412 /* rule 156 can match eol */
04413 YY_RULE_SETUP
04414 #line 846 "php_lexer.l"
04415 {
04416     if (yyleng == 2) {
04417         yyless(1);
04418     }
04419     return T_CHARACTER;
04420 }
04421     YY_BREAK
04422 case 157:
04423 YY_RULE_SETUP
04424 #line 854 "php_lexer.l"
04425 {
04426     return yytext[0];
04427 }
04428     YY_BREAK
04429 case 158:
04430 YY_RULE_SETUP
04431 #line 858 "php_lexer.l"
04432 {
04433     return T_STRING;
04434 }
04435     YY_BREAK
04436 case 159:
04437 YY_RULE_SETUP
04438 #line 862 "php_lexer.l"
04439 {
04440     yy_push_state(ST_IN_SCRIPTING);
04441     yyless(1);
04442     return T_CURLY_OPEN;
04443 }
04444     YY_BREAK
04445 case 160:
04446 YY_RULE_SETUP
04447 #line 869 "php_lexer.l"
04448 {
04449     return T_CHARACTER;
04450 }
04451     YY_BREAK
04452 case 161:
04453 YY_RULE_SETUP
04454 #line 873 "php_lexer.l"
04455 {
04456     return T_CHARACTER;
04457 }
04458     YY_BREAK
04459 case 162:
04460 YY_RULE_SETUP
04461 #line 877 "php_lexer.l"
04462 {
04463     return T_CHARACTER;
04464 }
04465     YY_BREAK
04466 case 163:
04467 YY_RULE_SETUP
04468 #line 881 "php_lexer.l"
04469 {
04470     return T_CHARACTER;
04471 }
04472     YY_BREAK
04473 case 164:
04474 YY_RULE_SETUP
04475 #line 885 "php_lexer.l"
04476 {
04477     return T_CHARACTER;
04478 }
04479     YY_BREAK
04480 case 165:
04481 YY_RULE_SETUP
04482 #line 889 "php_lexer.l"
04483 {
04484     return T_CHARACTER;
04485 }
04486     YY_BREAK
04487 case 166:
04488 /* rule 166 can match eol */
04489 YY_RULE_SETUP
04490 #line 893 "php_lexer.l"
04491 {
04492     switch (yytext[1]) {
04493         case 'n': break;
04494         case 't': break;
04495         case 'r': break;
04496         case '\\': break;
04497         case '$': break;
04498         default:
04499             return T_BAD_CHARACTER;
04500             break;
04501     }
04502     return T_CHARACTER;
04503 }
04504     YY_BREAK
04505 case 167:
04506 YY_RULE_SETUP
04507 #line 908 "php_lexer.l"
04508 {
04509     return T_ENCAPSED_AND_WHITESPACE;
04510 }
04511     YY_BREAK
04512 case 168:
04513 YY_RULE_SETUP
04514 #line 913 "php_lexer.l"
04515 {
04516     BEGIN(ST_IN_SCRIPTING);
04517     return '\"';
04518 }
04519     YY_BREAK
04520 case 169:
04521 YY_RULE_SETUP
04522 #line 919 "php_lexer.l"
04523 {
04524     BEGIN(ST_IN_SCRIPTING);
04525     return '`';
04526 }
04527     YY_BREAK
04528 case 170:
04529 YY_RULE_SETUP
04530 #line 925 "php_lexer.l"
04531 {
04532     BEGIN(ST_IN_SCRIPTING);
04533     return '\'';
04534 }
04535     YY_BREAK
04536 case YY_STATE_EOF(ST_DOUBLE_QUOTES):
04537 case YY_STATE_EOF(ST_BACKQUOTE):
04538 case YY_STATE_EOF(INITIAL):
04539 case YY_STATE_EOF(ST_IN_SCRIPTING):
04540 case YY_STATE_EOF(ST_LOOKING_FOR_PROPERTY):
04541 #line 931 "php_lexer.l"
04542 {
04543     return 0;
04544 }
04545     YY_BREAK
04546 case YY_STATE_EOF(ST_COMMENT):
04547 case YY_STATE_EOF(ST_DOC_COMMENT):
04548 #line 935 "php_lexer.l"
04549 {
04550     printf("Unterminated comment starting line %d", comment_start_line);
04551     return 0;
04552 }
04553     YY_BREAK
04554 case 171:
04555 /* rule 171 can match eol */
04556 YY_RULE_SETUP
04557 #line 940 "php_lexer.l"
04558 {
04559     printf("Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
04560 }
04561     YY_BREAK
04562 case 172:
04563 YY_RULE_SETUP
04564 #line 943 "php_lexer.l"
04565 ECHO;
04566     YY_BREAK
04567 #line 4568 "php_lexer.c"
04568 case YY_STATE_EOF(ST_SINGLE_QUOTE):
04569 case YY_STATE_EOF(ST_HEREDOC):
04570 case YY_STATE_EOF(ST_LOOKING_FOR_VARNAME):
04571 case YY_STATE_EOF(ST_ONE_LINE_COMMENT):
04572     yyterminate();
04573 
04574     case YY_END_OF_BUFFER:
04575         {
04576         /* Amount of text matched not including the EOB char. */
04577         int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
04578 
04579         /* Undo the effects of YY_DO_BEFORE_ACTION. */
04580         *yy_cp = (yy_hold_char);
04581         YY_RESTORE_YY_MORE_OFFSET
04582 
04583         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
04584             {
04585             /* We're scanning a new file or input source.  It's
04586              * possible that this happened because the user
04587              * just pointed yyin at a new source and called
04588              * yylex().  If so, then we have to assure
04589              * consistency between YY_CURRENT_BUFFER and our
04590              * globals.  Here is the right place to do so, because
04591              * this is the first action (other than possibly a
04592              * back-up) that will match for the new input source.
04593              */
04594             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
04595             YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
04596             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
04597             }
04598 
04599         /* Note that here we test for yy_c_buf_p "<=" to the position
04600          * of the first EOB in the buffer, since yy_c_buf_p will
04601          * already have been incremented past the NUL character
04602          * (since all states make transitions on EOB to the
04603          * end-of-buffer state).  Contrast this with the test
04604          * in input().
04605          */
04606         if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
04607             { /* This was really a NUL. */
04608             yy_state_type yy_next_state;
04609 
04610             (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
04611 
04612             yy_current_state = yy_get_previous_state(  );
04613 
04614             /* Okay, we're now positioned to make the NUL
04615              * transition.  We couldn't have
04616              * yy_get_previous_state() go ahead and do it
04617              * for us because it doesn't know how to deal
04618              * with the possibility of jamming (and we don't
04619              * want to build jamming into it because then it
04620              * will run more slowly).
04621              */
04622 
04623             yy_next_state = yy_try_NUL_trans( yy_current_state );
04624 
04625             yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04626 
04627             if ( yy_next_state )
04628                 {
04629                 /* Consume the NUL. */
04630                 yy_cp = ++(yy_c_buf_p);
04631                 yy_current_state = yy_next_state;
04632                 goto yy_match;
04633                 }
04634 
04635             else
04636                 {
04637                 yy_cp = (yy_c_buf_p);
04638                 goto yy_find_action;
04639                 }
04640             }
04641 
04642         else switch ( yy_get_next_buffer(  ) )
04643             {
04644             case EOB_ACT_END_OF_FILE:
04645                 {
04646                 (yy_did_buffer_switch_on_eof) = 0;
04647 
04648                 if ( yywrap( ) )
04649                     {
04650                     /* Note: because we've taken care in
04651                      * yy_get_next_buffer() to have set up
04652                      * yytext, we can now set up
04653                      * yy_c_buf_p so that if some total
04654                      * hoser (like flex itself) wants to
04655                      * call the scanner after we return the
04656                      * YY_NULL, it'll still work - another
04657                      * YY_NULL will get returned.
04658                      */
04659                     (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
04660 
04661                     yy_act = YY_STATE_EOF(YY_START);
04662                     goto do_action;
04663                     }
04664 
04665                 else
04666                     {
04667                     if ( ! (yy_did_buffer_switch_on_eof) )
04668                         YY_NEW_FILE;
04669                     }
04670                 break;
04671                 }
04672 
04673             case EOB_ACT_CONTINUE_SCAN:
04674                 (yy_c_buf_p) =
04675                     (yytext_ptr) + yy_amount_of_matched_text;
04676 
04677                 yy_current_state = yy_get_previous_state(  );
04678 
04679                 yy_cp = (yy_c_buf_p);
04680                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04681                 goto yy_match;
04682 
04683             case EOB_ACT_LAST_MATCH:
04684                 (yy_c_buf_p) =
04685                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
04686 
04687                 yy_current_state = yy_get_previous_state(  );
04688 
04689                 yy_cp = (yy_c_buf_p);
04690                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04691                 goto yy_find_action;
04692             }
04693         break;
04694         }
04695 
04696     default:
04697         YY_FATAL_ERROR(
04698             "fatal flex scanner internal error--no action found" );
04699     } /* end of action switch */
04700         } /* end of scanning one token */
04701 } /* end of yylex */
04702 
04703 /* yy_get_next_buffer - try to read in a new buffer
04704  *
04705  * Returns a code representing an action:
04706  *  EOB_ACT_LAST_MATCH -
04707  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
04708  *  EOB_ACT_END_OF_FILE - end of file
04709  */
04710 static int yy_get_next_buffer (void)
04711 {
04712         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
04713     register char *source = (yytext_ptr);
04714     register int number_to_move, i;
04715     int ret_val;
04716 
04717     if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
04718         YY_FATAL_ERROR(
04719         "fatal flex scanner internal error--end of buffer missed" );
04720 
04721     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
04722         { /* Don't try to fill the buffer, so this is an EOF. */
04723         if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
04724             {
04725             /* We matched a single character, the EOB, so
04726              * treat this as a final EOF.
04727              */
04728             return EOB_ACT_END_OF_FILE;
04729             }
04730 
04731         else
04732             {
04733             /* We matched some text prior to the EOB, first
04734              * process it.
04735              */
04736             return EOB_ACT_LAST_MATCH;
04737             }
04738         }
04739 
04740     /* Try to read more data. */
04741 
04742     /* First move last chars to start of buffer. */
04743     number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
04744 
04745     for ( i = 0; i < number_to_move; ++i )
04746         *(dest++) = *(source++);
04747 
04748     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
04749         /* don't do the read, it's not guaranteed to return an EOF,
04750          * just force an EOF
04751          */
04752         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
04753 
04754     else
04755         {
04756             int num_to_read =
04757             YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
04758 
04759         while ( num_to_read <= 0 )
04760             { /* Not enough room in the buffer - grow it. */
04761 
04762             /* just a shorter name for the current buffer */
04763             YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
04764 
04765             int yy_c_buf_p_offset =
04766                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
04767 
04768             if ( b->yy_is_our_buffer )
04769                 {
04770                 int new_size = b->yy_buf_size * 2;
04771 
04772                 if ( new_size <= 0 )
04773                     b->yy_buf_size += b->yy_buf_size / 8;
04774                 else
04775                     b->yy_buf_size *= 2;
04776 
04777                 b->yy_ch_buf = (char *)
04778                     /* Include room in for 2 EOB chars. */
04779                     yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
04780                 }
04781             else
04782                 /* Can't grow it, we don't own it. */
04783                 b->yy_ch_buf = 0;
04784 
04785             if ( ! b->yy_ch_buf )
04786                 YY_FATAL_ERROR(
04787                 "fatal error - scanner input buffer overflow" );
04788 
04789             (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
04790 
04791             num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
04792                         number_to_move - 1;
04793 
04794             }
04795 
04796         if ( num_to_read > YY_READ_BUF_SIZE )
04797             num_to_read = YY_READ_BUF_SIZE;
04798 
04799         /* Read in more data. */
04800         YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
04801             (yy_n_chars), num_to_read );
04802 
04803         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
04804         }
04805 
04806     if ( (yy_n_chars) == 0 )
04807         {
04808         if ( number_to_move == YY_MORE_ADJ )
04809             {
04810             ret_val = EOB_ACT_END_OF_FILE;
04811             yyrestart(yyin  );
04812             }
04813 
04814         else
04815             {
04816             ret_val = EOB_ACT_LAST_MATCH;
04817             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
04818                 YY_BUFFER_EOF_PENDING;
04819             }
04820         }
04821 
04822     else
04823         ret_val = EOB_ACT_CONTINUE_SCAN;
04824 
04825     (yy_n_chars) += number_to_move;
04826     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
04827     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
04828 
04829     (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
04830 
04831     return ret_val;
04832 }
04833 
04834 /* yy_get_previous_state - get the state just before the EOB char was reached */
04835 
04836     static yy_state_type yy_get_previous_state (void)
04837 {
04838     register yy_state_type yy_current_state;
04839     register char *yy_cp;
04840     
04841     yy_current_state = (yy_start);
04842     yy_current_state += YY_AT_BOL();
04843 
04844     for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
04845         {
04846         register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
04847         if ( yy_accept[yy_current_state] )
04848             {
04849             (yy_last_accepting_state) = yy_current_state;
04850             (yy_last_accepting_cpos) = yy_cp;
04851             }
04852         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04853             {
04854             yy_current_state = (int) yy_def[yy_current_state];
04855             if ( yy_current_state >= 1454 )
04856                 yy_c = yy_meta[(unsigned int) yy_c];
04857             }
04858         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04859         }
04860 
04861     return yy_current_state;
04862 }
04863 
04864 /* yy_try_NUL_trans - try to make a transition on the NUL character
04865  *
04866  * synopsis
04867  *  next_state = yy_try_NUL_trans( current_state );
04868  */
04869     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
04870 {
04871     register int yy_is_jam;
04872         register char *yy_cp = (yy_c_buf_p);
04873 
04874     register YY_CHAR yy_c = 1;
04875     if ( yy_accept[yy_current_state] )
04876         {
04877         (yy_last_accepting_state) = yy_current_state;
04878         (yy_last_accepting_cpos) = yy_cp;
04879         }
04880     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04881         {
04882         yy_current_state = (int) yy_def[yy_current_state];
04883         if ( yy_current_state >= 1454 )
04884             yy_c = yy_meta[(unsigned int) yy_c];
04885         }
04886     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04887     yy_is_jam = (yy_current_state == 1453);
04888 
04889     return yy_is_jam ? 0 : yy_current_state;
04890 }
04891 
04892     static void yyunput (int c, register char * yy_bp )
04893 {
04894     register char *yy_cp;
04895     
04896     yy_cp = (yy_c_buf_p);
04897 
04898     /* undo effects of setting up yytext */
04899     *yy_cp = (yy_hold_char);
04900 
04901     if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
04902         { /* need to shift things up to make room */
04903         /* +2 for EOB chars. */
04904         register int number_to_move = (yy_n_chars) + 2;
04905         register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
04906                     YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
04907         register char *source =
04908                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
04909 
04910         while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
04911             *--dest = *--source;
04912 
04913         yy_cp += (int) (dest - source);
04914         yy_bp += (int) (dest - source);
04915         YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
04916             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
04917 
04918         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
04919             YY_FATAL_ERROR( "flex scanner push-back overflow" );
04920         }
04921 
04922     *--yy_cp = (char) c;
04923 
04924     if ( c == '\n' ){
04925         --yylineno;
04926     }
04927 
04928     (yytext_ptr) = yy_bp;
04929     (yy_hold_char) = *yy_cp;
04930     (yy_c_buf_p) = yy_cp;
04931 }
04932 
04933 #ifndef YY_NO_INPUT
04934 #ifdef __cplusplus
04935     static int yyinput (void)
04936 #else
04937     static int input  (void)
04938 #endif
04939 
04940 {
04941     int c;
04942     
04943     *(yy_c_buf_p) = (yy_hold_char);
04944 
04945     if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
04946         {
04947         /* yy_c_buf_p now points to the character we want to return.
04948          * If this occurs *before* the EOB characters, then it's a
04949          * valid NUL; if not, then we've hit the end of the buffer.
04950          */
04951         if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
04952             /* This was really a NUL. */
04953             *(yy_c_buf_p) = '\0';
04954 
04955         else
04956             { /* need more input */
04957             int offset = (yy_c_buf_p) - (yytext_ptr);
04958             ++(yy_c_buf_p);
04959 
04960             switch ( yy_get_next_buffer(  ) )
04961                 {
04962                 case EOB_ACT_LAST_MATCH:
04963                     /* This happens because yy_g_n_b()
04964                      * sees that we've accumulated a
04965                      * token and flags that we need to
04966                      * try matching the token before
04967                      * proceeding.  But for input(),
04968                      * there's no matching to consider.
04969                      * So convert the EOB_ACT_LAST_MATCH
04970                      * to EOB_ACT_END_OF_FILE.
04971                      */
04972 
04973                     /* Reset buffer status. */
04974                     yyrestart(yyin );
04975 
04976                     /*FALLTHROUGH*/
04977 
04978                 case EOB_ACT_END_OF_FILE:
04979                     {
04980                     if ( yywrap( ) )
04981                         return EOF;
04982 
04983                     if ( ! (yy_did_buffer_switch_on_eof) )
04984                         YY_NEW_FILE;
04985 #ifdef __cplusplus
04986                     return yyinput();
04987 #else
04988                     return input();
04989 #endif
04990                     }
04991 
04992                 case EOB_ACT_CONTINUE_SCAN:
04993                     (yy_c_buf_p) = (yytext_ptr) + offset;
04994                     break;
04995                 }
04996             }
04997         }
04998 
04999     c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
05000     *(yy_c_buf_p) = '\0';   /* preserve yytext */
05001     (yy_hold_char) = *++(yy_c_buf_p);
05002 
05003     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
05004     if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
05005            
05006     yylineno++;
05007 ;
05008 
05009     return c;
05010 }
05011 #endif  /* ifndef YY_NO_INPUT */
05012 
05013 /** Immediately switch to a different input stream.
05014  * @param input_file A readable stream.
05015  * 
05016  * @note This function does not reset the start condition to @c INITIAL .
05017  */
05018     void yyrestart  (FILE * input_file )
05019 {
05020     
05021     if ( ! YY_CURRENT_BUFFER ){
05022         yyensure_buffer_stack ();
05023         YY_CURRENT_BUFFER_LVALUE =
05024             yy_create_buffer(yyin,YY_BUF_SIZE );
05025     }
05026 
05027     yy_init_buffer(YY_CURRENT_BUFFER,input_file );
05028     yy_load_buffer_state( );
05029 }
05030 
05031 /** Switch to a different input buffer.
05032  * @param new_buffer The new input buffer.
05033  * 
05034  */
05035     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
05036 {
05037     
05038     /* TODO. We should be able to replace this entire function body
05039      * with
05040      *      yypop_buffer_state();
05041      *      yypush_buffer_state(new_buffer);
05042      */
05043     yyensure_buffer_stack ();
05044     if ( YY_CURRENT_BUFFER == new_buffer )
05045         return;
05046 
05047     if ( YY_CURRENT_BUFFER )
05048         {
05049         /* Flush out information for old buffer. */
05050         *(yy_c_buf_p) = (yy_hold_char);
05051         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
05052         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05053         }
05054 
05055     YY_CURRENT_BUFFER_LVALUE = new_buffer;
05056     yy_load_buffer_state( );
05057 
05058     /* We don't actually know whether we did this switch during
05059      * EOF (yywrap()) processing, but the only time this flag
05060      * is looked at is after yywrap() is called, so it's safe
05061      * to go ahead and always set it.
05062      */
05063     (yy_did_buffer_switch_on_eof) = 1;
05064 }
05065 
05066 static void yy_load_buffer_state  (void)
05067 {
05068         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
05069     (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
05070     yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
05071     (yy_hold_char) = *(yy_c_buf_p);
05072 }
05073 
05074 /** Allocate and initialize an input buffer state.
05075  * @param file A readable stream.
05076  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
05077  * 
05078  * @return the allocated buffer state.
05079  */
05080     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
05081 {
05082     YY_BUFFER_STATE b;
05083     
05084     b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
05085     if ( ! b )
05086         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05087 
05088     b->yy_buf_size = size;
05089 
05090     /* yy_ch_buf has to be 2 characters longer than the size given because
05091      * we need to put in 2 end-of-buffer characters.
05092      */
05093     b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
05094     if ( ! b->yy_ch_buf )
05095         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05096 
05097     b->yy_is_our_buffer = 1;
05098 
05099     yy_init_buffer(b,file );
05100 
05101     return b;
05102 }
05103 
05104 /** Destroy the buffer.
05105  * @param b a buffer created with yy_create_buffer()
05106  * 
05107  */
05108     void yy_delete_buffer (YY_BUFFER_STATE  b )
05109 {
05110     
05111     if ( ! b )
05112         return;
05113 
05114     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
05115         YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
05116 
05117     if ( b->yy_is_our_buffer )
05118         yyfree((void *) b->yy_ch_buf  );
05119 
05120     yyfree((void *) b  );
05121 }
05122 
05123 #ifndef __cplusplus
05124 extern int isatty (int );
05125 #endif /* __cplusplus */
05126     
05127 /* Initializes or reinitializes a buffer.
05128  * This function is sometimes called more than once on the same buffer,
05129  * such as during a yyrestart() or at EOF.
05130  */
05131     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
05132 
05133 {
05134     int oerrno = errno;
05135     
05136     yy_flush_buffer(b );
05137 
05138     b->yy_input_file = file;
05139     b->yy_fill_buffer = 1;
05140 
05141     /* If b is the current buffer, then yy_init_buffer was _probably_
05142      * called from yyrestart() or through yy_get_next_buffer.
05143      * In that case, we don't want to reset the lineno or column.
05144      */
05145     if (b != YY_CURRENT_BUFFER){
05146         b->yy_bs_lineno = 1;
05147         b->yy_bs_column = 0;
05148     }
05149 
05150         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
05151     
05152     errno = oerrno;
05153 }
05154 
05155 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
05156  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
05157  * 
05158  */
05159     void yy_flush_buffer (YY_BUFFER_STATE  b )
05160 {
05161         if ( ! b )
05162         return;
05163 
05164     b->yy_n_chars = 0;
05165 
05166     /* We always need two end-of-buffer characters.  The first causes
05167      * a transition to the end-of-buffer state.  The second causes
05168      * a jam in that state.
05169      */
05170     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
05171     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
05172 
05173     b->yy_buf_pos = &b->yy_ch_buf[0];
05174 
05175     b->yy_at_bol = 1;
05176     b->yy_buffer_status = YY_BUFFER_NEW;
05177 
05178     if ( b == YY_CURRENT_BUFFER )
05179         yy_load_buffer_state( );
05180 }
05181 
05182 /** Pushes the new state onto the stack. The new state becomes
05183  *  the current state. This function will allocate the stack
05184  *  if necessary.
05185  *  @param new_buffer The new state.
05186  *  
05187  */
05188 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
05189 {
05190         if (new_buffer == NULL)
05191         return;
05192 
05193     yyensure_buffer_stack();
05194 
05195     /* This block is copied from yy_switch_to_buffer. */
05196     if ( YY_CURRENT_BUFFER )
05197         {
05198         /* Flush out information for old buffer. */
05199         *(yy_c_buf_p) = (yy_hold_char);
05200         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
05201         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05202         }
05203 
05204     /* Only push if top exists. Otherwise, replace top. */
05205     if (YY_CURRENT_BUFFER)
05206         (yy_buffer_stack_top)++;
05207     YY_CURRENT_BUFFER_LVALUE = new_buffer;
05208 
05209     /* copied from yy_switch_to_buffer. */
05210     yy_load_buffer_state( );
05211     (yy_did_buffer_switch_on_eof) = 1;
05212 }
05213 
05214 /** Removes and deletes the top of the stack, if present.
05215  *  The next element becomes the new top.
05216  *  
05217  */
05218 void yypop_buffer_state (void)
05219 {
05220         if (!YY_CURRENT_BUFFER)
05221         return;
05222 
05223     yy_delete_buffer(YY_CURRENT_BUFFER );
05224     YY_CURRENT_BUFFER_LVALUE = NULL;
05225     if ((yy_buffer_stack_top) > 0)
05226         --(yy_buffer_stack_top);
05227 
05228     if (YY_CURRENT_BUFFER) {
05229         yy_load_buffer_state( );
05230         (yy_did_buffer_switch_on_eof) = 1;
05231     }
05232 }
05233 
05234 /* Allocates the stack if it does not exist.
05235  *  Guarantees space for at least one push.
05236  */
05237 static void yyensure_buffer_stack (void)
05238 {
05239     int num_to_alloc;
05240     
05241     if (!(yy_buffer_stack)) {
05242 
05243         /* First allocation is just for 2 elements, since we don't know if this
05244          * scanner will even need a stack. We use 2 instead of 1 to avoid an
05245          * immediate realloc on the next call.
05246          */
05247         num_to_alloc = 1;
05248         (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
05249                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
05250                                 );
05251         
05252         memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
05253                 
05254         (yy_buffer_stack_max) = num_to_alloc;
05255         (yy_buffer_stack_top) = 0;
05256         return;
05257     }
05258 
05259     if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
05260 
05261         /* Increase the buffer to prepare for a possible push. */
05262         int grow_size = 8 /* arbitrary grow size */;
05263 
05264         num_to_alloc = (yy_buffer_stack_max) + grow_size;
05265         (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
05266                                 ((yy_buffer_stack),
05267                                 num_to_alloc * sizeof(struct yy_buffer_state*)
05268                                 );
05269 
05270         /* zero only the new slots.*/
05271         memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
05272         (yy_buffer_stack_max) = num_to_alloc;
05273     }
05274 }
05275 
05276 /** Setup the input buffer state to scan directly from a user-specified character buffer.
05277  * @param base the character buffer
05278  * @param size the size in bytes of the character buffer
05279  * 
05280  * @return the newly allocated buffer state object. 
05281  */
05282 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
05283 {
05284     YY_BUFFER_STATE b;
05285     
05286     if ( size < 2 ||
05287          base[size-2] != YY_END_OF_BUFFER_CHAR ||
05288          base[size-1] != YY_END_OF_BUFFER_CHAR )
05289         /* They forgot to leave room for the EOB's. */
05290         return 0;
05291 
05292     b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
05293     if ( ! b )
05294         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
05295 
05296     b->yy_buf_size = size - 2;  /* "- 2" to take care of EOB's */
05297     b->yy_buf_pos = b->yy_ch_buf = base;
05298     b->yy_is_our_buffer = 0;
05299     b->yy_input_file = 0;
05300     b->yy_n_chars = b->yy_buf_size;
05301     b->yy_is_interactive = 0;
05302     b->yy_at_bol = 1;
05303     b->yy_fill_buffer = 0;
05304     b->yy_buffer_status = YY_BUFFER_NEW;
05305 
05306     yy_switch_to_buffer(b  );
05307 
05308     return b;
05309 }
05310 
05311 /** Setup the input buffer state to scan a string. The next call to yylex() will
05312  * scan from a @e copy of @a str.
05313  * @param str a NUL-terminated string to scan
05314  * 
05315  * @return the newly allocated buffer state object.
05316  * @note If you want to scan bytes that may contain NUL values, then use
05317  *       yy_scan_bytes() instead.
05318  */
05319 YY_BUFFER_STATE yy_scan_string (yyconst char * yy_str )
05320 {
05321     
05322     return yy_scan_bytes(yy_str,strlen(yy_str) );
05323 }
05324 
05325 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
05326  * scan from a @e copy of @a bytes.
05327  * @param bytes the byte buffer to scan
05328  * @param len the number of bytes in the buffer pointed to by @a bytes.
05329  * 
05330  * @return the newly allocated buffer state object.
05331  */
05332 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * bytes, int  len )
05333 {
05334     YY_BUFFER_STATE b;
05335     char *buf;
05336     yy_size_t n;
05337     int i;
05338     
05339     /* Get memory for full buffer, including space for trailing EOB's. */
05340     n = len + 2;
05341     buf = (char *) yyalloc(n  );
05342     if ( ! buf )
05343         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
05344 
05345     for ( i = 0; i < len; ++i )
05346         buf[i] = bytes[i];
05347 
05348     buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
05349 
05350     b = yy_scan_buffer(buf,n );
05351     if ( ! b )
05352         YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
05353 
05354     /* It's okay to grow etc. this buffer, and we should throw it
05355      * away when we're done.
05356      */
05357     b->yy_is_our_buffer = 1;
05358 
05359     return b;
05360 }
05361 
05362     static void yy_push_state (int  new_state )
05363 {
05364         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
05365         {
05366         yy_size_t new_size;
05367 
05368         (yy_start_stack_depth) += YY_START_STACK_INCR;
05369         new_size = (yy_start_stack_depth) * sizeof( int );
05370 
05371         if ( ! (yy_start_stack) )
05372             (yy_start_stack) = (int *) yyalloc(new_size  );
05373 
05374         else
05375             (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
05376 
05377         if ( ! (yy_start_stack) )
05378             YY_FATAL_ERROR(
05379             "out of memory expanding start-condition stack" );
05380         }
05381 
05382     (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
05383 
05384     BEGIN(new_state);
05385 }
05386 
05387     static void yy_pop_state  (void)
05388 {
05389         if ( --(yy_start_stack_ptr) < 0 )
05390         YY_FATAL_ERROR( "start-condition stack underflow" );
05391 
05392     BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
05393 }
05394 
05395     static int yy_top_state  (void)
05396 {
05397         return (yy_start_stack)[(yy_start_stack_ptr) - 1];
05398 }
05399 
05400 #ifndef YY_EXIT_FAILURE
05401 #define YY_EXIT_FAILURE 2
05402 #endif
05403 
05404 static void yy_fatal_error (yyconst char* msg )
05405 {
05406         (void) fprintf( stderr, "%s\n", msg );
05407     exit( YY_EXIT_FAILURE );
05408 }
05409 
05410 /* Redefine yyless() so it works in section 3 code. */
05411 
05412 #undef yyless
05413 #define yyless(n) \
05414     do \
05415         { \
05416         /* Undo effects of setting up yytext. */ \
05417         int yyless_macro_arg = (n); \
05418         YY_LESS_LINENO(yyless_macro_arg);\
05419         yytext[yyleng] = (yy_hold_char); \
05420         (yy_c_buf_p) = yytext + yyless_macro_arg; \
05421         (yy_hold_char) = *(yy_c_buf_p); \
05422         *(yy_c_buf_p) = '\0'; \
05423         yyleng = yyless_macro_arg; \
05424         } \
05425     while ( 0 )
05426 
05427 /* Accessor  methods (get/set functions) to struct members. */
05428 
05429 /** Get the current line number.
05430  * 
05431  */
05432 int yyget_lineno  (void)
05433 {
05434         
05435     return yylineno;
05436 }
05437 
05438 /** Get the input stream.
05439  * 
05440  */
05441 FILE *yyget_in  (void)
05442 {
05443         return yyin;
05444 }
05445 
05446 /** Get the output stream.
05447  * 
05448  */
05449 FILE *yyget_out  (void)
05450 {
05451         return yyout;
05452 }
05453 
05454 /** Get the length of the current token.
05455  * 
05456  */
05457 int yyget_leng  (void)
05458 {
05459         return yyleng;
05460 }
05461 
05462 /** Get the current token.
05463  * 
05464  */
05465 
05466 char *yyget_text  (void)
05467 {
05468         return yytext;
05469 }
05470 
05471 /** Set the current line number.
05472  * @param line_number
05473  * 
05474  */
05475 void yyset_lineno (int  line_number )
05476 {
05477     
05478     yylineno = line_number;
05479 }
05480 
05481 /** Set the input stream. This does not discard the current
05482  * input buffer.
05483  * @param in_str A readable stream.
05484  * 
05485  * @see yy_switch_to_buffer
05486  */
05487 void yyset_in (FILE *  in_str )
05488 {
05489         yyin = in_str ;
05490 }
05491 
05492 void yyset_out (FILE *  out_str )
05493 {
05494         yyout = out_str ;
05495 }
05496 
05497 int yyget_debug  (void)
05498 {
05499         return yy_flex_debug;
05500 }
05501 
05502 void yyset_debug (int  bdebug )
05503 {
05504         yy_flex_debug = bdebug ;
05505 }
05506 
05507 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
05508 int yylex_destroy  (void)
05509 {
05510     
05511     /* Pop the buffer stack, destroying each element. */
05512     while(YY_CURRENT_BUFFER){
05513         yy_delete_buffer(YY_CURRENT_BUFFER  );
05514         YY_CURRENT_BUFFER_LVALUE = NULL;
05515         yypop_buffer_state();
05516     }
05517 
05518     /* Destroy the stack itself. */
05519     yyfree((yy_buffer_stack) );
05520     (yy_buffer_stack) = NULL;
05521 
05522     /* Destroy the start condition stack. */
05523         yyfree((yy_start_stack)  );
05524         (yy_start_stack) = NULL;
05525 
05526     return 0;
05527 }
05528 
05529 /*
05530  * Internal utility routines.
05531  */
05532 
05533 #ifndef yytext_ptr
05534 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
05535 {
05536     register int i;
05537         for ( i = 0; i < n; ++i )
05538         s1[i] = s2[i];
05539 }
05540 #endif
05541 
05542 #ifdef YY_NEED_STRLEN
05543 static int yy_flex_strlen (yyconst char * s )
05544 {
05545     register int n;
05546         for ( n = 0; s[n]; ++n )
05547         ;
05548 
05549     return n;
05550 }
05551 #endif
05552 
05553 void *yyalloc (yy_size_t  size )
05554 {
05555     return (void *) malloc( size );
05556 }
05557 
05558 void *yyrealloc  (void * ptr, yy_size_t  size )
05559 {
05560     /* The cast to (char *) in the following accommodates both
05561      * implementations that use char* generic pointers, and those
05562      * that use void* generic pointers.  It works with the latter
05563      * because both ANSI C and C++ allow castless assignment from
05564      * any pointer type to void*, and deal with argument conversions
05565      * as though doing an assignment.
05566      */
05567     return (void *) realloc( (char *) ptr, size );
05568 }
05569 
05570 void yyfree (void * ptr )
05571 {
05572     free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
05573 }
05574 
05575 #define YYTABLES_NAME "yytables"
05576 
05577 #undef YY_NEW_FILE
05578 #undef YY_FLUSH_BUFFER
05579 #undef yy_set_bol
05580 #undef yy_new_buffer
05581 #undef yy_set_interactive
05582 #undef yytext_ptr
05583 #undef YY_DO_BEFORE_ACTION
05584 
05585 #ifdef YY_DECL_IS_OURS
05586 #undef YY_DECL_IS_OURS
05587 #undef YY_DECL
05588 #endif
05589 #line 943 "php_lexer.l"

Generated on Wed Feb 27 20:31:05 2008 for php.ast.svn.src. by  doxygen 1.5.3