#define yy_create_buffer asn1p__create_buffer
#define yy_delete_buffer asn1p__delete_buffer
#define yy_scan_buffer asn1p__scan_buffer
#define yy_scan_string asn1p__scan_string
#define yy_scan_bytes asn1p__scan_bytes
#define yy_flex_debug asn1p__flex_debug
#define yy_init_buffer asn1p__init_buffer
#define yy_flush_buffer asn1p__flush_buffer
#define yy_load_buffer_state asn1p__load_buffer_state
#define yy_switch_to_buffer asn1p__switch_to_buffer
#define yyin asn1p_in
#define yyleng asn1p_leng
#define yylex asn1p_lex
#define yyout asn1p_out
#define yyrestart asn1p_restart
#define yytext asn1p_text
#define yylineno asn1p_lineno

#line 20 "asn1p_l.c"
/* A lexical scanner generated by flex */

/* Scanner skeleton version:
 * $Header$
 */

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

#include <stdio.h>


/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif


#ifdef __cplusplus

#include <stdlib.h>
#include <unistd.h>

/* Use prototypes in function declarations. */
#define YY_USE_PROTOS

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

#if __STDC__

#define YY_USE_PROTOS
#define YY_USE_CONST

#endif	/* __STDC__ */
#endif	/* ! __cplusplus */

#ifdef __TURBOC__
 #pragma warn -rch
 #pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif


#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif

/* Returned upon end-of-file. */
#define YY_NULL 0

/* Promotes a possibly negative, possibly signed char to an unsigned
 * integer for use as an array index.  If the signed char is negative,
 * we want to instead treat it as an 8-bit unsigned char, hence the
 * double cast.
 */
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)

/* Enter a start condition.  This macro really ought to take a parameter,
 * but we do it the disgusting crufty way forced on us by the ()-less
 * definition of BEGIN.
 */
#define BEGIN yy_start = 1 + 2 *

/* Translate the current start state into a value that can be later handed
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 * compatibility.
 */
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START

/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)

/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#define YY_BUF_SIZE 16384

typedef struct yy_buffer_state *YY_BUFFER_STATE;

extern int yyleng;
extern FILE *yyin, *yyout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

/* The funky do-while in the following #define is used to turn the definition
 * int a single C statement (which needs a semi-colon terminator).  This
 * avoids problems with code like:
 *
 * 	if ( condition_holds )
 *		yyless( 5 );
 *	else
 *		do_something_else();
 *
 * Prior to using the do-while the compiler would get upset at the
 * "else" because it interpreted the "if" statement as being all
 * done when it reached the ';' after the yyless() call.
 */

/* Return all but the first 'n' matched characters back to the input stream. */

#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		*yy_cp = yy_hold_char; \
		YY_RESTORE_YY_MORE_OFFSET \
		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, yytext_ptr )

/* The following is because we cannot portably get our hands on size_t
 * (without autoconf's help, which isn't available because we want
 * flex-generated scanners to compile on their own).
 */
typedef unsigned int yy_size_t;


struct yy_buffer_state
	{
	FILE *yy_input_file;

	char *yy_ch_buf;		/* input buffer */
	char *yy_buf_pos;		/* current position in input buffer */

	/* Size of input buffer in bytes, not including room for EOB
	 * characters.
	 */
	yy_size_t yy_buf_size;

	/* Number of characters read into yy_ch_buf, not including EOB
	 * characters.
	 */
	int yy_n_chars;

	/* Whether we "own" the buffer - i.e., we know we created it,
	 * and can realloc() it to grow it, and should free() it to
	 * delete it.
	 */
	int yy_is_our_buffer;

	/* Whether this is an "interactive" input source; if so, and
	 * if we're using stdio for input, then we want to use getc()
	 * instead of fread(), to make sure we stop fetching input after
	 * each newline.
	 */
	int yy_is_interactive;

	/* Whether we're considered to be at the beginning of a line.
	 * If so, '^' rules will be active on the next match, otherwise
	 * not.
	 */
	int yy_at_bol;

	/* Whether to try to fill the input buffer when we reach the
	 * end of it.
	 */
	int yy_fill_buffer;

	int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
	/* When an EOF's been seen but there's still some text to process
	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
	 * shouldn't try reading from the input source any more.  We might
	 * still have a bunch of tokens to match, though, because of
	 * possible backing-up.
	 *
	 * When we actually see the EOF, we change the status to "new"
	 * (via yyrestart()), so that the user can continue scanning by
	 * just pointing yyin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2
	};

static YY_BUFFER_STATE yy_current_buffer = 0;

/* We provide macros for accessing buffer states in case in the
 * future we want to put the buffer states in a more general
 * "scanner state".
 */
#define YY_CURRENT_BUFFER yy_current_buffer


/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;

static int yy_n_chars;		/* number of characters read into yy_ch_buf */


int yyleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow yywrap()'s to do buffer switches
 * instead of setting up a fresh yyin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void yyrestart YY_PROTO(( FILE *input_file ));

void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )

YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));

static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));

#define yy_new_buffer yy_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! yy_current_buffer ) \
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
	yy_current_buffer->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)


#define YY_USES_REJECT

#define yywrap() 1
#define YY_SKIP_YYWRAP

#define FLEX_DEBUG
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;

#define FLEX_DEBUG
extern int yylineno;
int yylineno = 1;
extern char *yytext;
#define yytext_ptr yytext

static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up yytext.
 */
#define YY_DO_BEFORE_ACTION \
	yytext_ptr = yy_bp; \
	yyleng = (int) (yy_cp - yy_bp); \
	yy_hold_char = *yy_cp; \
	*yy_cp = '\0'; \
	yy_c_buf_p = yy_cp;

#define YY_NUM_RULES 130
#define YY_END_OF_BUFFER 131
static yyconst short int yy_acclist[1259] =
    {   0,
      131,  129,  130,  124,  129,  130,  124,  130,  127,  129,
      130,   15,  129,  130,  127,  129,  130,  129,  130,  127,
      129,  130,  129,  130,  127,  129,  130,  129,  130,   29,
      129,  130,   28,  129,  130,  127,  129,  130,  129,  130,
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,

      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
      129,  130,  116,  117,  129,  130,  115,  129,  130,  127,
      129,  130,    5,  129,  130,    2,  130,    2,  129,  130,
        4,  129,  130,    7,    9,  129,  130,    7,  130,    9,
      129,  130,    9,  129,  130,   17,  129,  130,   17,  130,
       18,  129,  130,   12,  129,  130,   12,  130,   14,  129,
      130,   14,  129,  130,   10,  129,  130,   11,  129,  130,
       21,   23,  129,  130,   23,  129,  130,   24,  130,   21,
       22,   23,  129,  130,   21,   22,   23,  129,  130,  121,
      129,  130,  122,  129,  130,  122,  130,  129,  130,  123,

      129,  130,  124,   15,   15,  113,  114,    1,   27,  120,
        6,   28,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  116,  117,  116,  117,  116,
      117,  116,  117,   39,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  117,  116,  117,  116,  117,   84,  116,  117,
      116,  117,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  117,  116,  117,  116,  117,  116,  117,  116,  117,

      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      117,  116,  117,  116,  117,  117,  117,  116,  117,  115,
        5,    3,    8,   17,   16,   12,   21,   21,   22,   21,
       22,  121,  122,  128,  113,  114,   27,  119,  118,  116,
      117,   31,  116,  117,   32,  116,  117,  116,  117,  116,
      117,  116,  117,   36,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,   53,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  117,  117,  116,  117,  116,  117,  116,  117,  116,

      117,  116,  117,  116,  117,  116,  117,   76,  116,  117,
       77,  116,  117,  116,  117,  117,  116,  117,  116,  117,
      116,  117,  117,  116,  117,   87,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  116,  117,  116,  117,  116,
      117,   95,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  116,  117,  116,  117,  117,  117,  117,  116,  117,
       13,   21,   22,   20,   21,   22,   26,   25,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,

      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,   61,  116,  117,  117,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,   79,  116,  117,  117,  116,
      117,  116,  117,  116,  117,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,   92,  116,  117,  116,  117,
      116,  117,   96,  116,  117,  116,  117,  116,  117,  116,
      117,  100,  116,  117,  102,  116,  117,  116,  117,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,

      117,  117,  117,  112,  116,  117,   21,   22,  116,  117,
      116,  117,  116,  117,   35,  116,  117,  117,  116,  117,
      116,  117,  116,  117,   42,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,   60,  116,  117,  117,  117,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,  116,  117,  117,
      116,  117,   83,  116,  117,  116,  117,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  117,  116,  117,  116,

      117,  116,  117,  116,  117,  117,  116,  117,  117,  104,
      116,  117,  116,  117,  116,  117,  117,  116,  117,  117,
      117,  117,  125,   21,   22,   30,  116,  117,  116,  117,
      116,  117,  117,  116,  117,  116,  117,   41,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
       55,  116,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  117,  117,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  116,  117,  117,   81,  116,  117,

      116,  117,  117,  116,  117,  116,  117,  116,  117,  116,
      117,  117,  116,  117,  116,  117,   97,  116,  117,   98,
      116,  117,  117,  116,  117,  117,  105,  116,  117,  116,
      117,  117,  117,  117,  117,  117,   21,   22,  116,  117,
      116,  117,  117,   38,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,   47,  116,  117,   48,  116,  117,
      116,  117,  116,  117,   51,  116,  117,  116,  117,  116,
      117,  116,  117,   57,  116,  117,  116,  117,  116,  117,
      117,  117,  117,  116,  117,  116,  117,   68,  116,  117,
       69,  116,  117,  116,  117,  116,  117,  116,  117,   73,

      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  117,   86,  116,  117,  116,  117,   89,  116,  117,
       91,  116,  117,  117,  116,  117,  116,  117,  117,  116,
      117,  117,  116,  117,  108,  117,  117,  117,  117,  117,
       21,   22,  116,  117,  116,  117,  117,  116,  117,  116,
      117,  116,  117,  116,  117,  116,  117,   50,  116,  117,
      116,  117,  116,  117,   56,  116,  117,  116,  117,   59,
      116,  117,  117,  117,  117,  117,  116,  117,   67,  116,
      117,   70,  116,  117,   71,  116,  117,  116,  117,  116,
      117,  117,  116,  117,  117,   85,  116,  117,  117,  116,

      117,  117,  116,  117,   94,  116,  117,  117,  116,  117,
      117,  116,  117,  117,  117,  117,  117,   21,   22,  116,
      117,   34,  116,  117,   37,  117,   40,  116,  117,   43,
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
      116,  117,  116,  117,  117,  117,  117,   65,  117,  116,
      117,  116,  117,  116,  117,  117,  116,  117,  117,  117,
      116,  117,  117,  116,  117,   99,  117,  116,  117,  117,
      106,  116,  117,  117,  117,  117,  117,  126,   21,  116,
      117,   44,  116,  117,  116,  117,   46,  116,  117,  116,
      117,  116,  117,   54,  116,  117,  116,  117,  117,  117,

      117,   66,  116,  117,  116,  117,  116,  117,  117,  116,
      117,  117,  117,  116,  117,  117,  116,  117,  116,  117,
      117,  109,  117,  117,  117,  117,   21,   33,  116,  117,
       45,  116,  117,   49,  116,  117,  116,  117,  116,  117,
      117,  117,  117,  116,  117,  116,  117,  117,  116,  117,
      117,  117,  116,  117,  117,  116,  117,  116,  117,  117,
      117,  117,  117,   21,  116,  117,  116,  117,  117,  117,
      117,   72,  116,  117,   74,  116,  117,   75,  117,  116,
      117,  117,  117,  116,  117,  117,   93,  116,  117,  116,
      117,  117,  117,  117,  117,   21,  116,  117,   58,  116,

      117,   63,  117,  117,   64,  117,  116,  117,   80,  117,
      117,   88,  116,  117,  117,  116,  117,  101,  117,  117,
      117,  111,  117,   21,  116,  117,  117,   78,  116,  117,
      117,  117,  116,  117,  117,  110,  117,   21,  116,  117,
       62,  117,  117,   90,  117,  103,  116,  117,  107,  117,
       21,   52,  116,  117,   82,  117,   19,   21
    } ;

static yyconst short int yy_accept[690] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    2,    4,    7,    9,   12,
       15,   18,   20,   23,   25,   28,   30,   33,   36,   39,
       41,   45,   49,   53,   57,   61,   65,   69,   73,   77,
       81,   85,   89,   93,   97,  101,  105,  109,  113,  117,
      120,  123,  126,  128,  131,  134,  138,  140,  143,  146,
      149,  151,  154,  157,  159,  162,  165,  168,  171,  175,
      178,  180,  185,  190,  193,  196,  198,  200,  203,  203,
      204,  205,  206,  206,  207,  207,  208,  208,  208,  209,
      210,  211,  212,  213,  213,  215,  217,  219,  221,  223,

      225,  226,  228,  230,  232,  234,  237,  239,  241,  243,
      245,  247,  249,  251,  253,  255,  256,  257,  259,  261,
      263,  265,  267,  269,  271,  273,  274,  276,  278,  281,
      283,  284,  286,  288,  290,  292,  293,  295,  297,  299,
      301,  303,  305,  307,  309,  311,  312,  314,  316,  317,
      318,  320,  321,  321,  321,  321,  322,  323,  324,  325,
      326,  327,  327,  328,  330,  332,  333,  334,  335,  335,
      336,  337,  337,  337,  338,  339,  340,  342,  345,  348,
      350,  352,  354,  357,  359,  361,  363,  365,  367,  369,
      371,  373,  375,  377,  380,  382,  384,  386,  388,  390,

      392,  393,  394,  396,  398,  400,  402,  404,  406,  408,
      411,  414,  416,  417,  419,  421,  423,  424,  426,  429,
      431,  433,  435,  436,  438,  440,  442,  445,  447,  449,
      451,  453,  455,  457,  459,  460,  462,  464,  466,  467,
      468,  469,  471,  471,  471,  472,  474,  477,  477,  478,
      479,  481,  483,  485,  487,  489,  491,  493,  495,  497,
      499,  501,  503,  505,  507,  509,  511,  513,  515,  517,
      519,  521,  523,  526,  527,  528,  530,  532,  534,  536,
      538,  540,  542,  544,  546,  549,  550,  552,  554,  556,
      557,  559,  561,  563,  565,  566,  569,  571,  573,  576,

      578,  580,  582,  585,  588,  590,  591,  593,  595,  597,
      599,  601,  602,  603,  604,  607,  607,  607,  607,  607,
      609,  611,  613,  615,  618,  619,  621,  623,  625,  628,
      630,  632,  634,  636,  638,  640,  642,  644,  646,  648,
      650,  652,  654,  657,  658,  659,  660,  662,  664,  666,
      668,  670,  672,  674,  676,  678,  680,  681,  683,  686,
      688,  689,  691,  693,  695,  697,  698,  700,  702,  704,
      706,  707,  709,  710,  713,  715,  717,  718,  720,  721,
      722,  723,  723,  723,  724,  726,  729,  731,  733,  734,
      736,  738,  741,  743,  745,  747,  749,  751,  753,  755,

      757,  759,  761,  764,  766,  768,  770,  772,  773,  774,
      775,  777,  779,  781,  783,  785,  787,  789,  791,  793,
      795,  797,  798,  801,  803,  804,  806,  808,  810,  812,
      813,  815,  817,  820,  823,  824,  826,  827,  830,  832,
      833,  834,  835,  836,  837,  837,  837,  839,  841,  843,
      844,  847,  849,  851,  853,  855,  858,  861,  863,  865,
      868,  870,  872,  874,  877,  879,  881,  882,  883,  884,
      886,  888,  891,  894,  896,  898,  900,  903,  905,  907,
      909,  910,  912,  913,  916,  918,  921,  924,  925,  927,
      929,  930,  932,  933,  935,  937,  938,  939,  940,  941,

      941,  943,  945,  947,  948,  950,  952,  954,  956,  958,
      961,  963,  965,  968,  970,  973,  974,  975,  976,  977,
      979,  982,  985,  988,  990,  992,  993,  995,  996,  999,
     1000, 1002, 1003, 1005, 1008, 1009, 1011, 1012, 1014, 1015,
     1016, 1017, 1018, 1018, 1018, 1020, 1022, 1025, 1027, 1030,
     1033, 1035, 1037, 1039, 1041, 1043, 1045, 1046, 1047, 1048,
     1050, 1052, 1054, 1056, 1057, 1059, 1060, 1061, 1063, 1064,
     1066, 1068, 1070, 1071, 1074, 1075, 1076, 1077, 1078, 1078,
     1079, 1080, 1082, 1085, 1087, 1090, 1092, 1094, 1097, 1099,
     1100, 1101, 1102, 1105, 1107, 1109, 1110, 1112, 1113, 1114,

     1116, 1117, 1119, 1121, 1122, 1124, 1125, 1126, 1127, 1128,
     1131, 1134, 1137, 1139, 1141, 1142, 1143, 1144, 1146, 1148,
     1149, 1151, 1152, 1153, 1155, 1156, 1158, 1160, 1161, 1162,
     1163, 1164, 1165, 1167, 1169, 1170, 1171, 1172, 1175, 1178,
     1180, 1182, 1183, 1184, 1186, 1187, 1190, 1192, 1193, 1194,
     1195, 1196, 1197, 1199, 1202, 1204, 1205, 1207, 1209, 1211,
     1212, 1215, 1216, 1218, 1220, 1221, 1222, 1224, 1225, 1227,
     1228, 1231, 1232, 1233, 1235, 1236, 1238, 1239, 1241, 1243,
     1244, 1246, 1249, 1251, 1252, 1255, 1257, 1259, 1259
    } ;

static yyconst int yy_ec[256] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    2,    5,    6,    1,    1,    1,    7,    8,    9,
        9,   10,    1,   11,   12,   13,   14,   15,   16,   17,
       17,   18,   19,   20,   17,   21,   22,   23,   24,   25,
       26,    1,    1,    9,   27,   28,   29,   30,   31,   32,
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
        9,    1,   53,   54,    1,    1,   55,   56,   57,   58,

       59,   60,   61,   62,   63,   64,   60,   65,   66,   67,
       68,   69,   60,   70,   71,   72,   73,   74,   60,   75,
       60,   76,   77,   78,   79,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1
    } ;

static yyconst int yy_meta[80] =
    {   0,
        1,    2,    3,    3,    1,    4,    5,    6,    1,    1,
        7,    8,    1,    1,    9,    9,    9,    9,    9,    9,
        9,    9,   10,    1,    1,   10,   11,   11,   11,   11,
       11,   11,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,    1,    1,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   13,    1,   14
    } ;

static yyconst short int yy_base[709] =
    {   0,
        0,    0,   77,   79,   82,   83,   81,   92,   85,   91,
      170,  249,  120,  126,  852,  843,   97,  117,  837,  835,
      321,  132, 4544,  133,  828,   94, 4544,  170,  814, 4544,
      386,  178,  193,  239,  250,  266,  277,  118,  293,  436,
      437,  453,  459,  474,  480,  497,  500,  515,  523,    0,
      569,    0, 4544, 4544,  822, 4544, 4544,  811,  814,    0,
        0,  803,    0,    0,  784, 4544, 4544, 4544,    0, 4544,
     4544,  591,  669,    0,  135,  140,  107, 4544,  800,  208,
        0,  797,  791,    0,  174,    0,  604,  784, 4544,  606,
      778, 4544,  614,  764,  609,  610,  625,  659,  626,  658,

        0,  674,  687,  690,  698,  713,  716,  734,  731,  747,
      755,  770,  776,  773,  791,  721,  731,  802,  808,  819,
      825,  836,  847,  853,  864,  718,  877,  880,  893,  901,
      718,  904,  917,  928,  941,  717,  957,  963,  974,  980,
      991,  997, 1008, 1014, 1025,  712, 1031, 1047,  705,   32,
     1046,    0, 1093, 1105, 1117,    0, 4544, 4544,    0, 4544,
        0,  741,    0,  726,  236,    0,  234, 4544,  753,    0,
        0,   78,  730, 1083, 4544, 4544, 1112, 1113, 1128, 1129,
     1144, 1152, 1155, 1168, 1176, 1184, 1192, 1205, 1213, 1216,
     1237, 1238, 1253, 1259, 1270, 1276, 1287, 1293, 1304, 1315,

      693,  681, 1328, 1336, 1339, 1354, 1357, 1360, 1385, 1382,
     1388, 1403,  690, 1406, 1421, 1427,  689, 1438, 1449, 1455,
     1466, 1477,  679, 1488, 1494, 1505, 1511, 1526, 1527, 1542,
     1553, 1559, 1574, 1580,  683, 1591, 1602, 1615,  661,  672,
      661, 1618, 1664, 1672, 4544,   69,  680,  666, 4544, 4544,
     1631, 1667, 1673, 1688, 1689, 1706, 1705, 1722, 1728, 1739,
     1750, 1766, 1763, 1774, 1787, 1790, 1805, 1811, 1822, 1828,
     1839, 1854, 1860,  647,  651, 1871, 1877, 1892, 1893, 1908,
     1914, 1929, 1942, 1950, 1958,  641, 1973, 1976, 1989,  651,
     1997, 2012, 2015, 2033,  631, 2030, 2036, 2053, 2059, 2070,

     2076, 2087, 2093, 2104, 2110,  619, 2125, 2126, 2143, 2142,
     2159,  631,  621,  632, 2160, 2206,  824, 2214, 2226,   86,
     2211, 2226, 2232, 2243,  615, 2249, 2264, 2267, 2275, 2288,
     2296, 2304, 2317, 2325, 2338, 2346, 2354, 2362, 2377, 2383,
     2394, 2400, 2415,  629,  608,  592, 2416, 2436, 2433, 2454,
     2453, 2469, 2475, 2486, 2492, 2507,  598, 2510, 2513, 2530,
      588, 2531, 2546, 2552, 2563,  604, 2576, 2579, 2587, 2600,
      588, 2611,  587, 2617, 2632, 2633,  577, 2648,  572,  569,
      575,  239, 2681, 4544,   78, 2666, 2683, 2686,  576, 2689,
     2706, 2707, 2727, 2733, 2744, 2750, 2765, 2771, 2788, 2794,

     2805, 2811, 2822, 2828, 2839, 2845, 2861,  553,  556,  548,
     2862, 2877, 2883, 2894, 2900, 2915, 2921, 2932, 2947, 2953,
     2964,  553, 2975, 2981,  565, 2992, 2998, 3009, 3022,  538,
     3030, 3045, 3048, 3051,  530, 3066,  508, 3069, 3072,  523,
      511,  509,  520,  518, 3118, 3130,  536, 3115, 3128,  508,
     3131, 3146, 3152, 3163, 3169, 3180, 3186, 3197, 3208, 3214,
     3225, 3231, 3242, 3253, 3259, 3270,  159,  529,  502, 3276,
     3287, 3298, 3304, 3315, 3321, 3336, 3337, 3352, 3358, 3369,
      523, 3375,  507, 3386, 3397, 3403, 3414,  499, 3420, 3435,
      493, 3441,  514, 3457,    0,  491,  497,  475,  504, 3490,

      126, 3485, 3486,  475, 3501, 3509, 3512, 3525, 3533, 3541,
     3554, 3562, 3570, 3578, 3586,  458,  447,  447,  452, 3599,
     3607, 3610, 3623, 3631, 3634,  437, 3647,  432, 3655,  427,
     3663,  437, 3676, 3679,  433, 3687,  420, 3700,  423,  423,
      435,  401, 3733,  466,  190, 3718, 3729,    0, 3735, 3746,
     3752, 3767, 3768, 3783, 3789, 3800,  402,  408,  396,    0,
     3806, 3817, 3828,  377, 3834,  369,  355, 3845,  366, 3856,
        0, 3862,  340, 3873,  348,  355,  327,  304,  530, 4544,
      317, 3879, 3890, 3901, 3907, 3918, 3929, 3940, 3946,  281,
      285,  279, 3957, 3963, 3974,  274, 3980,  276,  267, 3991,

      262, 3997, 4008,  267,    0,  253,  252,  253,  273, 4014,
     4025, 4031, 4042, 4048,  245,  265,  242, 4059, 4065,  246,
     4080,  234,  236, 4083,  228, 4086, 4103,  229,  225,  228,
      220,  245, 4106, 4109,  223,  220,  221, 4126, 4127,    0,
     4142,  210,  200, 4143,  205, 4158, 4164,  203,  183,  178,
      183,  193, 4175, 4186,    0,  166,    0, 4192,    0,  154,
     4207,  148, 4210,    0,  147,  147,    0,  163, 4218,  141,
     4233,  101,  106, 4234,  102,    0,  116, 4249,    0,   62,
        0, 4255,    0,   69, 4266,    0,    0, 4544, 4313, 4327,
     4341, 4355, 4369, 4383, 4397, 4410, 4414, 4426, 4440, 4454,

     4466, 4478, 4490, 4495, 4500, 4505, 4516, 4529
    } ;

static yyconst short int yy_def[709] =
    {   0,
      688,    1,  689,  689,  690,  690,  691,  691,  692,  692,
      693,  693,  694,  694,  688,  688,  688,  688,  688,  695,
      688,  696,  688,  688,  688,  688,  688,  688,  688,  688,
      688,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,  697,
      688,  698,  688,  688,  688,  688,  688,  688,  688,  699,
      699,  688,  700,  700,  688,  688,  688,  688,  701,  688,
      688,  702,  702,  703,  688,  688,   21,  688,  688,  688,
      695,  695,  688,  704,  688,  705,  696,  696,  688,  688,
      688,  688,  688,  688,   31,   31,   31,   31,   31,   31,

      706,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  706,  706,   31,   31,   31,
       31,   31,   31,   31,   31,  706,   31,   31,   31,   31,
      706,   31,   31,   31,   31,  706,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  706,   31,   31,  706,  706,
       31,  697,  688,  688,  688,  698,  688,  688,  699,  688,
      700,  688,  701,   73,   73,  703,  688,  688,  688,  704,
      705,  688,  688,  688,  688,  688,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,

      706,  706,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,  706,   31,   31,   31,  706,   31,   31,   31,
       31,   31,  706,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,  706,   31,   31,   31,  706,  706,
      706,   31,  688,  688,  688,   73,   73,  688,  688,  688,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  706,  706,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  706,   31,   31,   31,  706,
       31,   31,   31,   31,  706,   31,   31,   31,   31,   31,

       31,   31,   31,   31,   31,  706,   31,   31,   31,   31,
       31,  706,  706,  706,   31,  688,  707,  688,  688,   73,
       31,   31,   31,   31,  706,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,  706,  706,  706,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  706,   31,   31,   31,
      706,   31,   31,   31,   31,  706,   31,   31,   31,   31,
      706,   31,  706,   31,   31,   31,  706,   31,  706,  706,
      706,  688,  688,  688,   73,   31,   31,   31,  706,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,

       31,   31,   31,   31,   31,   31,   31,  706,  706,  706,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,  706,   31,   31,  706,   31,   31,   31,   31,  706,
       31,   31,   31,   31,  706,   31,  706,   31,   31,  706,
      706,  706,  706,  706,  688,  688,   73,   31,   31,  706,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,  706,  706,  706,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
      706,   31,  706,   31,   31,   31,   31,  706,   31,   31,
      706,   31,  706,   31,  706,  706,  706,  706,  706,  688,

       73,   31,   31,  706,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,  706,  706,  706,  706,   31,
       31,   31,   31,   31,   31,  706,   31,  706,   31,  706,
       31,  706,   31,   31,  706,   31,  706,   31,  706,  706,
      706,  706,  688,  708,   73,   31,   31,  706,   31,   31,
       31,   31,   31,   31,   31,   31,  706,  706,  706,  706,
       31,   31,   31,  706,   31,  706,  706,   31,  706,   31,
      706,   31,  706,   31,  706,  706,  706,  706,  688,  688,
      701,   31,   31,   31,   31,   31,   31,   31,   31,  706,
      706,  706,   31,   31,   31,  706,   31,  706,  706,   31,

      706,   31,   31,  706,  706,  706,  706,  706,  701,   31,
       31,   31,   31,   31,  706,  706,  706,   31,   31,  706,
       31,  706,  706,   31,  706,   31,   31,  706,  706,  706,
      706,  701,   31,   31,  706,  706,  706,   31,   31,  706,
       31,  706,  706,   31,  706,   31,   31,  706,  706,  706,
      706,  701,   31,   31,  706,  706,  706,   31,  706,  706,
       31,  706,   31,  706,  706,  706,  706,  701,   31,  706,
       31,  706,  706,   31,  706,  706,  701,   31,  706,  706,
      706,   31,  706,  701,   31,  706,  701,    0,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,

      688,  688,  688,  688,  688,  688,  688,  688
    } ;

static yyconst short int yy_nxt[4624] =
    {   0,
       16,   17,   18,   17,   19,   20,   21,   22,   23,   16,
       23,   24,   25,   26,   27,   28,   28,   28,   28,   28,
       28,   28,   29,   19,   30,   30,   31,   32,   33,   34,
       35,   36,   37,   38,   39,   38,   38,   38,   40,   41,
       42,   43,   38,   44,   45,   46,   47,   48,   49,   38,
       38,   38,   19,   19,   50,   50,   50,   50,   50,   50,
       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
       50,   50,   50,   50,   50,   50,   51,   19,   23,   53,
       54,   53,   54,   61,   57,   57,   62,   64,   55,  240,
       55,   58,   58,   64,   61,   59,   59,   62,   80,   80,

       80,   79,  241,   92,   79,  249,  687,   65,  164,  320,
       66,  250,  447,   65,  688,  385,   66,  164,   80,   80,
       80,   75,   76,   75,   79,  164,   77,   75,   76,   75,
      688,  686,   77,   87,   87,   87,  167,  167,  167,   79,
       79,  167,  167,  167,   89,   95,   87,   87,   90,   90,
       90,   90,   90,   90,   90,   95,  684,   95,  545,   95,
      688,   67,  683,   68,   95,  164,  681,   67,  680,   68,
       69,   70,   71,   70,   69,   69,   69,   69,   69,   69,
       69,   69,   69,   69,   93,   93,   93,   93,   93,   93,
       93,   93,   69,   69,   69,   69,   30,   83,   78,  679,

       73,  581,   30,  516,   78,   95,  677,  676,  102,   80,
       80,   80,  103,  675,  673,   95,  104,   95,  105,   95,
       95,  517,   69,   69,   95,  672,  107,   85,  106,  164,
      108,  670,   95,  109,   95,  167,  167,  167,  668,   95,
      382,  382,  382,  667,  666,  665,   70,   69,   70,   69,
       70,   71,   70,   69,   69,   69,   69,   69,   69,   69,
       69,   69,   69,  664,  246,  247,   95,  662,  660,  110,
      659,   69,   69,   69,   69,  164,   95,   95,   95,   73,
       95,  657,  656,  655,  652,   95,  651,   95,  111,  112,
      650,   95,  114,   95,  649,  648,   95,  645,  643,  113,

      642,   69,   69,   95,   95,   95,  640,   95,  637,  115,
      636,  635,   95,  632,   95,  631,   95,  384,   95,  118,
       95,  630,  119,   95,  629,   70,   69,   70,   79,  628,
       95,  120,  121,  625,   95,  116,  623,  122,  622,   95,
      620,  617,  616,  615,   83,  609,  117,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       84,   84,   84,  608,   85,   86,   86,   86,   86,   86,
       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
       86,   86,   86,   86,   86,   86,   86,   95,  607,  606,

       95,   95,   95,   95,   95,   95,   95,   95,  605,  604,
      601,  599,   95,   96,   95,   95,   95,   95,   95,   95,
       95,   95,   95,   97,   95,   98,   95,   99,   95,   95,
       95,   95,  100,   95,   95,   95,   95,   95,  598,  596,
      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
      101,  101,  123,   95,   95,  592,  591,  579,  579,  579,
      124,  590,  578,   95,   95,   95,   95,   95,   95,  577,
      127,  128,   95,  125,  129,  132,   95,  576,  133,  575,
       95,  573,   95,  571,  130,  569,  134,  567,   95,   95,

       95,   95,  135,  566,  137,   95,  564,   95,  131,  126,
      138,   95,  560,   95,  139,   95,  142,   95,  559,   95,
       95,   95,  558,  143,   95,  140,   95,   95,  136,  557,
      141,  579,  579,  579,   95,  548,   95,   95,   95,  147,
      144,   95,   95,   95,  580,  148,   95,  145,  542,  541,
       95,  540,   95,  539,   95,  146,   95,  151,  537,  535,
       95,   95,   95,  532,   95,  530,  149,  528,  519,   95,
      153,  153,  153,  518,  504,  501,  499,  150,  498,  497,
      496,  495,  493,  154,  154,  154,  154,  154,  154,  155,
      155,  163,  491,  488,  483,  163,  163,  163,  163,  163,

      163,  163,  163,  163,  163,   87,   87,   87,  580,  481,
      469,  172,  468,  163,  163,  163,  163,  467,   87,   87,
      174,  174,  174,  174,  174,  174,  174,  174,   93,   93,
       93,   93,   93,   93,   93,   93,   95,   95,  450,  444,
      443,  442,  440,  163,  163,  437,   95,   95,   95,   95,
       95,   95,   95,   95,  177,   95,   95,  435,  430,  425,
      422,  410,  178,   95,   95,   95,   95,  180,  163,  163,
      409,   95,   95,  163,  163,  163,  163,  163,  163,  163,
      163,  163,  163,  408,  389,   95,   95,  381,  380,  379,
      373,  163,  163,  163,  163,   95,   95,   95,   95,   95,

       95,   95,  366,  181,   95,   95,  182,  361,  165,  179,
      357,   95,  345,   95,   95,   95,  344,   95,  168,  164,
       95,  163,  163,  314,   95,   95,   95,   95,   95,   95,
      313,  184,  183,   95,  312,   95,   95,   95,  185,   95,
       95,  306,  186,   95,   95,  295,  163,  290,  286,  275,
       95,  274,   95,   95,   95,   95,  187,   95,   95,   95,
      188,   95,   95,  250,  248,  164,  245,  239,   95,  189,
      190,   95,   95,   95,   95,   95,  235,   95,  191,  223,
       95,  217,  192,  213,   95,  202,   95,  201,   95,  176,
      175,  173,   95,   95,   95,  169,   95,   95,  193,  194,

       95,   95,  168,   95,  196,  168,  162,   95,  160,   95,
      199,   95,   95,   95,   95,   95,  195,  197,   95,   95,
      203,  198,   95,   92,  158,  382,  382,  382,   95,   95,
       95,  200,   95,  157,  383,   95,   94,   95,  204,   95,
       91,   95,   82,   95,   79,   95,   95,   95,   95,   95,
       79,  688,   95,  206,   95,  688,   95,  688,   95,  688,
      205,  688,   95,   95,   95,   95,   95,  688,  688,  207,
      208,   95,  688,   95,   95,   95,  209,   95,  688,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
       95,   95,  211,   95,   95,  688,  210,  688,  688,   95,

      688,  212,  384,   95,   95,   95,  688,   95,  688,  688,
       95,  688,  214,  688,   95,  688,   95,   95,   95,   95,
       95,   95,  688,   95,  688,  215,   95,  688,   95,  688,
       95,   95,   95,  688,   95,  688,  688,  688,   95,   95,
       95,   95,   95,   95,   95,   95,  216,   95,  688,  218,
       95,  688,  688,  688,   95,   95,   95,  688,   95,  688,
      688,  688,  688,   95,  219,   95,  688,   95,   95,   95,
      688,  221,  688,  688,  220,  222,  688,  688,   95,  688,
       95,  688,   95,  224,   95,  688,  688,   95,  688,  688,
       95,  688,  688,  688,  225,  688,   95,  688,   95,  688,

       95,   95,   95,   95,   95,  226,  688,   95,  227,   95,
      688,   95,  231,   95,  688,   95,  688,   95,   95,   95,
       95,   95,  688,  229,   95,  228,   95,  688,   95,  688,
      230,  688,   95,  688,   95,   95,   95,   95,   95,  688,
      232,   95,  688,   95,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
      233,  688,   95,  688,   95,  236,  234,  688,   95,  688,
       95,   95,   95,   95,   95,  237,  688,   95,  238,  688,
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
      688,  242,   95,   95,  153,  153,  153,  174,  174,  174,

      174,  174,  174,  174,  174,  688,  688,  154,  154,  154,
      154,  154,  154,  155,  155,  243,  688,  688,  688,  155,
      155,  155,  155,  155,  155,  155,  155,  244,  688,  688,
      688,  155,  155,  155,  155,  155,  155,  155,  155,   95,
       95,  688,  251,  688,  688,  688,  688,  688,  688,   95,
       95,   95,   95,   95,   95,   95,   95,  688,   95,   95,
      688,  688,  688,  688,  688,   95,  252,   95,   95,   95,
       95,   95,  688,  688,   95,   95,  688,  688,  688,   95,
      688,   95,   95,   95,  253,   95,  254,  688,  688,   95,
       95,   95,   95,   95,   95,   95,   95,  688,   95,  688,

      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
      688,   95,  255,  256,   95,   95,  688,   95,  688,   95,
      688,   95,   95,   95,  688,   95,  258,  257,  688,   95,
       95,   95,   95,   95,  688,  688,  688,  688,   95,  688,
       95,  688,   95,   95,   95,  688,   95,  688,  688,  259,
       95,   95,   95,   95,  260,   95,  688,   95,  688,   95,
      261,  262,   95,  263,   95,   95,  688,  688,  265,  688,
      688,  264,  688,  688,   95,   95,   95,   95,   95,   95,
       95,  688,  688,   95,   95,  688,   95,  688,  688,  688,
       95,  688,   95,  266,   95,  688,   95,   95,   95,   95,

       95,  688,  688,   95,  688,   95,  268,   95,  267,   95,
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
       95,  688,   95,  271,  269,  688,   95,  270,   95,  688,
       95,   95,   95,   95,   95,  688,  688,  688,  688,   95,
      688,   95,   95,   95,  688,   95,  688,  688,  272,  688,
       95,  688,   95,  273,   95,   95,   95,  688,  688,  688,
      688,   95,  688,   95,  688,   95,   95,   95,  688,   95,
      688,  688,  276,   95,   95,  277,  278,   95,   95,  279,
       95,   95,   95,  688,   95,   95,  688,   95,  688,  688,
      282,  280,  688,   95,   95,   95,   95,   95,   95,   95,

       95,   95,  281,   95,  283,  688,   95,  688,  688,   95,
      688,  688,   95,  688,  688,   95,  688,  688,  688,   95,
      688,   95,   95,   95,   95,   95,   95,   95,   95,   95,
       95,   95,  688,   95,  284,  688,  287,  688,  688,  688,
      285,  688,   95,   95,   95,   95,  688,   95,   95,   95,
      688,  288,   95,  688,   95,  688,  688,  688,   95,  688,
       95,  289,   95,  688,   95,   95,   95,   95,   95,  688,
      688,  688,  688,   95,  688,   95,   95,   95,  688,   95,
      688,  688,   95,  291,   95,  688,   95,  688,   95,  688,
       95,  688,   95,   95,   95,   95,   95,  688,  688,  292,

      688,   95,  688,   95,   95,   95,  688,   95,  688,  688,
      293,  688,   95,  688,   95,   95,   95,  688,   95,  688,
      297,   95,  688,   95,  294,  296,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
       95,  298,   95,   95,   95,  688,  299,   95,  688,  688,
      688,  300,  688,   95,   95,   95,   95,   95,   95,   95,
      688,  688,   95,   95,  688,  688,  688,  688,  688,   95,
       95,   95,  688,   95,  688,  688,   95,  301,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  302,   95,   95,

       95,   95,  688,  303,  304,   95,  688,   95,  688,  688,
      305,   95,  688,   95,  688,   95,  688,   95,   95,   95,
       95,   95,  688,  688,  688,  688,   95,  688,   95,   95,
       95,  307,   95,  308,  688,  311,  688,   95,  309,   95,
      688,   95,   95,   95,  688,   95,  688,  310,   95,  688,
      688,  315,   95,  688,   95,   95,   95,   95,   95,   95,
      688,   95,  688,  688,   95,  316,  316,  316,   95,  688,
      321,  688,   95,  318,  318,  318,  688,   95,  317,  317,
      317,  317,  317,  317,  317,  317,  319,  319,  319,  319,
      319,  319,  319,  319,   95,  688,  688,  688,  688,  688,

       95,  322,  688,  688,   95,  688,   95,  688,   95,  688,
       95,  323,   95,   95,   95,   95,   95,  688,  688,   95,
      688,  688,  688,  688,  688,   95,   95,  324,   95,   95,
       95,  327,   95,   95,   95,   95,  326,  688,  688,  688,
      688,  688,   95,   95,   95,   95,   95,   95,  688,   95,
      328,   95,   95,  688,  688,   95,  688,  688,  688,   95,
      325,   95,  688,   95,  688,   95,   95,   95,   95,   95,
      688,  688,  329,  688,   95,  688,   95,   95,   95,  330,
       95,  688,  688,  688,  688,   95,  688,   95,  688,   95,
       95,   95,  332,   95,  688,  331,   95,  688,  688,  688,

       95,   95,   95,   95,   95,   95,  688,   95,  688,  333,
      688,   95,   95,  334,   95,   95,  335,   95,  688,  336,
       95,  688,  688,  688,   95,  688,   95,   95,   95,   95,
      688,   95,   95,   95,  688,  337,   95,  688,   95,  688,
      688,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,  338,  688,  688,   95,  339,   95,  688,   95,
      688,   95,  688,   95,  688,   95,   95,   95,   95,   95,
      688,  340,  688,  688,   95,  688,   95,  688,  341,  688,
       95,   95,  342,  688,  343,   95,  688,   95,  688,  688,
      688,   95,  688,   95,  688,   95,  688,   95,   95,   95,

       95,   95,  688,  688,   95,  688,   95,  688,   95,  688,
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
       95,  688,  347,   95,  688,  688,  348,  688,  688,   95,
       95,   95,   95,   95,   95,   95,  349,  688,   95,   95,
      351,   95,  346,  688,  688,   95,  688,   95,  688,   95,
      688,   95,  688,   95,  350,   95,   95,  352,  688,  355,
       95,  353,  688,  688,  688,  688,   95,  688,   95,   95,
       95,  688,  354,  688,  688,   95,  688,   95,  688,   95,
      688,   95,  688,   95,  688,   95,  688,   95,   95,   95,
      688,   95,  688,  688,  356,   95,   95,   95,  688,   95,

       95,  358,  688,   95,   95,  688,  688,  688,  688,  688,
       95,  688,   95,   95,   95,   95,   95,   95,  688,   95,
      688,  359,   95,  363,   95,  688,   95,  362,   95,  360,
       95,  688,  688,  688,   95,   95,   95,  688,   95,   95,
      688,  688,   95,   95,  688,  364,  688,  688,  688,   95,
      688,   95,   95,   95,   95,  688,   95,   95,   95,  365,
       95,   95,  688,   95,  688,  688,  688,   95,  688,   95,
       95,   95,   95,   95,   95,   95,   95,   95,  688,   95,
       95,  367,   95,  368,  688,  688,   95,  688,  688,  688,
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,

       95,  688,  370,   95,  688,   95,  688,   95,  688,  369,
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
       95,  372,   95,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
       95,   95,   95,   95,  688,  688,   95,  688,  371,  688,
      688,  688,   95,   95,  374,   95,   95,   95,  688,   95,
       95,   95,  375,  376,  688,  688,  688,  688,  688,   95,
       95,   95,   95,   95,   95,  688,   95,   95,   95,   95,
      688,  688,  688,  688,  688,  688,   95,   95,   95,   95,

       95,   95,  688,  378,  377,   95,   95,  316,  316,  316,
      688,  688,  688,  688,  688,  318,  318,  318,  688,  688,
      317,  317,  317,  317,  317,  317,  317,  317,  319,  319,
      319,  319,  319,  319,  319,  319,  383,  688,   95,  688,
      319,  319,  319,  319,  319,  319,  319,  319,   95,  688,
       95,  688,   95,   95,  387,  688,  386,   95,  388,   95,
      688,  688,  688,   95,  688,   95,  688,   95,  688,   95,
       95,   95,   95,   95,  688,  390,   95,  688,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,  391,  688,   95,   95,  688,  392,  688,  688,

      688,   95,   95,   95,   95,   95,   95,  688,   95,  688,
       95,  688,   95,   95,   95,   95,   95,  688,  688,  688,
      688,   95,  688,   95,  688,   95,  688,  393,  688,   95,
      688,   95,  688,   95,   95,   95,  688,   95,  395,  394,
      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
       95,  688,   95,  688,  396,  397,   95,  688,   95,  398,
      688,  688,   95,   95,   95,   95,   95,  399,  688,  688,
      688,   95,  688,   95,  688,   95,  400,   95,  688,   95,
      401,   95,  688,   95,   95,   95,  688,   95,  688,   95,
      688,   95,   95,   95,  688,   95,  688,  402,  688,   95,

       95,   95,  688,   95,   95,  404,  688,  403,   95,  688,
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,   95,  405,   95,
      688,   95,  688,   95,  688,   95,  688,   95,  406,  407,
       95,   95,   95,   95,  688,  688,   95,  688,  688,  688,
      411,  688,   95,   95,   95,   95,   95,   95,  688,  688,
       95,   95,   95,   95,  412,  688,  413,  688,  688,  688,
       95,  688,   95,   95,   95,   95,  688,   95,  414,   95,
       95,   95,   95,  415,  688,  688,  688,  688,  688,  688,
       95,   95,  416,   95,   95,   95,   95,  688,  688,   95,

       95,  688,   95,  688,  688,  418,   95,  688,   95,  688,
       95,  420,   95,   95,   95,  417,   95,  688,  421,   95,
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
      419,   95,   95,   95,   95,  688,  688,   95,   95,  688,
       95,  688,  688,  688,   95,  688,   95,   95,   95,   95,
       95,   95,   95,   95,   95,  423,   95,   95,   95,   95,
      688,  688,  688,  688,  688,  688,  688,   95,   95,  424,
       95,   95,   95,   95,  426,  688,   95,   95,  688,   95,
      427,  688,  688,   95,  688,   95,  688,   95,  688,   95,
       95,  428,   95,   95,  688,  688,  688,  688,   95,  688,

       95,  688,   95,   95,   95,  688,   95,  688,  429,   95,
      431,  688,  688,   95,   95,   95,   95,   95,  432,  433,
       95,  688,   95,  688,   95,   95,   95,   95,   95,  688,
      688,  688,  688,   95,  688,  688,  688,   95,   95,   95,
      688,   95,  688,  688,   95,  436,   95,  688,   95,  434,
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
       95,  688,  438,   95,  688,  688,  688,  688,  688,   95,
       95,   95,   95,   95,   95,   95,  439,  688,   95,   95,
      688,  688,  445,  445,  445,   95,  688,   95,  688,   95,
      688,  688,  688,   95,   95,  446,  446,  446,  446,  446,

      446,  446,  446,   95,  688,   95,  688,   95,  688,  448,
       95,  688,   95,   95,  688,  688,   95,  688,  688,  441,
       95,  688,   95,   95,   95,   95,   95,   95,  451,   95,
       95,  449,   95,   95,   95,   95,  688,  688,  688,  688,
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
      688,  452,   95,   95,   95,  688,  688,  453,  688,  454,
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
      688,   95,  688,  455,  688,   95,  688,   95,  688,   95,
       95,   95,   95,  688,  457,  456,   95,  688,   95,  688,

      688,  688,   95,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,  688,  688,   95,  458,   95,  459,  688,
      688,   95,  688,  460,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  462,   95,  688,
       95,  688,   95,  688,  461,  688,   95,  688,   95,   95,
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
      688,   95,  463,   95,  688,   95,   95,   95,   95,   95,
      688,  688,   95,  688,   95,  688,   95,  688,   95,  465,
       95,  688,   95,  464,   95,   95,   95,  466,   95,   95,
      688,   95,  688,  470,  688,  688,  688,  688,   95,   95,

       95,   95,   95,   95,   95,  688,  688,   95,   95,  688,
       95,  471,  472,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
      474,   95,  688,   95,  688,   95,  688,   95,  473,   95,
       95,   95,   95,  475,  688,  688,   95,  688,   95,  476,
      688,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,   95,  688,  688,  688,  688,   95,  688,   95,
      688,   95,  688,   95,   95,  477,  688,  478,   95,  688,
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,  479,  480,   95,

      688,   95,   95,   95,  688,   95,  688,  482,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
      688,  484,  688,   95,  688,   95,   95,  485,   95,   95,
      688,  688,  688,  688,   95,  688,   95,  688,   95,   95,
       95,  688,  487,  688,  486,   95,  688,   95,  688,   95,
      688,   95,  688,   95,  688,  688,  688,   95,   95,   95,
      688,   95,   95,  490,  688,   95,   95,  489,   95,  688,
      688,  688,   95,  688,   95,   95,   95,   95,   95,   95,
       95,   95,   95,   95,   95,  492,   95,   95,  688,   95,

      688,  688,  688,   95,  688,   95,   95,   95,   95,   95,
       95,   95,   95,   95,  688,   95,  494,  688,   95,  445,
      445,  445,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  446,  446,  446,  446,  446,  446,  446,  446,
      500,  688,   95,  688,  446,  446,  446,  446,  446,  446,
      446,  446,   95,  688,   95,   95,   95,  688,   95,  688,
      502,   95,  503,  688,  688,   95,  688,   95,   95,   95,
       95,  688,   95,   95,   95,  688,  505,   95,  688,   95,
      688,  688,  688,   95,  688,   95,  688,   95,  688,   95,
       95,  506,   95,   95,  688,  688,   95,  507,   95,  688,

       95,  688,   95,  508,   95,  688,   95,   95,   95,   95,
       95,  688,  688,   95,  688,   95,  688,   95,  688,   95,
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
      688,  509,   95,  688,   95,   95,   95,  510,   95,  688,
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  511,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,   95,  688,  688,  688,  512,   95,  688,   95,
       95,   95,  688,   95,  688,  688,  514,  513,   95,  688,
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,

       95,  688,  688,   95,  688,   95,  688,  515,  688,   95,
      520,   95,  688,   95,   95,   95,   95,   95,  688,  688,
      688,  688,   95,  688,   95,   95,   95,  688,   95,  688,
      688,   95,  521,   95,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
       95,  523,   95,  688,   95,  688,   95,  688,   95,  522,
       95,   95,   95,   95,   95,  688,  688,   95,  688,  688,
      688,  688,  688,   95,   95,   95,   95,   95,   95,   95,
      525,  524,   95,   95,  688,   95,  688,  688,  688,   95,
      688,   95,  688,   95,  688,   95,   95,   95,   95,   95,

      688,  688,   95,  688,   95,  688,   95,  688,  527,  688,
       95,  688,  529,   95,   95,   95,   95,  688,  688,  688,
      688,   95,  688,   95,   95,   95,  688,   95,  531,  526,
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
      533,   95,  688,   95,  688,   95,  688,   95,  688,   95,
       95,   95,   95,  688,  688,  534,   95,  688,   95,  688,
      688,  536,   95,  688,   95,  688,   95,  688,   95,  688,
       95,   95,   95,  538,   95,  688,  688,   95,  688,  688,
      688,  543,  543,  543,   95,  688,   95,  688,   95,  688,

      688,  688,  688,   95,  544,  544,  544,  544,  544,  544,
      544,  544,   95,   95,  547,  688,  688,  688,  688,  546,
      688,  688,   95,   95,   95,   95,   95,   95,   95,  688,
      688,   95,   95,  688,  688,  688,   95,  688,   95,   95,
       95,  688,   95,  688,  549,  688,   95,   95,   95,   95,
       95,  551,   95,   95,  550,   95,  688,  688,   95,  688,
       95,  688,   95,  688,  552,  554,   95,  688,   95,  688,
       95,   95,   95,  553,   95,  688,  688,  688,   95,   95,
       95,   95,   95,  688,  688,  688,  688,   95,  688,   95,
      688,   95,  555,   95,  688,   95,  688,   95,  688,   95,

       95,   95,  688,   95,  688,   95,  688,   95,   95,   95,
      688,   95,  556,   95,  688,   95,   95,   95,  688,   95,
      688,  688,  688,   95,   95,   95,   95,   95,  688,  561,
      688,  688,   95,  688,   95,  688,   95,   95,   95,  688,
       95,  688,  688,  688,   95,   95,   95,   95,   95,   95,
       95,   95,  688,   95,  688,  688,   95,  688,   95,  688,
       95,   95,   95,  688,   95,  562,  688,  688,   95,   95,
       95,   95,   95,   95,   95,   95,  688,   95,  565,  563,
       95,  688,   95,  688,   95,  688,   95,  570,   95,  688,
       95,  688,   95,   95,   95,  688,   95,  568,  688,  688,

       95,   95,   95,   95,   95,  688,   95,  688,  688,   95,
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
       95,  688,   95,  688,   95,   95,  572,   95,   95,  688,
      688,  688,  688,   95,  543,  543,  543,  574,  688,   95,
      688,   95,  688,  688,  688,   95,   95,  544,  544,  544,
      544,  544,  544,  544,  544,   95,   95,   95,  582,   95,
      688,  688,   95,  688,   95,  688,   95,  688,   95,  688,
       95,  688,   95,   95,   95,   95,   95,  688,  688,   95,
      688,   95,  584,   95,  688,   95,  688,   95,  688,   95,
      583,   95,   95,   95,   95,   95,  688,  688,   95,  585,

      688,  688,  688,  688,   95,   95,   95,  586,   95,   95,
       95,  587,  688,   95,   95,  688,   95,  688,  588,  688,
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
       95,  688,  688,   95,  688,   95,  688,  589,  688,   95,
      688,   95,  688,   95,   95,   95,   95,   95,  688,  593,
      688,  688,   95,  688,   95,   95,   95,  594,   95,  688,
      688,   95,  595,   95,  688,   95,  688,   95,  597,   95,
      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
       95,  688,   95,   95,  600,  688,   95,  688,  688,   95,
      688,   95,  688,   95,  688,   95,  602,   95,  688,   95,

       95,   95,   95,   95,  688,  688,   95,  603,   95,  688,
       95,  688,   95,  688,   95,  688,   95,   95,  610,   95,
       95,  688,  688,  688,  688,   95,  688,   95,   95,   95,
      611,   95,  688,  688,   95,  688,   95,  688,   95,  688,
       95,  688,   95,  688,   95,   95,   95,   95,   95,  688,
      688,  688,  688,   95,  688,   95,   95,   95,  688,   95,
      688,  688,  612,  688,   95,  688,   95,   95,   95,  613,
       95,  688,  688,   95,  688,   95,  688,   95,  688,   95,
      614,   95,  688,   95,   95,   95,   95,   95,  688,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,

       95,   95,  618,   95,   95,  688,  688,   95,  688,   95,
      688,   95,  688,   95,  619,   95,  688,   95,   95,  621,
       95,   95,  688,  688,   95,  624,   95,  688,   95,  688,
       95,  626,   95,  688,   95,   95,   95,   95,   95,  688,
      688,   95,  627,   95,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
      688,  633,  688,   95,  688,   95,   95,   95,   95,   95,
      688,  688,   95,  634,   95,  688,   95,  688,   95,  688,

       95,  688,   95,  638,  639,   95,   95,   95,  688,  688,
       95,   95,  688,   95,  641,  646,  688,   95,  688,   95,
       95,   95,   95,   95,   95,   95,   95,   95,  644,   95,
       95,  688,   95,   95,  647,  688,   95,  688,  688,  688,
       95,  688,   95,   95,   95,   95,   95,   95,   95,   95,
       95,  653,   95,   95,   95,   95,  688,  688,  688,  654,
      688,  688,  688,   95,   95,   95,   95,   95,   95,   95,
       95,  688,   95,   95,  688,  688,  688,  688,  688,   95,
       95,   95,   95,   95,   95,   95,  688,  658,   95,   95,
      688,   95,  688,  661,  688,   95,  688,   95,  663,   95,

      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
       95,  688,   95,   95,   95,  688,   95,  688,  669,   95,
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
      688,   95,   95,   95,   95,  688,  688,   95,   95,  688,
      674,  688,  671,  688,   95,   95,   95,   95,   95,   95,
      688,   95,  688,   95,  688,   95,   95,   95,  678,   95,
       95,   95,  688,  688,   95,  688,  688,  688,  688,  688,
       95,   95,   95,   95,   95,   95,   95,  682,  688,   95,
       95,  688,   95,  688,  688,  688,  685,  688,   95,  688,
       95,  688,   95,   95,   95,   95,   95,  688,  688,  688,

      688,   95,  688,   95,  688,   95,  688,   95,  688,  688,
      688,  688,   95,   52,   52,   52,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   56,   56,   56,
       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
       56,   60,   60,   60,   60,   60,   60,   60,   60,   60,
       60,   60,   60,   60,   60,   63,   63,   63,   63,   63,
       63,   63,   63,   63,   63,   63,   63,   63,   63,   72,
       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
       72,   72,   72,   74,   74,   74,   74,   74,   74,   74,
       74,   74,   74,   74,   74,   74,   74,   81,   81,   81,

      688,   81,   81,   81,   81,   81,   81,   81,   81,   81,
       81,   88,   88,  688,  688,   88,  688,  688,   88,  688,
       88,  152,  152,  688,  152,  152,  156,  156,  688,  156,
      156,  156,  156,  688,  156,  156,  156,  156,  156,  156,
      159,  159,  159,  688,  159,  159,  159,  159,  159,  159,
      159,  159,  159,  159,  161,  161,  161,  161,  161,  161,
      161,  161,  161,  688,  161,  161,  163,  688,  688,  163,
      163,  163,  163,  163,  163,  163,  163,  163,  164,  688,
      688,  164,  164,  164,  164,  164,  164,  164,  164,  164,
      166,  688,  688,  166,  688,  166,  166,  166,  166,  166,

      166,  166,  170,  170,  688,  170,  170,  171,  171,  688,
      171,  171,  101,  101,  688,  101,  101,  317,  317,  688,
      688,  688,  317,  688,  317,  688,  688,  688,  688,  317,
      544,  544,  688,  688,  688,  688,  688,  544,  688,  688,
      688,  688,  544,   15,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,

      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688
    } ;

static yyconst short int yy_chk[4624] =
    {   0,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
        3,    4,    4,    7,    5,    6,    7,    9,    3,  150,
        4,    5,    6,   10,    8,    5,    6,    8,   17,   17,

       17,   26,  150,   26,   17,  172,  684,    9,  246,  246,
        9,  172,  385,   10,   77,  320,   10,  385,   18,   18,
       18,   13,   13,   13,   18,  320,   13,   14,   14,   14,
       77,  680,   14,   22,   22,   22,   75,   75,   75,   22,
       24,   76,   76,   76,   24,   38,   22,   22,   24,   24,
       24,   24,   24,   24,   24,   38,  677,   38,  501,   38,
       77,    9,  675,    9,   38,  501,  673,   10,  672,   10,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   28,   28,   28,   28,   28,   28,
       28,   28,   11,   11,   11,   11,   13,   85,   13,  670,

       11,  545,   14,  467,   14,   32,  668,  666,   32,   80,
       80,   80,   32,  665,  662,   32,   32,   32,   32,   32,
       33,  467,   11,   11,   32,  660,   33,   85,   32,  545,
       33,  656,   33,   33,   33,  167,  167,  167,  652,   33,
      382,  382,  382,  651,  650,  649,   11,   11,   11,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,  648,  165,  165,   34,  645,  643,   34,
      642,   12,   12,   12,   12,  165,   34,   35,   34,   12,
       34,  637,  636,  635,  632,   34,  631,   35,   35,   35,
      630,   35,   36,   36,  629,  628,   35,  625,  623,   35,

      622,   12,   12,   36,   37,   36,  620,   36,  617,   36,
      616,  615,   36,  609,   37,  608,   37,  382,   37,   39,
       39,  607,   39,   37,  606,   12,   12,   12,   21,  604,
       39,   39,   39,  601,   39,   37,  599,   39,  598,   39,
      596,  592,  591,  590,   21,  581,   37,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,  578,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   31,  577,  576,

       31,   31,   31,   31,   31,   31,   31,   31,  575,  573,
      569,  567,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,  566,  564,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
       31,   31,   40,   40,   41,  559,  558,  544,  544,  544,
       40,  557,  542,   40,   41,   40,   41,   40,   41,  541,
       42,   42,   40,   41,   42,   43,   43,  540,   43,  539,
       42,  537,   42,  535,   42,  532,   43,  530,   43,   42,

       43,   44,   43,  528,   44,   43,  526,   45,   42,   41,
       45,   44,  519,   44,   45,   44,   46,   45,  518,   45,
       44,   45,  517,   46,   46,   45,   45,   47,   43,  516,
       45,  579,  579,  579,   46,  504,   46,   47,   46,   47,
       46,   47,   48,   46,  544,   47,   47,   46,  499,  498,
       49,  497,   48,  496,   48,   46,   48,   49,  493,  491,
       49,   48,   49,  488,   49,  483,   47,  481,  469,   49,
       51,   51,   51,  468,  450,  447,  444,   48,  443,  442,
      441,  440,  437,   51,   51,   51,   51,   51,   51,   51,
       51,   72,  435,  430,  425,   72,   72,   72,   72,   72,

       72,   72,   72,   72,   72,   87,   87,   87,  579,  422,
      410,   87,  409,   72,   72,   72,   72,  408,   87,   87,
       90,   90,   90,   90,   90,   90,   90,   90,   93,   93,
       93,   93,   93,   93,   93,   93,   95,   96,  389,  381,
      380,  379,  377,   72,   72,  373,   95,   96,   95,   96,
       95,   96,   97,   99,   96,   95,   96,  371,  366,  361,
      357,  346,   97,   99,   97,   99,   97,   99,   72,   73,
      345,   97,   99,   73,   73,   73,   73,   73,   73,   73,
       73,   73,   73,  344,  325,  100,   98,  314,  313,  312,
      306,   73,   73,   73,   73,  100,   98,  100,   98,  100,

       98,  102,  295,  100,  100,   98,  102,  290,   73,   98,
      286,  102,  275,  102,  103,  102,  274,  104,  248,  247,
      102,   73,   73,  241,  103,  105,  103,  104,  103,  104,
      240,  104,  103,  103,  239,  105,  104,  105,  105,  105,
      106,  235,  107,  107,  105,  223,   73,  217,  213,  202,
      106,  201,  106,  107,  106,  107,  107,  107,  109,  106,
      108,  108,  107,  173,  169,  164,  162,  149,  109,  109,
      109,  108,  109,  108,  110,  108,  146,  109,  110,  136,
      108,  131,  111,  126,  110,  117,  110,  116,  110,   94,
       91,   88,  111,  110,  111,   83,  111,  112,  112,  112,

      114,  111,   82,  113,  113,   79,   65,  112,   62,  112,
      114,  112,  114,  113,  114,  113,  112,  113,  115,  114,
      118,  113,  113,   59,   58,  317,  317,  317,  115,  118,
      115,  115,  115,   55,  317,  119,   29,  115,  119,  118,
       25,  118,   20,  118,   19,  119,  120,  119,  118,  119,
       16,   15,  121,  121,  119,    0,  120,    0,  120,    0,
      120,    0,  121,  122,  121,  120,  121,    0,    0,  121,
      121,  121,    0,  122,  123,  122,  122,  122,    0,    0,
      124,    0,  122,    0,  123,    0,  123,    0,  123,    0,
      124,  125,  124,  123,  124,    0,  123,    0,    0,  124,

        0,  125,  317,  125,  127,  125,    0,  128,    0,    0,
      125,    0,  127,    0,  127,    0,  127,  128,  127,  128,
      129,  128,    0,  127,    0,  128,  128,    0,  130,    0,
      129,  132,  129,    0,  129,    0,    0,    0,  130,  129,
      130,  132,  130,  132,  133,  132,  130,  130,    0,  132,
      132,    0,    0,    0,  133,  134,  133,    0,  133,    0,
        0,    0,    0,  133,  133,  134,    0,  134,  135,  134,
        0,  135,    0,    0,  134,  135,    0,    0,  135,    0,
      135,    0,  135,  137,  137,    0,    0,  135,    0,    0,
      138,    0,    0,    0,  137,    0,  137,    0,  137,    0,

      138,  139,  138,  137,  138,  138,    0,  140,  138,  138,
        0,  139,  142,  139,    0,  139,    0,  140,  141,  140,
      139,  140,    0,  140,  142,  139,  140,    0,  141,    0,
      141,    0,  141,    0,  142,  143,  142,  141,  142,    0,
      143,  144,    0,  142,    0,  143,    0,  143,    0,  143,
        0,  144,  145,  144,  143,  144,    0,    0,  147,    0,
      144,    0,  145,    0,  145,  147,  145,    0,  147,    0,
      147,  145,  147,  151,  148,  148,    0,  147,  148,    0,
        0,    0,    0,  151,  148,  151,  148,  151,  148,    0,
        0,  151,  151,  148,  153,  153,  153,  174,  174,  174,

      174,  174,  174,  174,  174,    0,    0,  153,  153,  153,
      153,  153,  153,  153,  153,  154,    0,    0,    0,  154,
      154,  154,  154,  154,  154,  154,  154,  155,    0,    0,
        0,  155,  155,  155,  155,  155,  155,  155,  155,  177,
      178,    0,  177,    0,    0,    0,    0,    0,    0,  177,
      178,  177,  178,  177,  178,  179,  180,    0,  177,  178,
        0,    0,    0,    0,    0,  179,  180,  179,  180,  179,
      180,  181,    0,    0,  179,  180,    0,    0,    0,  182,
        0,  181,  183,  181,  181,  181,  182,    0,    0,  182,
      181,  182,  183,  182,  183,  184,  183,    0,  182,    0,

        0,  183,    0,  185,    0,  184,    0,  184,    0,  184,
        0,  186,  184,  185,  184,  185,    0,  185,    0,  187,
        0,  186,  185,  186,    0,  186,  187,  186,    0,  187,
      186,  187,  188,  187,    0,    0,    0,    0,  187,    0,
      189,    0,  188,  190,  188,    0,  188,    0,    0,  188,
      189,  188,  189,  190,  189,  190,    0,  190,    0,  189,
      190,  190,  190,  191,  191,  192,    0,    0,  192,    0,
        0,  191,    0,    0,  191,  192,  191,  192,  191,  192,
      193,    0,    0,  191,  192,    0,  194,    0,    0,    0,
      193,    0,  193,  193,  193,    0,  194,  195,  194,  193,

      194,    0,    0,  196,    0,  194,  196,  195,  195,  195,
        0,  195,    0,  196,  197,  196,  195,  196,    0,    0,
      198,    0,  196,  198,  197,    0,  197,  197,  197,    0,
      198,  199,  198,  197,  198,    0,    0,    0,    0,  198,
        0,  199,  200,  199,    0,  199,    0,    0,  199,    0,
      199,    0,  200,  200,  200,  203,  200,    0,    0,    0,
        0,  200,    0,  204,    0,  203,  205,  203,    0,  203,
        0,    0,  203,  204,  203,  204,  205,  204,  205,  205,
      205,  206,  204,    0,  207,  205,    0,  208,    0,    0,
      208,  206,    0,  206,  207,  206,  207,  208,  207,  208,

      206,  208,  207,  207,  209,    0,  208,    0,    0,  210,
        0,    0,  209,    0,    0,  211,    0,    0,    0,  210,
        0,  210,  209,  210,  209,  211,  209,  211,  210,  211,
      212,  209,    0,  214,  211,    0,  214,    0,    0,    0,
      212,    0,  212,  214,  212,  214,    0,  214,  215,  212,
        0,  215,  214,    0,  216,    0,    0,    0,  215,    0,
      215,  216,  215,    0,  216,  218,  216,  215,  216,    0,
        0,    0,    0,  216,    0,  218,  219,  218,    0,  218,
        0,    0,  220,  218,  218,    0,  219,    0,  219,    0,
      219,    0,  220,  221,  220,  219,  220,    0,    0,  220,

        0,  220,    0,  221,  222,  221,    0,  221,    0,    0,
      221,    0,  221,    0,  222,  224,  222,    0,  222,    0,
      225,  225,    0,  222,  222,  224,    0,  224,    0,  224,
        0,  225,  226,  225,  224,  225,    0,    0,  227,    0,
      225,    0,  226,    0,  226,    0,  226,    0,  227,    0,
      227,  226,  227,  228,  229,    0,  228,  227,    0,    0,
        0,  229,    0,  228,  229,  228,  229,  228,  229,  230,
        0,    0,  228,  229,    0,    0,    0,    0,    0,  230,
      231,  230,    0,  230,    0,    0,  232,  230,  230,    0,
      231,    0,  231,    0,  231,    0,  232,  231,  232,  231,

      232,  233,    0,  232,  233,  232,    0,  234,    0,    0,
      234,  233,    0,  233,    0,  233,    0,  234,  236,  234,
      233,  234,    0,    0,    0,    0,  234,    0,  236,  237,
      236,  236,  236,  236,    0,  238,    0,  236,  236,  237,
        0,  237,  238,  237,    0,  242,    0,  237,  237,    0,
        0,  242,  238,    0,  238,  242,  238,  242,  251,  242,
        0,  238,    0,    0,  242,  243,  243,  243,  251,    0,
      251,    0,  251,  244,  244,  244,    0,  251,  243,  243,
      243,  243,  243,  243,  243,  243,  244,  244,  244,  244,
      244,  244,  244,  244,  252,    0,    0,    0,    0,    0,

      253,  252,    0,    0,  252,    0,  252,    0,  252,    0,
      253,  253,  253,  252,  253,  254,  255,    0,    0,  253,
        0,    0,    0,    0,    0,  254,  255,  254,  255,  254,
      255,  257,  257,  256,  254,  255,  256,    0,    0,    0,
        0,    0,  257,  256,  257,  256,  257,  256,    0,  258,
      258,  257,  256,    0,    0,  259,    0,    0,    0,  258,
      255,  258,    0,  258,    0,  259,  260,  259,  258,  259,
        0,    0,  259,    0,  259,    0,  260,  261,  260,  260,
      260,    0,    0,    0,    0,  260,    0,  261,    0,  261,
      263,  261,  262,  262,    0,  261,  261,    0,    0,    0,

      263,  264,  263,  262,  263,  262,    0,  262,    0,  263,
        0,  264,  262,  264,  265,  264,  265,  266,    0,  266,
      264,    0,    0,    0,  265,    0,  265,  266,  265,  266,
        0,  266,  267,  265,    0,  267,  266,    0,  268,    0,
        0,    0,  267,    0,  267,    0,  267,    0,  268,  269,
      268,  267,  268,    0,    0,  270,  269,  268,    0,  269,
        0,  269,    0,  269,    0,  270,  271,  270,  269,  270,
        0,  270,    0,    0,  270,    0,  271,    0,  271,    0,
      271,  272,  271,    0,  272,  271,    0,  273,    0,    0,
        0,  272,    0,  272,    0,  272,    0,  273,  276,  273,

      272,  273,    0,    0,  277,    0,  273,    0,  276,    0,
      276,    0,  276,    0,  277,    0,  277,  276,  277,  278,
      279,    0,  277,  277,    0,    0,  278,    0,    0,  278,
      279,  278,  279,  278,  279,  280,  279,    0,  278,  279,
      281,  281,  276,    0,    0,  280,    0,  280,    0,  280,
        0,  281,    0,  281,  280,  281,  282,  281,    0,  283,
      281,  282,    0,    0,    0,    0,  282,    0,  282,  283,
      282,    0,  282,    0,    0,  282,    0,  284,    0,  283,
        0,  283,    0,  283,    0,  285,    0,  284,  283,  284,
        0,  284,    0,    0,  284,  285,  284,  285,    0,  285,

      287,  287,    0,  288,  285,    0,    0,    0,    0,    0,
      287,    0,  287,  288,  287,  288,  289,  288,    0,  287,
        0,  288,  288,  292,  291,    0,  289,  291,  289,  289,
      289,    0,    0,    0,  291,  289,  291,    0,  291,  292,
        0,    0,  293,  291,    0,  293,    0,    0,    0,  292,
        0,  292,  293,  292,  293,    0,  293,  296,  292,  294,
      294,  293,    0,  297,    0,    0,    0,  296,    0,  296,
      294,  296,  294,  297,  294,  297,  296,  297,    0,  294,
      298,  297,  297,  298,    0,    0,  299,    0,    0,    0,
      298,    0,  298,    0,  298,    0,  299,  300,  299,  298,

      299,    0,  301,  301,    0,  299,    0,  300,    0,  300,
        0,  300,    0,  301,  302,  301,  300,  301,    0,    0,
      303,  305,  301,    0,  302,    0,  302,    0,  302,    0,
      303,  304,  303,  302,  303,    0,    0,  305,    0,  303,
        0,  304,    0,  304,    0,  304,    0,  305,    0,  305,
      304,  305,  307,  308,    0,    0,  305,    0,  302,    0,
        0,    0,  307,  308,  307,  308,  307,  308,    0,  310,
      309,  307,  308,  309,    0,    0,    0,    0,    0,  310,
      309,  310,  309,  310,  309,    0,  311,  315,  310,  309,
        0,    0,    0,    0,    0,    0,  311,  315,  311,  315,

      311,  315,    0,  311,  310,  311,  315,  316,  316,  316,
        0,    0,    0,    0,    0,  318,  318,  318,    0,    0,
      316,  316,  316,  316,  316,  316,  316,  316,  318,  318,
      318,  318,  318,  318,  318,  318,  319,    0,  321,    0,
      319,  319,  319,  319,  319,  319,  319,  319,  321,    0,
      321,    0,  321,  322,  322,    0,  321,  321,  323,  323,
        0,    0,    0,  322,    0,  322,    0,  322,    0,  323,
      324,  323,  322,  323,    0,  326,  326,    0,  323,    0,
      324,    0,  324,    0,  324,    0,  326,    0,  326,  324,
      326,  327,  327,    0,  328,  326,    0,  328,    0,    0,

        0,  327,  329,  327,  328,  327,  328,    0,  328,    0,
      327,    0,  329,  328,  329,  330,  329,    0,    0,    0,
        0,  329,    0,  331,    0,  330,    0,  330,    0,  330,
        0,  332,    0,  331,  330,  331,    0,  331,  332,  331,
        0,  332,  331,  332,  333,  332,    0,    0,    0,    0,
      332,    0,  334,    0,  333,  334,  333,    0,  333,  334,
        0,    0,  334,  333,  334,  335,  334,  335,    0,    0,
        0,  334,    0,  336,    0,  335,  336,  335,    0,  335,
      336,  337,    0,  336,  335,  336,    0,  336,    0,  338,
        0,  337,  336,  337,    0,  337,    0,  337,    0,  338,

      337,  338,    0,  338,  339,  339,    0,  338,  338,    0,
      340,    0,    0,    0,  339,    0,  339,    0,  339,    0,
      340,  341,  340,  339,  340,    0,    0,  342,  340,  340,
        0,  341,    0,  341,    0,  341,    0,  342,  341,  342,
      341,  342,  343,  347,    0,    0,  342,    0,    0,    0,
      347,    0,  343,  347,  343,  347,  343,  347,    0,    0,
      349,  343,  347,  348,  348,    0,  348,    0,    0,    0,
      349,    0,  349,  348,  349,  348,    0,  348,  349,  349,
      351,  350,  348,  350,    0,    0,    0,    0,    0,    0,
      351,  350,  351,  350,  351,  350,  352,    0,    0,  351,

      350,    0,  353,    0,    0,  353,  352,    0,  352,    0,
      352,  355,  353,  354,  353,  352,  353,    0,  356,  355,
        0,  353,    0,  354,    0,  354,    0,  354,    0,  355,
      354,  355,  354,  355,  356,    0,    0,  358,  355,    0,
      359,    0,    0,    0,  356,    0,  356,  358,  356,  358,
      359,  358,  359,  356,  359,  358,  358,  360,  362,  359,
        0,    0,    0,    0,    0,    0,    0,  360,  362,  360,
      362,  360,  362,  363,  362,    0,  360,  362,    0,  364,
      363,    0,    0,  363,    0,  363,    0,  363,    0,  364,
      365,  364,  363,  364,    0,    0,    0,    0,  364,    0,

      365,    0,  365,  367,  365,    0,  368,    0,  365,  365,
      367,    0,    0,  367,  369,  367,  368,  367,  368,  369,
      368,    0,  367,    0,  369,  368,  369,  370,  369,    0,
        0,    0,    0,  369,    0,    0,    0,  370,  372,  370,
        0,  370,    0,    0,  374,  372,  370,    0,  372,  370,
      372,    0,  372,    0,  374,    0,  374,  372,  374,  375,
      376,    0,  375,  374,    0,    0,    0,    0,    0,  375,
      376,  375,  376,  375,  376,  378,  376,    0,  375,  376,
        0,    0,  383,  383,  383,  378,    0,  378,    0,  378,
        0,    0,    0,  386,  378,  383,  383,  383,  383,  383,

      383,  383,  383,  386,    0,  386,    0,  386,    0,  387,
      387,    0,  386,  388,    0,    0,  390,    0,    0,  378,
      387,    0,  387,  388,  387,  388,  390,  388,  390,  387,
      390,  388,  388,  391,  392,  390,    0,    0,    0,    0,
        0,    0,    0,  391,  392,  391,  392,  391,  392,    0,
        0,  391,  391,  392,  393,    0,    0,  393,    0,  394,
      394,    0,    0,    0,  393,    0,  393,    0,  393,    0,
      394,  395,  394,  393,  394,    0,    0,  396,    0,  394,
        0,  395,    0,  395,    0,  395,    0,  396,    0,  396,
      395,  396,  397,    0,  397,  396,  396,    0,  398,    0,

        0,    0,  397,    0,  397,    0,  397,    0,  398,    0,
      398,  397,  398,    0,    0,  399,  398,  398,  399,    0,
        0,  400,    0,  400,    0,  399,    0,  399,    0,  399,
        0,  400,  401,  400,  399,  400,    0,  402,  402,    0,
      400,    0,  401,    0,  401,    0,  401,    0,  402,  403,
      402,  401,  402,    0,    0,  404,    0,  402,    0,  403,
        0,  403,  404,  403,    0,  404,  405,  404,  403,  404,
        0,    0,  406,    0,  404,    0,  405,    0,  405,  406,
      405,    0,  406,  405,  406,  405,  406,  407,  407,  411,
        0,  406,    0,  411,    0,    0,    0,    0,  407,  411,

      407,  411,  407,  411,  412,    0,    0,  407,  411,    0,
      413,  412,  413,    0,  412,    0,  412,    0,  412,    0,
      413,  414,  413,  412,  413,    0,    0,  415,    0,  413,
      415,  414,    0,  414,    0,  414,    0,  415,  414,  415,
      414,  415,  416,  416,    0,    0,  415,    0,  417,  417,
        0,    0,  416,    0,  416,    0,  416,    0,  417,  418,
      417,  416,  417,    0,    0,    0,    0,  417,    0,  418,
        0,  418,    0,  418,  419,  418,    0,  419,  418,    0,
      420,    0,    0,    0,  419,    0,  419,    0,  419,    0,
      420,  421,  420,  419,  420,    0,    0,  420,  421,  420,

        0,  421,  423,  421,    0,  421,    0,  424,  424,    0,
      421,    0,  423,    0,  423,    0,  423,    0,  424,  426,
      424,  423,  424,    0,    0,  427,    0,  424,    0,  426,
        0,  426,    0,  426,    0,  427,  428,  427,  426,  427,
        0,    0,    0,    0,  427,    0,  428,    0,  428,  429,
      428,    0,  429,    0,  428,  428,    0,  431,    0,  429,
        0,  429,    0,  429,    0,    0,    0,  431,  429,  431,
        0,  431,  432,  432,    0,  433,  431,  431,  434,    0,
        0,    0,  432,    0,  432,  433,  432,  433,  434,  433,
      434,  432,  434,  436,  433,  436,  438,  434,    0,  439,

        0,    0,    0,  436,    0,  436,  438,  436,  438,  439,
      438,  439,  436,  439,    0,  438,  439,    0,  439,  445,
      445,  445,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,  445,  445,  445,  445,  445,  445,  445,  445,
      446,    0,  448,    0,  446,  446,  446,  446,  446,  446,
      446,  446,  448,    0,  448,  449,  448,    0,  451,    0,
      448,  448,  449,    0,    0,  449,    0,  449,  451,  449,
      451,    0,  451,  452,  449,    0,  452,  451,    0,  453,
        0,    0,    0,  452,    0,  452,    0,  452,    0,  453,
      454,  453,  452,  453,    0,    0,  455,  454,  453,    0,

      454,    0,  454,  455,  454,    0,  455,  456,  455,  454,
      455,    0,    0,  457,    0,  455,    0,  456,    0,  456,
        0,  456,    0,  457,  458,  457,  456,  457,    0,    0,
        0,  458,  457,    0,  458,  459,  458,  459,  458,    0,
        0,  460,    0,  458,    0,  459,    0,  459,    0,  459,
        0,  460,  461,  460,  459,  460,    0,  461,  462,    0,
      460,    0,  461,    0,  461,    0,  461,    0,  462,  463,
      462,  461,  462,    0,    0,    0,  462,  462,    0,  463,
      464,  463,    0,  463,    0,    0,  465,  463,  463,    0,
      464,    0,  464,    0,  464,    0,  465,  466,  465,  464,

      465,    0,    0,  470,    0,  465,    0,  466,    0,  466,
      470,  466,    0,  470,  471,  470,  466,  470,    0,    0,
        0,    0,  470,    0,  471,  472,  471,    0,  471,    0,
        0,  473,  471,  471,    0,  472,    0,  472,    0,  472,
        0,  473,  474,  473,  472,  473,    0,    0,  475,    0,
      473,  475,  474,    0,  474,    0,  474,    0,  475,  474,
      475,  474,  475,  476,  477,    0,    0,  475,    0,    0,
        0,    0,    0,  476,  477,  476,  477,  476,  477,  478,
      478,  476,  476,  477,    0,  479,    0,    0,    0,  478,
        0,  478,    0,  478,    0,  479,  480,  479,  478,  479,

        0,    0,  482,    0,  479,    0,  480,    0,  480,    0,
      480,    0,  482,  484,  482,  480,  482,    0,    0,    0,
        0,  482,    0,  484,  485,  484,    0,  484,  485,  479,
      486,    0,  484,    0,  485,    0,  485,    0,  485,    0,
      486,  487,  486,  485,  486,    0,    0,  489,    0,  486,
      489,  487,    0,  487,    0,  487,    0,  489,    0,  489,
      487,  489,  490,    0,    0,  490,  489,    0,  492,    0,
        0,  492,  490,    0,  490,    0,  490,    0,  492,    0,
      492,  490,  492,  494,  494,    0,    0,  492,    0,    0,
        0,  500,  500,  500,  494,    0,  494,    0,  494,    0,

        0,    0,    0,  494,  500,  500,  500,  500,  500,  500,
      500,  500,  502,  503,  503,    0,    0,    0,    0,  502,
        0,    0,  502,  503,  502,  503,  502,  503,  505,    0,
        0,  502,  503,    0,    0,    0,  506,    0,  505,  507,
      505,    0,  505,    0,  505,    0,  506,  505,  506,  507,
      506,  507,  508,  507,  506,  506,    0,    0,  507,    0,
      509,    0,  508,    0,  508,  511,  508,    0,  510,    0,
      509,  508,  509,  509,  509,    0,    0,    0,  510,  509,
      510,  511,  510,    0,    0,    0,    0,  510,    0,  512,
        0,  511,  512,  511,    0,  511,    0,  513,    0,  512,

      511,  512,    0,  512,    0,  514,    0,  513,  512,  513,
        0,  513,  514,  515,    0,  514,  513,  514,    0,  514,
        0,    0,    0,  515,  514,  515,  520,  515,    0,  520,
        0,    0,  515,    0,  521,    0,  520,  522,  520,    0,
      520,    0,    0,    0,  521,  520,  521,  522,  521,  522,
      523,  522,    0,  521,    0,    0,  522,    0,  524,    0,
      523,  525,  523,    0,  523,  524,    0,    0,  524,  523,
      524,  525,  524,  525,  527,  525,    0,  524,  527,  525,
      525,    0,  529,    0,  527,    0,  527,  533,  527,    0,
      531,    0,  529,  527,  529,    0,  529,  531,    0,    0,

      531,  529,  531,  533,  531,    0,  534,    0,    0,  531,
        0,    0,    0,  533,  536,  533,  534,  533,  534,    0,
      534,    0,  533,    0,  536,  534,  536,  538,  536,    0,
        0,    0,    0,  536,  543,  543,  543,  538,    0,  538,
        0,  538,    0,    0,    0,  546,  538,  543,  543,  543,
      543,  543,  543,  543,  543,  546,  547,  546,  546,  546,
        0,    0,  549,    0,  546,    0,  547,    0,  547,    0,
      547,    0,  549,  550,  549,  547,  549,    0,    0,  551,
        0,  549,  551,  550,    0,  550,    0,  550,    0,  551,
      550,  551,  550,  551,  552,  553,    0,    0,  551,  552,

        0,    0,    0,    0,  552,  553,  552,  553,  552,  553,
      554,  554,    0,  552,  553,    0,  555,    0,  555,    0,
      554,    0,  554,    0,  554,    0,  555,  556,  555,  554,
      555,    0,    0,  561,    0,  555,    0,  556,    0,  556,
        0,  556,    0,  561,  562,  561,  556,  561,    0,  561,
        0,    0,  561,    0,  562,  563,  562,  562,  562,    0,
        0,  565,  563,  562,    0,  563,    0,  563,  565,  563,
        0,  565,  568,  565,  563,  565,    0,    0,    0,    0,
      565,    0,  568,  570,  568,    0,  568,    0,    0,  572,
        0,  568,    0,  570,    0,  570,  570,  570,    0,  572,

      574,  572,  570,  572,    0,    0,  582,  572,  572,    0,
      574,    0,  574,    0,  574,    0,  582,  583,  582,  574,
      582,    0,    0,    0,    0,  582,    0,  583,  584,  583,
      584,  583,    0,    0,  585,    0,  583,    0,  584,    0,
      584,    0,  584,    0,  585,  586,  585,  584,  585,    0,
        0,    0,    0,  585,    0,  586,  587,  586,    0,  586,
        0,    0,  586,    0,  586,    0,  587,  588,  587,  587,
      587,    0,    0,  589,    0,  587,    0,  588,    0,  588,
      589,  588,    0,  589,  593,  589,  588,  589,    0,    0,
      594,    0,  589,    0,  593,    0,  593,    0,  593,    0,

      594,  595,  594,  593,  594,    0,    0,  597,    0,  594,
        0,  595,    0,  595,  595,  595,    0,  597,  600,  597,
      595,  597,    0,    0,  602,  600,  597,    0,  600,    0,
      600,  602,  600,    0,  602,  603,  602,  600,  602,    0,
        0,  610,  603,  602,    0,  603,    0,  603,    0,  603,
        0,  610,  611,  610,  603,  610,    0,    0,  612,    0,
      610,    0,  611,    0,  611,    0,  611,    0,  612,  613,
      612,  611,  612,    0,    0,  614,    0,  612,    0,  613,
        0,  613,    0,  613,    0,  614,  618,  614,  613,  614,
        0,    0,  619,  614,  614,    0,  618,    0,  618,    0,

      618,    0,  619,  618,  619,  618,  619,  621,    0,    0,
      624,  619,    0,  626,  621,  626,    0,  621,    0,  621,
      624,  621,  624,  626,  624,  626,  621,  626,  624,  624,
      627,    0,  626,  633,  627,    0,  634,    0,    0,    0,
      627,    0,  627,  633,  627,  633,  634,  633,  634,  627,
      634,  633,  633,  638,  639,  634,    0,    0,    0,  634,
        0,    0,    0,  638,  639,  638,  639,  638,  639,  641,
      644,    0,  638,  639,    0,    0,    0,    0,    0,  641,
      644,  641,  644,  641,  644,  646,    0,  641,  641,  644,
        0,  647,    0,  644,    0,  646,    0,  646,  647,  646,

        0,  647,  653,  647,  646,  647,    0,    0,    0,    0,
      647,    0,  653,  654,  653,    0,  653,    0,  653,  658,
        0,  653,    0,  654,    0,  654,    0,  654,    0,  658,
        0,  658,  654,  658,  661,    0,    0,  663,  658,    0,
      663,    0,  658,    0,  661,  669,  661,  663,  661,  663,
        0,  663,    0,  661,    0,  669,  663,  669,  669,  669,
      671,  674,    0,    0,  669,    0,    0,    0,    0,    0,
      671,  674,  671,  674,  671,  674,  678,  674,    0,  671,
      674,    0,  682,    0,    0,    0,  678,    0,  678,    0,
      678,    0,  682,  685,  682,  678,  682,    0,    0,    0,

        0,  682,    0,  685,    0,  685,    0,  685,    0,    0,
        0,    0,  685,  689,  689,  689,  689,  689,  689,  689,
      689,  689,  689,  689,  689,  689,  689,  690,  690,  690,
      690,  690,  690,  690,  690,  690,  690,  690,  690,  690,
      690,  691,  691,  691,  691,  691,  691,  691,  691,  691,
      691,  691,  691,  691,  691,  692,  692,  692,  692,  692,
      692,  692,  692,  692,  692,  692,  692,  692,  692,  693,
      693,  693,  693,  693,  693,  693,  693,  693,  693,  693,
      693,  693,  693,  694,  694,  694,  694,  694,  694,  694,
      694,  694,  694,  694,  694,  694,  694,  695,  695,  695,

        0,  695,  695,  695,  695,  695,  695,  695,  695,  695,
      695,  696,  696,    0,    0,  696,    0,    0,  696,    0,
      696,  697,  697,    0,  697,  697,  698,  698,    0,  698,
      698,  698,  698,    0,  698,  698,  698,  698,  698,  698,
      699,  699,  699,    0,  699,  699,  699,  699,  699,  699,
      699,  699,  699,  699,  700,  700,  700,  700,  700,  700,
      700,  700,  700,    0,  700,  700,  701,    0,    0,  701,
      701,  701,  701,  701,  701,  701,  701,  701,  702,    0,
        0,  702,  702,  702,  702,  702,  702,  702,  702,  702,
      703,    0,    0,  703,    0,  703,  703,  703,  703,  703,

      703,  703,  704,  704,    0,  704,  704,  705,  705,    0,
      705,  705,  706,  706,    0,  706,  706,  707,  707,    0,
        0,    0,  707,    0,  707,    0,    0,    0,    0,  707,
      708,  708,    0,    0,    0,    0,    0,  708,    0,    0,
        0,    0,  708,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,

      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
      688,  688,  688
    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[130] =
    {   0,
      103,  106,  108,  109,  110,  113,  115,  116,  117,  129,
      136,  143,  149,  158,  166,  174,  175,  177,  196,  202,
      203,  204,  205,  206,  209,  215,  222,  229,  236,  243,
      247,  248,  256,  257,  258,  259,  260,  265,  266,  267,
      268,  269,  270,  271,  272,  273,  274,  275,  284,  285,
      286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
      296,  297,  298,  299,  300,  301,  302,  303,  304,  305,
      306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
      316,  317,  318,  319,  320,  321,  322,  323,  324,  325,
      326,  327,  328,  329,  330,  331,  332,  333,  334,  335,

      336,  337,  338,  339,  340,  341,  342,  347,  348,  353,
      354,  355,  358,  364,  371,  380,  391,  397,  399,  400,
      404,  410,  416,  424,  427,  452,  496,  498,  509
    } ;

static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
static char *yy_full_match;
static int yy_lp;
#define REJECT \
{ \
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
yy_cp = yy_full_match; /* restore poss. backed-over text */ \
++yy_lp; \
goto find_rule; \
}
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "asn1p_l.l"
#define INITIAL 0
#line 2 "asn1p_l.l"

#include <string.h>
#include <errno.h>
#include <assert.h>

#include "asn1parser.h"
#include "asn1p_y.h"

int asn1p_lex(void);
void asn1p_lexer_hack_push_opaque_state(void);		/* Used in .y */
void asn1p_lexer_hack_enable_with_syntax(void);		/* Used in .y */
void asn1p_lexer_hack_push_encoding_control(void);	/* Used in .y */

#define	YY_FATAL_ERROR(msg)	do {			\
		fprintf(stderr,				\
			"lexer error at line %d, "	\
			"text \"%s\"\n",		\
			yylineno, yytext);		\
		exit(1);				\
	} while(0)

int asn1p_lexer_pedantic_1990 = 0;
int asn1p_lexer_types_year = 0;
int asn1p_lexer_constructs_year = 0;
static int _check_dashes(char *ptr);
static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */

/*
 * Check that the type is defined in the year of the standard choosen.
 */
#define	TYPE_LIFETIME(fyr, lyr)				\
	(!asn1p_lexer_types_year			\
	|| (fyr && fyr <= asn1p_lexer_types_year)	\
	|| (lyr && lyr  > asn1p_lexer_types_year))

/*
 * Check the the construction (or concept, i.e. CLASS) is defined in
 * a given year.
 */
#define	CONSTRUCT_LIFETIME(fyr, lyr)			\
	(!asn1p_lexer_constructs_year			\
	|| (fyr && fyr <= asn1p_lexer_constructs_year)	\
	|| (lyr && lyr  > asn1p_lexer_constructs_year))

/*
 * Make sure that the label is compliant with the naming rules.
 */
#define	CHECK_DASHES	do {				\
	if(_check_dashes(yytext)) {			\
		fprintf(stderr,				\
		"%s: Identifier format invalid: "	\
		"Improper dash location\n", yytext);	\
		return -1;				\
	} } while(0)

/*
 * Append quoted string.
 */
#define	QAPPEND(text, tlen)	do {				\
		char *prev_text = asn1p_lval.tv_opaque.buf;	\
		int prev_len = asn1p_lval.tv_opaque.len;	\
		char *p;					\
								\
		p = malloc((tlen) + prev_len + 1);		\
		if(p == NULL) return -1;			\
								\
		if(prev_text) memcpy(p, prev_text, prev_len);	\
		memcpy(p + prev_len, text, tlen);		\
		p[prev_len + (tlen)] = '\0';			\
								\
		free(asn1p_lval.tv_opaque.buf);			\
		asn1p_lval.tv_opaque.buf = p;			\
		asn1p_lval.tv_opaque.len = (tlen) + prev_len;	\
	} while(0)

#define YY_NEVER_INTERACTIVE 1
#define YY_NO_INPUT 1
#define YY_STACK_USED 1
/* Performance penalty is OK */
/* Controlled from within application */
#define dash_comment 1

#define cpp_comment 2

#define quoted 3

#define opaque 4

#define encoding_control 5

#define with_syntax 6

/* Newline */
/* White-space */
#line 1905 "asn1p_l.c"

/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif

#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif

#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif

#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif

#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif

#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines.  This will fail
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 * or sizeof(void*) != sizeof(int).
 */
#endif
#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif

/* Copy whatever the last rule matched to the standard output. */

#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
 * we now use fwrite().
 */
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif

/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 * is returned in "result".
 */
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
	if ( yy_current_buffer->yy_is_interactive ) \
		{ \
		int c = '*', n; \
		for ( n = 0; n < max_size && \
			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( yyin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
		  && ferror( yyin ) ) \
		YY_FATAL_ERROR( "input in flex scanner failed" );
#endif

/* No semi-colon after return; correct usage is to write "yyterminate();" -
 * we don't want an extra ';' after the "return" because that will cause
 * some compilers to complain about unreachable statements.
 */
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif

/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif

/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif

/* Code executed at the beginning of each rule, after yytext and yyleng
 * have been set up.
 */
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif

/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif

#define YY_RULE_SETUP \
	YY_USER_ACTION

YY_DECL
	{
	register yy_state_type yy_current_state;
	register char *yy_cp, *yy_bp;
	register int yy_act;

#line 101 "asn1p_l.l"


#line 2059 "asn1p_l.c"

	if ( yy_init )
		{
		yy_init = 0;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! yy_start )
			yy_start = 1;	/* first start state */

		if ( ! yyin )
			yyin = stdin;

		if ( ! yyout )
			yyout = stdout;

		if ( ! yy_current_buffer )
			yy_current_buffer =
				yy_create_buffer( yyin, YY_BUF_SIZE );

		yy_load_buffer_state();
		}

	while ( 1 )		/* loops until end-of-file is reached */
		{
		yy_cp = yy_c_buf_p;

		/* Support of yytext. */
		*yy_cp = yy_hold_char;

		/* yy_bp points to the position in yy_ch_buf of the start of
		 * the current run.
		 */
		yy_bp = yy_cp;

		yy_current_state = yy_start;
		yy_state_ptr = yy_state_buf;
		*yy_state_ptr++ = yy_current_state;
yy_match:
		do
			{
			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
				{
				yy_current_state = (int) yy_def[yy_current_state];
				if ( yy_current_state >= 689 )
					yy_c = yy_meta[(unsigned int) yy_c];
				}
			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
			*yy_state_ptr++ = yy_current_state;
			++yy_cp;
			}
		while ( yy_base[yy_current_state] != 4544 );

yy_find_action:
		yy_current_state = *--yy_state_ptr;
		yy_lp = yy_accept[yy_current_state];
find_rule: /* we branch to this label when backing up */
		for ( ; ; ) /* until we find what rule we matched */
			{
			if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
				{
				yy_act = yy_acclist[yy_lp];
					{
					yy_full_match = yy_cp;
					break;
					}
				}
			--yy_cp;
			yy_current_state = *--yy_state_ptr;
			yy_lp = yy_accept[yy_current_state];
			}

		YY_DO_BEFORE_ACTION;

		if ( yy_act != YY_END_OF_BUFFER )
			{
			int yyl;
			for ( yyl = 0; yyl < yyleng; ++yyl )
				if ( yytext[yyl] == '\n' )
					++yylineno;
			}

do_action:	/* This label is used only to access EOF actions. */

		if ( yy_flex_debug )
			{
			if ( yy_act == 0 )
				fprintf( stderr, "--scanner backing up\n" );
			else if ( yy_act < 130 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 130 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 131 )
				fprintf( stderr, "--(end of buffer or a NUL)\n" );
			else
				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
			}

		switch ( yy_act )
	{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
#line 103 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 2:
YY_RULE_SETUP
#line 106 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 3:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 4:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 110 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 113 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 7:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 116 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 117 "asn1p_l.l"
/* Eat */
	YY_BREAK

/*
	 * This is state is being set from corresponding .y module when
	 * higher-level data is necessary to make proper parsing of the
	 * underlying data. Thus, we enter the <opaque> state and save
	 * everything for later processing.
	 */

case 10:
YY_RULE_SETUP
#line 129 "asn1p_l.l"
{
			yy_push_state(opaque);
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 136 "asn1p_l.l"
{
			yy_pop_state();
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 143 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 149 "asn1p_l.l"
{
			fprintf(stderr,
				"ASN.1 Parser syncronization failure: "
				"\"%s\" at line %d must not appear "
				"inside value definition\n",
				yytext, yylineno);
			return -1;
		}
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 158 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 15:
YY_RULE_SETUP
#line 166 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = 0;
			asn1p_lval.tv_opaque.len = 0;
			QAPPEND(yytext+1, yyleng-1);
			yy_push_state(quoted);
		}
	YY_BREAK

case 16:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 175 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 177 "asn1p_l.l"
{
			yy_pop_state();
			/* Do not append last quote:
			// QAPPEND(yytext, yyleng); */

			if(asn1p_lexer_pedantic_1990
			&& strchr(yytext, '\n')) {
				fprintf(stderr, "%s: "
				"Newlines are prohibited by ASN.1:1990\n",
				asn1p_lval.tv_opaque.buf);
				return -1;
			}

			return TOK_cstring;
		}
	YY_BREAK


case 19:
YY_RULE_SETUP
#line 196 "asn1p_l.l"
{
			const char *s = "ENCODING-CONTROL";
			const char *p = s + sizeof("ENCODING-CONTROL") - 2;
			for(; p >= s; p--) unput(*p);
			yy_pop_state();
		}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 202 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 22:
YY_RULE_SETUP
#line 204 "asn1p_l.l"

	YY_BREAK
case 23:
YY_RULE_SETUP
#line 205 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 206 "asn1p_l.l"

	YY_BREAK

case 25:
YY_RULE_SETUP
#line 209 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 215 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_bstring;
	}
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 222 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 229 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 236 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
/*
ABSTRACT-SYNTAX		return TOK_ABSTRACT_SYNTAX;
	*/
case 31:
YY_RULE_SETUP
#line 247 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 248 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_ANY;	
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				REJECT;
			}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 257 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 258 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 259 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 260 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 271 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 272 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 273 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 274 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 275 "asn1p_l.l"
{
				/* Appeared in 1990, removed in 1997 */
				if(TYPE_LIFETIME(1990, 1997))
					return TOK_DEFINED;
				fprintf(stderr, "Keyword \"%s\" at line %d "
					"is obsolete\n", yytext, yylineno);
				/* Deprecated since */
				REJECT;
			}
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 338 "asn1p_l.l"
return TOK_TYPE_IDENTIFIER;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 339 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 340 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 341 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 347 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 354 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 355 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 371 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 116:
YY_RULE_SETUP
#line 380 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_capitalreference;
	}
	YY_BREAK
/*
	 * typereference, modulereference
	 * NOTE: TOK_objectclassreference must be combined
	 * with this token to produce true typereference.
	 */
case 117:
YY_RULE_SETUP
#line 391 "asn1p_l.l"
{
		CHECK_DASHES;
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 397 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 119:
YY_RULE_SETUP
#line 399 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 120:
YY_RULE_SETUP
#line 400 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 121:
YY_RULE_SETUP
#line 404 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 410 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 416 "asn1p_l.l"
{
				yy_pop_state();
				return '}';
			}
	YY_BREAK

case 124:
YY_RULE_SETUP
#line 424 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 427 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 7) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..7 range for Tuple's TableColumn\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 15) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
				"mandates 0..15 range for Tuple's TableRow\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 4) + v2;
		return TOK_tuple;
	}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 452 "asn1p_l.l"
{
		asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
		char *p;
		for(p = yytext; *p; p++)
			if(*p >= '0' && *p <= '9')
			{ v1 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;	/* Skip digits */
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v2 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v3 = asn1p_atoi(p); break; }
		while(*p >= '0' && *p <= '9') p++;
		for(; *p; p++) if(*p >= '0' && *p <= '9')
			{ v4 = asn1p_atoi(p); break; }
		if(v1 < 0 || v1 > 127) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..127 range for Quadruple's Group\n",
				yytext, yylineno);
			return -1;
		}
		if(v2 < 0 || v2 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Plane\n",
				yytext, yylineno);
			return -1;
		}
		if(v3 < 0 || v3 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Row\n",
				yytext, yylineno);
			return -1;
		}
		if(v4 < 0 || v4 > 255) {
			fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
				"mandates 0..255 range for Quadruple's Cell\n",
				yytext, yylineno);
			return -1;
		}
		asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
		return TOK_quadruple;
	}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 496 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 498 "asn1p_l.l"
{
		if(TYPE_LIFETIME(1994, 0))
			fprintf(stderr, "ERROR: ");
		fprintf(stderr,
		"Symbol '%c' at line %d is prohibited "
		"by ASN.1:1994 and ASN.1:1997\n",
			yytext[0], yylineno);
		if(TYPE_LIFETIME(1994, 0))
			return -1;
	}
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 509 "asn1p_l.l"
{
		fprintf(stderr,
			"Unexpected token at line %d: \"%s\"\n",
			yylineno, yytext);
		while(YYSTATE != INITIAL)
			yy_pop_state();
		if(0) {
			yy_top_state();	/* Just to use this function. */
			yy_fatal_error("Parse error");
		}
		return -1;
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(dash_comment):
case YY_STATE_EOF(cpp_comment):
case YY_STATE_EOF(quoted):
case YY_STATE_EOF(opaque):
case YY_STATE_EOF(encoding_control):
case YY_STATE_EOF(with_syntax):
#line 522 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 529 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3072 "asn1p_l.c"

	case YY_END_OF_BUFFER:
		{
		/* Amount of text matched not including the EOB char. */
		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;

		/* Undo the effects of YY_DO_BEFORE_ACTION. */
		*yy_cp = yy_hold_char;
		YY_RESTORE_YY_MORE_OFFSET

		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
			{
			/* We're scanning a new file or input source.  It's
			 * possible that this happened because the user
			 * just pointed yyin at a new source and called
			 * yylex().  If so, then we have to assure
			 * consistency between yy_current_buffer and our
			 * globals.  Here is the right place to do so, because
			 * this is the first action (other than possibly a
			 * back-up) that will match for the new input source.
			 */
			yy_n_chars = yy_current_buffer->yy_n_chars;
			yy_current_buffer->yy_input_file = yyin;
			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
			}

		/* Note that here we test for yy_c_buf_p "<=" to the position
		 * of the first EOB in the buffer, since yy_c_buf_p will
		 * already have been incremented past the NUL character
		 * (since all states make transitions on EOB to the
		 * end-of-buffer state).  Contrast this with the test
		 * in input().
		 */
		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			{ /* This was really a NUL. */
			yy_state_type yy_next_state;

			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;

			yy_current_state = yy_get_previous_state();

			/* Okay, we're now positioned to make the NUL
			 * transition.  We couldn't have
			 * yy_get_previous_state() go ahead and do it
			 * for us because it doesn't know how to deal
			 * with the possibility of jamming (and we don't
			 * want to build jamming into it because then it
			 * will run more slowly).
			 */

			yy_next_state = yy_try_NUL_trans( yy_current_state );

			yy_bp = yytext_ptr + YY_MORE_ADJ;

			if ( yy_next_state )
				{
				/* Consume the NUL. */
				yy_cp = ++yy_c_buf_p;
				yy_current_state = yy_next_state;
				goto yy_match;
				}

			else
				{
				yy_cp = yy_c_buf_p;
				goto yy_find_action;
				}
			}

		else switch ( yy_get_next_buffer() )
			{
			case EOB_ACT_END_OF_FILE:
				{
				yy_did_buffer_switch_on_eof = 0;

				if ( yywrap() )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * yytext, we can now set up
					 * yy_c_buf_p so that if some total
					 * hoser (like flex itself) wants to
					 * call the scanner after we return the
					 * YY_NULL, it'll still work - another
					 * YY_NULL will get returned.
					 */
					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;

					yy_act = YY_STATE_EOF(YY_START);
					goto do_action;
					}

				else
					{
					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
					}
				break;
				}

			case EOB_ACT_CONTINUE_SCAN:
				yy_c_buf_p =
					yytext_ptr + yy_amount_of_matched_text;

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_match;

			case EOB_ACT_LAST_MATCH:
				yy_c_buf_p =
				&yy_current_buffer->yy_ch_buf[yy_n_chars];

				yy_current_state = yy_get_previous_state();

				yy_cp = yy_c_buf_p;
				yy_bp = yytext_ptr + YY_MORE_ADJ;
				goto yy_find_action;
			}
		break;
		}

	default:
		YY_FATAL_ERROR(
			"fatal flex scanner internal error--no action found" );
	} /* end of action switch */
		} /* end of scanning one token */
	} /* end of yylex */


/* yy_get_next_buffer - try to read in a new buffer
 *
 * Returns a code representing an action:
 *	EOB_ACT_LAST_MATCH -
 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 *	EOB_ACT_END_OF_FILE - end of file
 */

static int yy_get_next_buffer()
	{
	register char *dest = yy_current_buffer->yy_ch_buf;
	register char *source = yytext_ptr;
	register int number_to_move, i;
	int ret_val;

	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( yy_current_buffer->yy_fill_buffer == 0 )
		{ /* Don't try to fill the buffer, so this is an EOF. */
		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
			{
			/* We matched a single character, the EOB, so
			 * treat this as a final EOF.
			 */
			return EOB_ACT_END_OF_FILE;
			}

		else
			{
			/* We matched some text prior to the EOB, first
			 * process it.
			 */
			return EOB_ACT_LAST_MATCH;
			}
		}

	/* Try to read more data. */

	/* First move last chars to start of buffer. */
	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
		/* don't do the read, it's not guaranteed to return an EOF,
		 * just force an EOF
		 */
		yy_current_buffer->yy_n_chars = yy_n_chars = 0;

	else
		{
		int num_to_read =
			yy_current_buffer->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
			YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = yy_current_buffer;

			int yy_c_buf_p_offset =
				(int) (yy_c_buf_p - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				int new_size = b->yy_buf_size * 2;

				if ( new_size <= 0 )
					b->yy_buf_size += b->yy_buf_size / 8;
				else
					b->yy_buf_size *= 2;

				b->yy_ch_buf = (char *)
					/* Include room in for 2 EOB chars. */
					yy_flex_realloc( (void *) b->yy_ch_buf,
							 b->yy_buf_size + 2 );
				}
			else
				/* Can't grow it, we don't own it. */
				b->yy_ch_buf = 0;

			if ( ! b->yy_ch_buf )
				YY_FATAL_ERROR(
				"fatal error - scanner input buffer overflow" );

			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];

			num_to_read = yy_current_buffer->yy_buf_size -
						number_to_move - 1;
#endif
			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
			yy_n_chars, num_to_read );

		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	if ( yy_n_chars == 0 )
		{
		if ( number_to_move == YY_MORE_ADJ )
			{
			ret_val = EOB_ACT_END_OF_FILE;
			yyrestart( yyin );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			yy_current_buffer->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	yy_n_chars += number_to_move;
	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;

	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];

	return ret_val;
	}


/* yy_get_previous_state - get the state just before the EOB char was reached */

static yy_state_type yy_get_previous_state()
	{
	register yy_state_type yy_current_state;
	register char *yy_cp;

	yy_current_state = yy_start;
	yy_state_ptr = yy_state_buf;
	*yy_state_ptr++ = yy_current_state;

	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
		{
		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
			{
			yy_current_state = (int) yy_def[yy_current_state];
			if ( yy_current_state >= 689 )
				yy_c = yy_meta[(unsigned int) yy_c];
			}
		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
		*yy_state_ptr++ = yy_current_state;
		}

	return yy_current_state;
	}


/* yy_try_NUL_trans - try to make a transition on the NUL character
 *
 * synopsis
 *	next_state = yy_try_NUL_trans( current_state );
 */

#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
	{
	register int yy_is_jam;

	register YY_CHAR yy_c = 1;
	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
		{
		yy_current_state = (int) yy_def[yy_current_state];
		if ( yy_current_state >= 689 )
			yy_c = yy_meta[(unsigned int) yy_c];
		}
	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
	yy_is_jam = (yy_current_state == 688);
	if ( ! yy_is_jam )
		*yy_state_ptr++ = yy_current_state;

	return yy_is_jam ? 0 : yy_current_state;
	}


#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
	{
	register char *yy_cp = yy_c_buf_p;

	/* undo effects of setting up yytext */
	*yy_cp = yy_hold_char;

	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		register int number_to_move = yy_n_chars + 2;
		register char *dest = &yy_current_buffer->yy_ch_buf[
					yy_current_buffer->yy_buf_size + 2];
		register char *source =
				&yy_current_buffer->yy_ch_buf[number_to_move];

		while ( source > yy_current_buffer->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		yy_current_buffer->yy_n_chars =
			yy_n_chars = yy_current_buffer->yy_buf_size;

		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
			YY_FATAL_ERROR( "flex scanner push-back overflow" );
		}

	*--yy_cp = (char) c;

	if ( c == '\n' )
		--yylineno;

	yytext_ptr = yy_bp;
	yy_hold_char = *yy_cp;
	yy_c_buf_p = yy_cp;
	}
#endif	/* ifndef YY_NO_UNPUT */


#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
	{
	int c;

	*yy_c_buf_p = yy_hold_char;

	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
		{
		/* yy_c_buf_p now points to the character we want to return.
		 * If this occurs *before* the EOB characters, then it's a
		 * valid NUL; if not, then we've hit the end of the buffer.
		 */
		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
			/* This was really a NUL. */
			*yy_c_buf_p = '\0';

		else
			{ /* need more input */
			int offset = yy_c_buf_p - yytext_ptr;
			++yy_c_buf_p;

			switch ( yy_get_next_buffer() )
				{
				case EOB_ACT_LAST_MATCH:
					/* This happens because yy_g_n_b()
					 * sees that we've accumulated a
					 * token and flags that we need to
					 * try matching the token before
					 * proceeding.  But for input(),
					 * there's no matching to consider.
					 * So convert the EOB_ACT_LAST_MATCH
					 * to EOB_ACT_END_OF_FILE.
					 */

					/* Reset buffer status. */
					yyrestart( yyin );

					/* fall through */

				case EOB_ACT_END_OF_FILE:
					{
					if ( yywrap() )
						return EOF;

					if ( ! yy_did_buffer_switch_on_eof )
						YY_NEW_FILE;
#ifdef __cplusplus
					return yyinput();
#else
					return input();
#endif
					}

				case EOB_ACT_CONTINUE_SCAN:
					yy_c_buf_p = yytext_ptr + offset;
					break;
				}
			}
		}

	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
	*yy_c_buf_p = '\0';	/* preserve yytext */
	yy_hold_char = *++yy_c_buf_p;

	if ( c == '\n' )
		++yylineno;

	return c;
	}


#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
	{
	if ( ! yy_current_buffer )
		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );

	yy_init_buffer( yy_current_buffer, input_file );
	yy_load_buffer_state();
	}


#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
	{
	if ( yy_current_buffer == new_buffer )
		return;

	if ( yy_current_buffer )
		{
		/* Flush out information for old buffer. */
		*yy_c_buf_p = yy_hold_char;
		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
		yy_current_buffer->yy_n_chars = yy_n_chars;
		}

	yy_current_buffer = new_buffer;
	yy_load_buffer_state();

	/* We don't actually know whether we did this switch during
	 * EOF (yywrap()) processing, but the only time this flag
	 * is looked at is after yywrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	yy_did_buffer_switch_on_eof = 1;
	}


#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
	{
	yy_n_chars = yy_current_buffer->yy_n_chars;
	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
	yyin = yy_current_buffer->yy_input_file;
	yy_hold_char = *yy_c_buf_p;
	}


#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
	{
	YY_BUFFER_STATE b;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_buf_size = size;

	/* yy_ch_buf has to be 2 characters longer than the size given because
	 * we need to put in 2 end-of-buffer characters.
	 */
	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );

	b->yy_is_our_buffer = 1;

	yy_init_buffer( b, file );

	return b;
	}


#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
	{
	if ( ! b )
		return;

	if ( b == yy_current_buffer )
		yy_current_buffer = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		yy_flex_free( (void *) b->yy_ch_buf );

	yy_flex_free( (void *) b );
	}


#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
extern int isatty YY_PROTO(( int ));
#endif
#endif

#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif


	{
	yy_flush_buffer( b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

#if YY_ALWAYS_INTERACTIVE
	b->yy_is_interactive = 1;
#else
#if YY_NEVER_INTERACTIVE
	b->yy_is_interactive = 0;
#else
	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
	}


#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif

	{
	if ( ! b )
		return;

	b->yy_n_chars = 0;

	/* We always need two end-of-buffer characters.  The first causes
	 * a transition to the end-of-buffer state.  The second causes
	 * a jam in that state.
	 */
	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;

	b->yy_buf_pos = &b->yy_ch_buf[0];

	b->yy_at_bol = 1;
	b->yy_buffer_status = YY_BUFFER_NEW;

	if ( b == yy_current_buffer )
		yy_load_buffer_state();
	}


#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
	{
	YY_BUFFER_STATE b;

	if ( size < 2 ||
	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
	     base[size-1] != YY_END_OF_BUFFER_CHAR )
		/* They forgot to leave room for the EOB's. */
		return 0;

	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );

	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
	b->yy_buf_pos = b->yy_ch_buf = base;
	b->yy_is_our_buffer = 0;
	b->yy_input_file = 0;
	b->yy_n_chars = b->yy_buf_size;
	b->yy_is_interactive = 0;
	b->yy_at_bol = 1;
	b->yy_fill_buffer = 0;
	b->yy_buffer_status = YY_BUFFER_NEW;

	yy_switch_to_buffer( b );

	return b;
	}
#endif


#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
	{
	int len;
	for ( len = 0; yy_str[len]; ++len )
		;

	return yy_scan_bytes( yy_str, len );
	}
#endif


#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
	{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	int i;

	/* Get memory for full buffer, including space for trailing EOB's. */
	n = len + 2;
	buf = (char *) yy_flex_alloc( n );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );

	for ( i = 0; i < len; ++i )
		buf[i] = bytes[i];

	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;

	b = yy_scan_buffer( buf, n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );

	/* It's okay to grow etc. this buffer, and we should throw it
	 * away when we're done.
	 */
	b->yy_is_our_buffer = 1;

	return b;
	}
#endif


#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
	{
	if ( yy_start_stack_ptr >= yy_start_stack_depth )
		{
		yy_size_t new_size;

		yy_start_stack_depth += YY_START_STACK_INCR;
		new_size = yy_start_stack_depth * sizeof( int );

		if ( ! yy_start_stack )
			yy_start_stack = (int *) yy_flex_alloc( new_size );

		else
			yy_start_stack = (int *) yy_flex_realloc(
					(void *) yy_start_stack, new_size );

		if ( ! yy_start_stack )
			YY_FATAL_ERROR(
			"out of memory expanding start-condition stack" );
		}

	yy_start_stack[yy_start_stack_ptr++] = YY_START;

	BEGIN(new_state);
	}
#endif


#ifndef YY_NO_POP_STATE
static void yy_pop_state()
	{
	if ( --yy_start_stack_ptr < 0 )
		YY_FATAL_ERROR( "start-condition stack underflow" );

	BEGIN(yy_start_stack[yy_start_stack_ptr]);
	}
#endif


#ifndef YY_NO_TOP_STATE
static int yy_top_state()
	{
	return yy_start_stack[yy_start_stack_ptr - 1];
	}
#endif

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
	{
	(void) fprintf( stderr, "%s\n", msg );
	exit( YY_EXIT_FAILURE );
	}



/* Redefine yyless() so it works in section 3 code. */

#undef yyless
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up yytext. */ \
		yytext[yyleng] = yy_hold_char; \
		yy_c_buf_p = yytext + n; \
		yy_hold_char = *yy_c_buf_p; \
		*yy_c_buf_p = '\0'; \
		yyleng = n; \
		} \
	while ( 0 )


/* Internal utility routines. */

#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
	{
	register int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
	}
#endif

#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
	{
	register int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
	}
#endif


#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
	{
	return (void *) malloc( size );
	}

#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
	{
	/* The cast to (char *) in the following accommodates both
	 * implementations that use char* generic pointers, and those
	 * that use void* generic pointers.  It works with the latter
	 * because both ANSI C and C++ allow castless assignment from
	 * any pointer type to void*, and deal with argument conversions
	 * as though doing an assignment.
	 */
	return (void *) realloc( (char *) ptr, size );
	}

#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
	{
	free( ptr );
	}

#if YY_MAIN
int main()
	{
	yylex();
	return 0;
	}
#endif
#line 529 "asn1p_l.l"


/*
 * Very dirty but wonderful hack allowing to rule states from within .y file.
 */
void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }

/*
 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
 */
void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }

/* Yet another */
void asn1p_lexer_hack_push_encoding_control() {
	yy_push_state(encoding_control);
}

/*
 * Check that a token does not end with dash and does not contain
 * several dashes in succession.
 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
 * "end-", "vustom--value" are INVALID
 */
static int
_check_dashes(char *ptr) {
	int prev_dash = 0;

	assert(*ptr != '-');

	for(;; ptr++) {
		switch(*ptr) {
		case '-':
			if(prev_dash++)	/* No double dashes */
				return -1;
			continue;
		case '\0':
			if(prev_dash)	/* No dashes at the end */
				return -1;
			break;
		default:
			prev_dash = 0;
			continue;
		}
		break;
	}

	return 0;
}

static asn1c_integer_t
asn1p_atoi(char *ptr) {
	asn1c_integer_t value;
	errno = 0;	/* Clear the error code */

	if(sizeof(value) <= sizeof(int)) {
		value = strtol(ptr, 0, 10);
	} else {
#ifdef	HAVE_STRTOIMAX
		value = strtoimax(ptr, 0, 10);
#elif	HAVE_STRTOLL
		value = strtoll(ptr, 0, 10);
#else
		value = strtol(ptr, 0, 10);
#endif
	}

	if(errno == ERANGE) {
		fprintf(stderr,
			"Value \"%s\" at line %d is too large "
			"for this compiler! Please contact the asn1c author.\n",
			ptr, yylineno);
		errno = ERANGE;	/* Restore potentially clobbered errno */
	}

	return value;
}

