#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 137
#define YY_END_OF_BUFFER 138
static yyconst short int yy_acclist[1258] =
    {   0,
      138,  136,  137,  131,  136,  137,  131,  137,  134,  136,
      137,   19,  136,  137,  134,  136,  137,  136,  137,  134,
      136,  137,  136,  137,  134,  136,  137,  136,  137,   33,
      136,  137,   32,  136,  137,  134,  136,  137,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,
      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  119,  120,  136,  137,

      119,  120,  136,  137,  119,  120,  136,  137,  119,  120,
      136,  137,  119,  120,  136,  137,  118,  136,  137,  134,
      136,  137,    9,  136,  137,    6,  137,    6,  136,  137,
        8,  136,  137,    8,  136,  137,   11,   13,  136,  137,
       11,  137,   13,  136,  137,   13,  136,  137,   13,  136,
      137,   21,  136,  137,   21,  137,   22,  136,  137,   16,
      136,  137,   16,  137,   18,  136,  137,   18,  136,  137,
       14,  136,  137,   15,  136,  137,   25,   27,  136,  137,
       27,  136,  137,   28,  137,   25,   26,   27,  136,  137,
       25,   26,   27,  136,  137,  129,  136,  137,  129,  137,

      136,  137,  125,  136,  137,  136,  137,  136,  137,  124,
      136,  137,  127,  136,  137,  128,  136,  137,  126,  136,
      137,  130,  136,  137,  131,   19,   19,  116,  117,    5,
       31,  123,   10,   32,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   43,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,   88,

      119,  120,  119,  120,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  120,  120,  119,  120,  118,
        9,    7,    7,   12,   21,   20,   16,   25,   25,   26,
       25,   26,  129,    5,  124,  135,  116,  117,   31,  122,
      121,  119,  120,  120,  119,  120,   35,  119,  120,   36,
      119,  120,  119,  120,  119,  120,  119,  120,   40,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,

      120,   57,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   80,  119,  120,   81,  119,  120,  119,  120,
      120,  119,  120,  119,  120,  119,  120,  120,  119,  120,
       91,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  119,  120,  119,  120,   99,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  119,  120,  118,    3,   17,   25,   26,   24,   25,

       26,  124,  116,  117,   30,   29,    2,    1,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   65,  119,  120,  120,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   83,  119,  120,  120,  119,
      120,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,   96,  119,  120,  119,  120,

      119,  120,  100,  119,  120,  119,  120,  119,  120,  119,
      120,  104,  119,  120,  106,  119,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  120,  120,
      120,  115,  119,  120,    3,   25,   26,  119,  120,  119,
      120,  119,  120,   39,  119,  120,  120,  119,  120,  119,
      120,  119,  120,   46,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
      119,  120,   64,  119,  120,  120,  120,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,

      119,  120,  119,  120,  119,  120,  119,  120,  120,  119,
      120,   87,  119,  120,  119,  120,  120,  119,  120,  119,
      120,  119,  120,  120,  119,  120,  119,  120,  119,  120,
      119,  120,  120,  120,  107,  119,  120,  119,  120,  119,
      120,  120,  119,  120,  120,  120,  120,  132,   25,   26,
       34,  119,  120,  119,  120,  119,  120,  120,  119,  120,
      119,  120,   45,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   59,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,  120,  120,  120,  119,

      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
       85,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  120,  119,  120,  119,  120,  101,
      119,  120,  102,  119,  120,  120,  120,  108,  119,  120,
      119,  120,  120,  120,  120,  120,  120,   25,   26,  119,
      120,  119,  120,  120,   42,  119,  120,  119,  120,  119,
      120,  119,  120,  119,  120,   51,  119,  120,   52,  119,
      120,  119,  120,  119,  120,   55,  119,  120,  119,  120,
      119,  120,  119,  120,   61,  119,  120,  119,  120,  119,

      120,  120,  120,  120,  119,  120,  119,  120,   72,  119,
      120,   73,  119,  120,  119,  120,  119,  120,  119,  120,
       77,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,   90,  119,  120,  119,  120,   93,  119,
      120,   95,  119,  120,  120,  119,  120,  119,  120,  120,
      120,  119,  120,  111,  120,  120,  120,  120,  120,   25,
       26,  119,  120,  119,  120,  120,  119,  120,  119,  120,
      119,  120,  119,  120,  119,  120,   54,  119,  120,  119,
      120,  119,  120,   60,  119,  120,  119,  120,   63,  119,
      120,  120,  120,  120,  120,  119,  120,   71,  119,  120,

       74,  119,  120,   75,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,   89,  119,  120,  120,  119,  120,
      120,  119,  120,   98,  119,  120,  120,  120,  119,  120,
      120,  120,  120,  120,   25,   26,  119,  120,   38,  119,
      120,   41,  120,   44,  119,  120,   47,  119,  120,  119,
      120,  119,  120,  119,  120,  119,  120,  119,  120,  120,
      120,  120,   69,  120,  119,  120,  119,  120,  119,  120,
      120,  119,  120,  120,  120,  119,  120,  120,  103,  120,
      120,  109,  119,  120,  120,  120,  120,  120,  133,   25,
      119,  120,   48,  119,  120,  119,  120,   50,  119,  120,

      119,  120,  119,  120,   58,  119,  120,  119,  120,  120,
      120,  120,   70,  119,  120,  119,  120,  119,  120,  120,
      119,  120,  120,  120,  119,  120,  120,  119,  120,  120,
      112,  120,  120,  120,  120,   25,   37,  119,  120,   49,
      119,  120,   53,  119,  120,  119,  120,  119,  120,  120,
      120,  120,  119,  120,  119,  120,  120,  119,  120,  120,
      120,  119,  120,  120,  119,  120,  120,  120,  120,  120,
       25,  119,  120,  119,  120,  120,  120,  120,   76,  119,
      120,   78,  119,  120,   79,  120,  119,  120,  120,  120,
      119,  120,  120,   97,  119,  120,  120,  120,  120,  120,

       25,  119,  120,   62,  119,  120,   67,  120,  120,   68,
      120,  119,  120,   84,  120,  120,   92,  119,  120,  120,
      105,  120,  120,  120,  114,  120,   25,  119,  120,  120,
       82,  119,  120,  120,  120,  120,  113,  120,   25,  119,
      120,   66,  120,  120,   94,  120,  110,  120,   25,   56,
      119,  120,   86,  120,   23,   25,    4
    } ;

static yyconst short int yy_accept[736] =
    {   0,
        1,    1,    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,  137,  141,
      143,  146,  149,  152,  155,  157,  160,  163,  165,  168,
      171,  174,  177,  181,  184,  186,  191,  196,  199,  201,
      203,  206,  208,  210,  213,  216,  219,  222,  225,  225,
      226,  227,  228,  228,  229,  229,  230,  230,  230,  231,

      232,  233,  234,  235,  235,  235,  237,  239,  241,  243,
      245,  247,  248,  250,  252,  254,  256,  259,  261,  263,
      265,  267,  269,  271,  273,  275,  277,  278,  279,  281,
      283,  285,  287,  289,  291,  293,  295,  296,  298,  300,
      303,  305,  306,  308,  310,  312,  314,  315,  317,  319,
      321,  323,  325,  327,  329,  331,  332,  334,  336,  337,
      338,  340,  340,  341,  341,  341,  341,  342,  343,  344,
      345,  346,  347,  348,  348,  349,  351,  353,  354,  355,
      355,  356,  357,  357,  357,  358,  358,  359,  359,  359,
      359,  359,  360,  361,  362,  364,  365,  367,  370,  373,

      375,  377,  377,  379,  382,  384,  386,  388,  390,  392,
      394,  396,  398,  400,  402,  405,  407,  409,  411,  413,
      415,  417,  418,  419,  421,  423,  425,  427,  429,  431,
      433,  436,  439,  441,  442,  444,  446,  448,  449,  451,
      454,  456,  458,  460,  461,  463,  465,  467,  470,  472,
      474,  476,  478,  480,  482,  483,  485,  487,  489,  490,
      491,  492,  494,  495,  495,  495,  496,  497,  499,  502,
      503,  503,  504,  505,  506,  507,  508,  509,  509,  509,
      509,  511,  513,  515,  517,  519,  521,  523,  525,  527,
      529,  531,  533,  535,  537,  539,  541,  543,  545,  547,

      549,  551,  553,  556,  557,  558,  560,  562,  564,  566,
      568,  570,  572,  574,  576,  579,  580,  582,  584,  586,
      587,  589,  591,  593,  595,  596,  599,  601,  603,  606,
      608,  610,  612,  615,  618,  619,  621,  623,  625,  627,
      629,  630,  631,  632,  635,  635,  635,  635,  635,  636,
      638,  638,  640,  642,  644,  647,  648,  650,  652,  654,
      657,  659,  661,  663,  665,  667,  669,  671,  673,  675,
      677,  679,  681,  683,  686,  687,  688,  689,  691,  693,
      695,  697,  699,  701,  703,  705,  707,  709,  710,  712,
      715,  717,  718,  720,  720,  722,  724,  725,  727,  729,

      731,  733,  734,  735,  738,  740,  742,  743,  745,  746,
      747,  748,  748,  748,  749,  751,  751,  754,  756,  758,
      759,  761,  763,  766,  768,  770,  772,  774,  776,  778,
      780,  782,  784,  786,  789,  791,  793,  795,  797,  798,
      799,  800,  802,  804,  806,  808,  810,  812,  814,  816,
      818,  820,  820,  821,  824,  826,  827,  829,  831,  833,
      835,  836,  838,  840,  843,  846,  847,  848,  851,  853,
      854,  855,  856,  857,  858,  858,  858,  860,  860,  862,
      864,  865,  868,  870,  872,  874,  876,  879,  882,  884,
      886,  889,  891,  893,  895,  898,  900,  902,  903,  904,

      905,  907,  909,  912,  915,  917,  919,  921,  924,  926,
      928,  930,  931,  933,  934,  937,  939,  942,  945,  946,
      948,  950,  951,  952,  954,  956,  957,  958,  959,  960,
      960,  962,  962,  964,  966,  967,  969,  971,  973,  975,
      977,  980,  982,  984,  987,  989,  992,  993,  994,  995,
      996,  998, 1001, 1004, 1007, 1009, 1011, 1012, 1014, 1015,
     1018, 1019, 1021, 1022, 1024, 1027, 1028, 1029, 1031, 1032,
     1033, 1034, 1035, 1035, 1035, 1037, 1037, 1039, 1042, 1044,
     1047, 1050, 1052, 1054, 1056, 1056, 1058, 1060, 1061, 1062,
     1063, 1065, 1067, 1069, 1071, 1072, 1074, 1075, 1076, 1078,

     1079, 1079, 1081, 1082, 1085, 1086, 1087, 1088, 1089, 1089,
     1090, 1091, 1091, 1093, 1096, 1098, 1101, 1103, 1105, 1108,
     1110, 1111, 1112, 1113, 1116, 1118, 1120, 1121, 1123, 1124,
     1125, 1127, 1128, 1130, 1131, 1133, 1134, 1135, 1136, 1137,
     1137, 1140, 1143, 1146, 1148, 1150, 1151, 1152, 1153, 1155,
     1157, 1158, 1160, 1161, 1162, 1164, 1165, 1167, 1168, 1169,
     1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179, 1182,
     1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1198, 1199,
     1200, 1201, 1202, 1202, 1204, 1207, 1209, 1210, 1212, 1214,
     1216, 1217, 1220, 1221, 1223, 1224, 1225, 1227, 1228, 1228,

     1230, 1231, 1234, 1235, 1236, 1237, 1239, 1240, 1240, 1242,
     1244, 1245, 1247, 1249, 1250, 1250, 1253, 1255, 1257, 1257,
     1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
     1257, 1257, 1257, 1258, 1258
    } ;

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

       62,   63,   64,   65,   66,   67,   63,   68,   69,   70,
       71,   72,   63,   73,   74,   75,   76,   77,   63,   78,
       63,   79,   80,   81,   82,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    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[83] =
    {   0,
        1,    2,    3,    4,    4,    1,    5,    1,    6,    1,
        1,    1,    7,    1,    1,    8,    8,    8,    8,    8,
        8,    8,    8,    9,    1,    1,    9,    1,   10,   10,
       10,   10,   10,   10,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,    1,    1,    1,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
       11,   11,   11,   11,   11,   11,   11,   11,   11,   12,
        1,   13
    } ;

static yyconst short int yy_base[761] =
    {   0,
        0,    0,   80,   83,   86,   97,   92,   94,   91,  101,
       89,  103,  185,  267,  349,    0, 1572, 1561,  119,  129,
     1557, 1555,  423,  137, 4413,  138, 1548,  103, 4413,  156,
     1537, 4413,  490,  184,  208,  190,  257,  285,  540,  205,
      546,  567,  561,  277,  585,  600,  606,  631,  634,  623,
      654, 1547,  697,    0, 4413, 4413, 1546, 1540, 4413, 4413,
     1536, 1538, 4413,    0,    0, 1541,    0,    0, 1522, 4413,
     4413, 4413,    0, 4413, 4413,  720,  801,  160,  199,  110,
     4413, 1529, 1529, 1526, 4413, 4413, 4413, 4413, 1531,  203,
        0, 1530, 1525, 1514,   86, 1510,  433, 1512,  123,  321,

     1506, 4413,  689, 1487,  825,  709,  710,  725,  738,  741,
      756, 1499,  800,  806,  821,  829,  875,  878,  896,  893,
      909,  917,  932,  938,  935,  953,  112,  157,  968,  971,
      979,  994, 1005, 1016, 1022, 1033,  153, 1046, 1049, 1062,
     1070,  113, 1073, 1086, 1097, 1110,  102, 1126, 1132, 1143,
     1149, 1160, 1171, 1177, 1188,  116, 1194, 1210,  218,  242,
     1209,    0, 1493, 1258, 1270, 1282,    0, 4413, 1491, 4413,
        0, 4413,    0, 1476,    0, 1455,  254,  256, 4413,    0,
     1480, 4413, 1478,    0, 1477,    0, 1476,  114, 1451,  299,
      214,  801, 4413, 4413, 1293, 1471, 1277, 1278, 1293, 1294,

     1343, 1470, 1351, 1354, 1367, 1375, 1383, 1391, 1404, 1412,
     1415, 1436, 1437, 1452, 1458, 1469, 1475, 1486, 1492, 1503,
     1514,  243,  216, 1527, 1535, 1538, 1553, 1556, 1559, 1585,
     1577, 1588, 1601,  251, 1609, 1622, 1630,  270, 1633, 1646,
     1654, 1662, 1670,  240, 1683, 1686, 1694, 1707, 1715, 1723,
     1731, 1744, 1752, 1765,  532, 1773, 1789, 1790,  104,  558,
      223, 1805, 1462, 1848, 1856, 1461, 4413,  220, 1430, 1458,
     1413, 1455, 1447, 4413, 4413, 4413, 4413,  315,  217, 1411,
     1850, 1851, 1866, 1872, 1883, 1889, 1905, 1906, 1921, 1929,
     1937, 1953, 1950, 1961, 1974, 1977, 1992, 1998, 2009, 2015,

     2026, 2041, 2047,  431,  533, 2058, 2064, 2079, 2080, 2095,
     2101, 2116, 2119, 2127, 2140,  432, 2148, 2151, 2164,  559,
     2172, 2185, 2193, 2201,  502, 2209, 2217, 2230, 2238, 2241,
     2259, 2256, 2262, 2277,  504, 2280, 2283, 2300, 2306, 2317,
      560,  503,  420, 2333, 2376, 2398, 2420, 2432, 1437,  303,
     1407, 2416, 2432, 2448, 2417,  568, 2454, 2469, 2472, 2480,
     2493, 2501, 2509, 2522, 2530, 2543, 2551, 2559, 2567, 2582,
     2588, 2599, 2605, 2620,  534,  572,  593, 2621, 2641, 2638,
     2659, 2658, 2674, 2680, 2691, 2704, 2715,  613, 2712, 2728,
     2736,  570, 2744,  586, 2752, 2765,  599, 2778, 2781, 2789,

     2802,  595,  608, 2813, 2819, 2830,  277, 2841,  615,  587,
      619,  759, 2884, 4413,  397, 1430, 2868, 2884, 2881,  656,
     2892, 2905, 2908, 2925, 2931, 2942, 2948, 2963, 2969, 2986,
     2992, 3003, 3009, 3020, 3026, 3037, 3043, 3059,  622,  682,
      672, 3060, 3075, 3081, 3092, 3098, 3113, 3119, 3130, 3145,
     3151,  723,  710, 3162, 3178,  711, 3175, 1401, 3186, 3199,
      638, 3207, 3222, 3225, 3228,  728,  753, 3243, 3246,  771,
      724,  760,  775,  776, 3294, 3306, 1399, 1408, 3290, 3303,
      611, 3306, 3321, 3327, 3338, 3344, 3355, 3361, 3372, 3383,
     3389, 3400, 3406, 3417, 3428, 3434, 3445,  862,  759,  782,

     3451, 3462, 3473, 3479, 3490, 3496, 3511, 3512, 3527, 3533,
     1396,  819, 3544,  849, 3550, 1403, 3561, 3567,  779, 3582,
     3588,  790,  832, 3604, 1423,  840,  634,  786,  863, 3638,
      110,    0, 3632, 3633,  867, 3648, 3656, 3659, 3672, 3680,
     3688, 3696, 3709, 3717, 3725, 3733,  854,  928,  855,  868,
     3746, 3754, 3757, 3770, 3778, 3781,  766, 1396,  931, 3794,
      899, 1389,  937, 3815, 3802,  903,  939, 3818,  900,  935,
      942,  941, 3866, 1027,  943, 1376, 3850, 3861, 1407, 3867,
     3878, 3884, 3899, 3900,  987, 3915, 3916,  977,  978, 1014,
     1405, 3931, 3939, 3954, 1042, 1375, 1026, 1009, 1368,  947,

      643, 1395, 1059, 3955, 1061,  958, 1048, 1065, 1243, 4413,
     1375, 1342, 3970, 3971, 3986, 3987, 4002, 1359, 4003, 4018,
     1054, 1020, 1067, 4024, 4035, 4046, 1013, 1357, 1083, 1072,
     1352, 1088, 1343, 1092, 1366, 1094, 1111, 1116, 1335, 1305,
     4052, 4063, 4069, 1334, 4080, 1024,  430, 1129, 4091, 4097,
     1144, 1338, 1135, 1140, 1326, 1121, 1315, 1152, 1154, 1148,
     1165, 1304, 1272, 1296, 4112, 1203, 1190, 1220, 4113, 4128,
     1328, 1292, 1251,  979, 1261, 1229,    0, 1252, 1283, 1242,
     1284, 1265, 1249, 1263, 4129, 1260, 1197, 1256, 1215, 1212,
     1210,    0, 1258, 1183, 1259, 1318, 1151, 1105, 1070, 1088,

     1270,    0, 1158, 1326, 1337, 1046, 1014,  991,  906,  901,
     1257,  864,  861,  753,  686,    0,  712,    0,  543,  489,
      440,  407,  376,  380,  371,  365,  271,  257, 1042, 1158,
      135,  124, 4413, 4413, 4178, 4191, 4204, 4217, 4230, 4243,
     4255, 4259, 4270, 4283, 4296, 4307, 4318, 4323, 4328, 4333,
     4337, 4342, 4346, 4350, 4354, 4358, 4369, 4376, 4387, 4399
    } ;

static yyconst short int yy_def[761] =
    {   0,
      734,    1,  735,  735,  735,  735,  736,  736,  737,  737,
      738,  738,  739,  739,  734,   15,  734,  734,  734,  734,
      734,  740,  734,  741,  734,  734,  734,  734,  734,  734,
      734,  734,  734,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  742,  734,  743,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  744,  744,  734,  745,  745,  734,  734,
      734,  734,  746,  734,  734,  747,  747,  734,  734,   23,
      734,  734,  734,  748,  734,  734,  734,  734,  734,  734,
      740,  740,  734,  749,  734,  750,  741,  741,  734,  734,

      734,  734,  734,  734,  751,   33,   33,   33,   33,   33,
       33,  752,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,   33,   33,
       33,   33,   33,   33,   33,   33,  752,   33,   33,   33,
       33,  752,   33,   33,   33,   33,  752,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,  752,  752,
       33,  753,  742,  734,  734,  734,  743,  734,  734,  734,
      744,  734,  745,  734,  746,   77,   77,  734,  734,  754,
      748,  734,  734,  755,  749,  756,  750,  734,  734,  757,
      734,  734,  734,  734,  751,  758,   33,   33,   33,   33,

       33,  758,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  752,  752,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,  752,   33,   33,   33,  752,   33,   33,
       33,   33,   33,  752,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,  752,  752,
      752,   33,  753,  734,  734,  734,  734,   77,   77,  754,
      734,  755,  756,  734,  734,  734,  734,  757,  734,  734,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,

       33,   33,   33,  752,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,  752,   33,   33,   33,  752,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,   33,   33,   33,   33,   33,
      752,  752,  752,   33,  734,  734,  734,  734,  734,   77,
      734,   33,   33,   33,   33,  752,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  752,  752,  752,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,   33,   33,
       33,  752,   33,  195,   33,   33,  752,   33,   33,   33,

       33,  752,  752,   33,   33,   33,  752,   33,  752,  752,
      752,  734,  734,  734,   77,  734,   33,   33,   33,  752,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,  752,  752,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,  195,  752,   33,   33,  752,   33,  195,   33,   33,
      752,   33,   33,   33,   33,  752,  752,   33,   33,  752,
      752,  752,  752,  752,  734,  734,   77,  734,   33,   33,
      752,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,  752,  752,  752,

       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
      195,  752,   33,  752,   33,  195,   33,   33,  752,   33,
       33,  752,  752,   33,  752,  752,  752,  752,  752,  734,
       77,  759,   33,   33,  752,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,  752,  752,  752,  752,
       33,   33,   33,   33,   33,   33,  752,  195,  752,   33,
      752,  195,  752,   33,   33,  752,  752,   33,  752,  752,
      752,  752,  734,  760,   77,  734,   33,   33,  752,   33,
       33,   33,   33,   33,  195,   33,   33,  752,  752,  752,
      752,   33,   33,   33,  752,  195,  752,  752,  195,  752,

      195,  752,  752,   33,  752,  752,  752,  752,  734,  734,
      746,  734,   33,   33,   33,   33,   33,  195,   33,   33,
      752,  752,  752,   33,   33,   33,  752,  195,  752,  752,
      195,  752,  195,  752,  752,  752,  752,  752,  746,  734,
       33,   33,   33,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,   33,   33,
      752,  195,  752,  752,  195,  752,  195,  752,  752,  752,
      752,  746,  734,  195,   33,  752,  752,  752,  195,  752,
      752,  195,  752,  752,  752,  752,  752,  746,  734,  195,

      752,  195,  752,  752,  752,  752,  746,  734,  195,  752,
      752,  752,  752,  746,  734,  195,  752,  746,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,    0,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734
    } ;

static yyconst short int yy_nxt[4496] =
    {   0,
       18,   19,   20,   19,   19,   21,   22,   23,   24,   25,
       18,   25,   26,   27,   28,   29,   30,   30,   30,   30,
       30,   30,   30,   31,   21,   32,   32,   18,   33,   34,
       35,   36,   37,   38,   39,   40,   41,   40,   40,   40,
       42,   43,   44,   45,   40,   46,   47,   48,   49,   50,
       51,   40,   40,   40,   25,   21,   21,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
       52,   52,   52,   52,   52,   52,   52,   52,   52,   53,
       21,   25,   55,   56,   56,   55,   56,   56,   55,   56,
       56,   68,   57,   65,   60,   57,   60,   66,   58,   55,

       56,   56,   61,   65,   61,   68,   62,   66,   62,   58,
       93,   89,   69,  102,  202,   70,  202,   63,  734,   63,
       90,   90,   90,   90,  202,  202,   69,   89,  202,   70,
       90,   90,   90,   90,  734,  190,  733,   89,   97,   97,
       97,   97,   95,  274,  575,   89,   89,  732,  191,  275,
       99,  176,   97,   97,  100,  100,  100,  100,  100,  100,
      100,  178,  178,  178,  178,  202,  734,  244,   71,  202,
       72,  103,  103,  103,  103,  103,  103,  103,  103,  238,
      341,  222,   71,  255,   72,   73,   74,   75,   74,   74,
       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,

      178,  178,  178,  178,   90,   90,   90,   90,   73,   73,
       73,   73,   73,  106,  223,  279,  113,   77,  279,  106,
      114,  234,  121,  106,  115,  106,  116,  106,  202,  106,
      202,  106,  106,  106,  106,  202,  117,  106,  106,   73,
       73,   73,  280,  118,  106,  280,  106,  119,  106,  106,
      120,  106,  202,  106,  202,  202,  106,  178,  178,  178,
      178,  176,  350,  202,   74,   73,   74,   73,   74,   75,
       74,   74,   73,   73,   73,   73,   73,   73,   73,   73,
       73,   73,  202,  259,  268,  269,  106,  305,  343,  202,
       73,   73,   73,   73,   73,  176,  106,  122,  123,   77,

      106,  277,  260,  277,  304,  106,  138,  139,  124,  325,
      140,  278,  316,  125,  106,  261,  106,  277,  106,  277,
      141,   73,   73,   73,  106,  106,  106,  278,  106,  729,
      126,  320,  728,  106,  415,  142,  192,  192,  192,  192,
      192,  192,  192,  192,  176,  470,   74,   73,   74,   32,
       78,   79,   78,   78,   32,   32,   80,   32,   32,   32,
       81,   82,   32,   83,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,

       84,   84,   84,   85,   86,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   87,   32,
       88,   89,  202,  477,   97,   97,   97,   97,  176,  727,
      726,  188,  202,  202,  202,  725,  724,   93,   97,   97,
      723,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
       94,   94,   94,   94,   94,   94,   94,  667,  411,   95,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,

       96,   96,  105,  375,  388,  106,  106,  106,  106,  106,
      106,  106,  106,  722,  202,  202,  202,  721,  106,  107,
      106,  106,  106,  106,  106,  106,  106,  106,  106,  108,
      106,  109,  106,  110,  106,  106,  106,  106,  111,  106,
      106,  106,  106,  106,  202,  202,  202,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
      112,  112,  112,  112,  112,  112,  112,  112,  112,  106,
      202,  202,  202,  410,  129,  106,  397,  130,  403,  106,
      202,  106,  202,  106,  202,  106,  131,  132,  106,  106,
      106,  439,  133,  335,  106,  134,  106,  376,  734,  202,

      106,  127,  106,  135,  106,  202,  106,  202,  106,  136,
      106,  202,  128,  143,  106,  106,  144,  720,  392,  342,
      202,  409,  458,  202,  145,  202,  106,  202,  106,  106,
      146,  202,  148,  106,  202,  106,  137,  440,  149,  106,
      420,  106,  150,  106,  456,  106,  202,  106,  106,  106,
      202,  153,  106,  151,  106,  734,  461,  147,  152,  154,
      106,  473,  106,  106,  106,  441,  106,  466,  202,  467,
      106,  106,  106,  106,  106,  157,  155,  106,  453,  106,
      535,  158,  106,  106,  202,  633,  474,  472,  160,  498,
      161,  570,  156,  106,  202,  106,  519,  106,  164,  164,

      164,  164,  106,  159,  103,  103,  103,  103,  103,  103,
      103,  103,  165,  165,  165,  165,  165,  165,  166,  166,
      175,  481,  202,  202,  202,  175,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  734,  202,  500,  106,  106,
      202,  499,  514,  175,  175,  175,  175,  175,  106,  106,
      106,  106,  106,  106,  106,  719,  197,  106,  106,  511,
      412,  412,  412,  412,  198,  202,  106,  106,  106,  512,
      106,  202,  202,  106,  175,  175,  175,  106,  202,  106,
      106,  106,  106,  202,  200,  106,  106,  202,  202,  106,
      199,  202,  718,  522,  202,  106,  526,  106,  202,  106,

      175,  175,  202,  201,  106,  549,  175,  175,  175,  175,
      175,  175,  175,  175,  175,  175,  192,  192,  192,  192,
      192,  192,  192,  192,  175,  175,  175,  175,  175,  106,
      523,  202,  525,  527,  203,  106,  528,  529,  595,  106,
      414,  106,  177,  106,  202,  106,  563,  106,  106,  106,
      106,  550,  202,  204,  106,  175,  175,  175,  106,  566,
      106,  202,  106,  571,  205,  559,  202,  202,  106,  106,
      106,  206,  106,  202,  202,  202,  202,  106,  567,  202,
      202,  175,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,

      196,  196,  196,  196,  106,  569,  207,  106,  547,  572,
      561,  202,  202,  202,  106,  202,  106,  106,  106,  106,
      208,  106,  106,  106,  209,  106,  106,  548,  588,  590,
      579,  591,  106,  210,  211,  106,  106,  106,  106,  106,
      202,  106,  212,  202,  106,  716,  213,  202,  106,  202,
      106,  202,  106,  202,  202,  611,  106,  106,  106,  202,
      106,  106,  214,  215,  106,  106,  602,  106,  217,  605,
      202,  106,  598,  106,  220,  106,  106,  106,  106,  106,
      216,  218,  106,  106,  176,  219,  106,  224,  607,  202,
      202,  202,  106,  632,  106,  221,  106,  106,  600,  734,

      106,  106,  606,  225,  636,  597,  589,  106,  106,  106,
      106,  106,  106,  603,  106,  608,  106,  618,  106,  106,
      106,  202,  226,  106,  227,  202,  202,  106,  609,  609,
      609,  609,  202,  106,  106,  106,  202,  106,  202,  622,
      228,  229,  106,  730,  106,  106,  106,  230,  106,  621,
      691,  106,  715,  106,  202,  106,  714,  106,  202,  106,
      202,  106,  106,  232,  106,  106,  202,  231,  630,  731,
      106,  202,  233,  202,  106,  106,  106,  202,  106,  202,
      647,  106,  651,  235,  202,  106,  623,  106,  106,  106,
      106,  106,  106,  666,  106,  202,  236,  106,  629,  106,

      202,  106,  106,  106,  202,  106,  202,  627,  610,  106,
      106,  106,  106,  106,  106,  106,  106,  237,  106,  646,
      239,  106,  637,  202,  635,  106,  106,  106,  202,  106,
      709,  634,  648,  202,  106,  240,  106,  638,  106,  106,
      106,  202,  242,  708,  654,  241,  243,  202,  653,  106,
      707,  106,  202,  106,  245,  106,  202,  658,  106,  730,
      202,  106,  656,  202,  202,  246,  202,  106,  659,  106,
      202,  106,  106,  106,  106,  106,  247,  202,  106,  248,
      106,  661,  106,  660,  106,  731,  106,  252,  106,  106,
      106,  106,  106,  676,  250,  202,  249,  106,  668,  106,

      106,  251,  202,  106,  673,  674,  106,  671,  106,  202,
      106,  253,  106,  680,  106,  202,  106,  106,  106,  106,
      106,  678,  202,  106,  202,  106,  679,  106,  711,  106,
      256,  106,  202,  106,  681,  106,  254,  106,  106,  106,
      257,  202,  106,  258,  609,  609,  609,  609,  106,  106,
      106,  106,  106,  106,  202,  687,  262,  106,  106,  164,
      164,  164,  164,  202,  202,  701,  686,  702,  202,  202,
      202,  202,  202,  165,  165,  165,  165,  165,  165,  166,
      166,  264,  202,  688,  703,  166,  166,  166,  166,  166,
      166,  166,  166,  265,  693,  202,  202,  166,  166,  166,

      166,  166,  166,  166,  166,  105,  106,  106,  700,  281,
      699,  696,  698,  692,  690,  694,  106,  106,  106,  106,
      106,  106,  106,  106,  610,  106,  106,  704,  705,  717,
      202,  710,  106,  282,  106,  106,  106,  106,  202,  689,
      202,  106,  106,  684,  683,  682,  677,  697,  695,  202,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
      196,  196,  106,  675,  672,  664,  663,  662,  202,  657,
      106,  706,  106,  106,  106,  283,  106,  284,  655,  712,
      106,  106,  106,  106,  106,  106,  106,  106,  652,  106,

      713,  644,  106,  640,  106,  639,  106,  202,  106,  631,
      106,  628,  106,  285,  286,  106,  106,  202,  106,  202,
      106,  612,  106,  106,  106,  599,  106,  288,  287,  596,
      106,  106,  106,  106,  106,  202,  562,  558,  532,  106,
      531,  106,  516,  106,  106,  106,  478,  106,  416,  349,
      289,  106,  106,  106,  106,  290,  106,  351,  106,  186,
      106,  291,  292,  106,  293,  106,  106,  184,  182,  295,
      180,  176,  294,  349,  162,  106,  106,  106,  106,  106,
      106,  106,  734,  202,  106,  106,  275,  106,  186,  184,
      271,  106,  180,  106,  296,  106,  176,  106,  106,  106,

      106,  106,  267,  266,  106,  162,  106,  298,  106,  297,
      106,  202,  106,  194,  106,  106,  106,  106,  106,  193,
      189,  106,  186,  106,  301,  299,  184,  106,  300,  106,
      183,  106,  106,  106,  106,  106,  182,  182,  180,  102,
      106,  179,  106,  106,  106,  174,  106,  172,  102,  302,
      170,  106,  169,  106,  303,  106,  106,  106,  168,  162,
      104,  101,  106,   92,  106,   89,  106,  106,  106,   89,
      106,  734,  734,  306,  106,  106,  307,  308,  106,  106,
      309,  106,  106,  106,  734,  106,  106,  734,  106,  734,
      734,  312,  310,  734,  106,  106,  106,  106,  106,  106,

      106,  106,  106,  311,  106,  313,  106,  106,  734,  734,
      734,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  106,  734,  106,  734,  734,  314,  734,  106,  734,
      315,  317,  106,  734,  106,  734,  734,  734,  106,  106,
      106,  106,  106,  734,  318,  734,  734,  106,  734,  106,
      734,  106,  106,  106,  734,  106,  319,  734,  734,  106,
      106,  106,  106,  106,  106,  106,  106,  734,  106,  734,
      321,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  106,

      322,  106,  106,  106,  734,  106,  734,  734,  323,  106,
      106,  106,  106,  106,  327,  106,  734,  734,  106,  324,
      734,  734,  326,  106,  106,  106,  106,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  328,  734,  106,  734,  106,  329,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  734,  106,  330,
      106,  734,  106,  106,  106,  734,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  331,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      332,  106,  106,  106,  106,  106,  734,  334,  333,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      734,  340,  106,  106,  106,  336,  106,  337,  106,  106,
      734,  106,  338,  734,  734,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  734,  339,  106,  106,  734,
      344,  734,  734,  734,  106,  734,  106,  734,  106,  345,
      345,  345,  345,  106,  734,  734,  734,  347,  347,  347,
      347,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  348,  348,  348,  348,  348,  348,  348,  348,  106,
      106,  734,  734,  734,  734,  734,  734,  353,  734,  106,
      106,  352,  106,  106,  106,  106,  734,  734,  106,  106,

      734,  106,  734,  734,  734,  106,  354,  106,  734,  106,
      734,  106,  106,  355,  106,  106,  734,  734,  106,  734,
      106,  357,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  358,  106,  106,  359,  106,  734,  734,
      734,  734,  734,  734,  106,  106,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  356,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  360,  106,  106,
      106,  361,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  363,  106,  734,  362,  106,  734,  734,  734,  106,
      106,  106,  106,  106,  106,  734,  106,  734,  364,  734,

      106,  106,  365,  106,  106,  366,  106,  734,  367,  106,
      734,  734,  734,  106,  734,  106,  106,  106,  106,  734,
      106,  106,  106,  734,  368,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  369,  734,  734,  106,  370,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  106,  106,  106,  106,  734,
      371,  734,  734,  106,  734,  106,  734,  372,  734,  106,
      106,  373,  734,  374,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,

      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  378,  106,  734,  734,  379,  734,  734,  106,  106,
      106,  106,  106,  106,  106,  380,  734,  106,  106,  382,
      106,  734,  377,  734,  106,  734,  106,  386,  106,  734,
      106,  734,  106,  381,  106,  106,  383,  734,  106,  106,
      384,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  385,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  387,  734,  106,  734,  106,  389,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  394,  390,  106,

      734,  106,  734,  106,  393,  106,  391,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  734,  734,  734,
      106,  734,  106,  734,  106,  395,  106,  734,  106,  396,
      106,  734,  106,  106,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  106,
      106,  734,  399,  734,  398,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  734,  106,  106,  106,
      106,  106,  400,  734,  106,  106,  106,  401,  106,  106,
      734,  106,  734,  734,  734,  106,  734,  106,  106,  106,

      106,  106,  106,  106,  106,  106,  106,  106,  734,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  106,
      106,  404,  106,  106,  106,  106,  106,  734,  106,  106,
      402,  405,  406,  734,  734,  106,  734,  734,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  408,  734,  106,  734,  734,  734,  734,
      734,  407,  106,  734,  106,  734,  106,  345,  345,  345,
      345,  106,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  346,  346,  346,  346,  346,  346,  346,  346,  412,

      412,  412,  412,  734,  734,  734,  734,  734,  734,  413,
      734,  734,  734,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  348,  348,  348,  348,  348,
      348,  348,  348,  413,  734,  106,  106,  348,  348,  348,
      348,  348,  348,  348,  348,  106,  106,  106,  106,  106,
      106,  106,  418,  417,  106,  106,  734,  734,  734,  734,
      734,  106,  734,  106,  734,  106,  419,  106,  734,  414,
      106,  734,  421,  106,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  422,

      734,  106,  106,  734,  423,  734,  734,  734,  106,  106,
      106,  106,  106,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  424,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  106,  426,  425,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  427,  428,  106,  734,  106,  429,  734,  734,  106,
      106,  106,  106,  106,  430,  734,  734,  734,  106,  734,
      106,  734,  106,  431,  106,  734,  106,  432,  106,  734,
      106,  106,  106,  734,  106,  734,  106,  734,  106,  106,

      106,  734,  106,  734,  433,  734,  106,  106,  106,  734,
      106,  106,  435,  734,  434,  106,  734,  106,  734,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  106,  106,
      106,  106,  734,  734,  106,  436,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  437,  438,  106,  106,  106,
      106,  734,  734,  106,  734,  734,  734,  442,  734,  106,
      106,  106,  106,  106,  106,  734,  734,  106,  106,  106,
      106,  443,  734,  444,  734,  734,  734,  106,  734,  106,
      106,  106,  106,  734,  106,  445,  106,  106,  106,  106,
      446,  734,  734,  734,  734,  734,  734,  106,  106,  447,

      106,  106,  106,  106,  734,  734,  106,  106,  734,  106,
      734,  734,  449,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  448,  106,  451,  734,  734,  452,  106,  734,
      106,  734,  106,  106,  106,  734,  734,  450,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  454,
      106,  734,  734,  106,  734,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  455,  734,  106,
      734,  106,  734,  106,  106,  106,  734,  106,  734,  457,
      734,  106,  106,  459,  106,  106,  734,  734,  734,  734,

      106,  734,  734,  734,  106,  734,  106,  106,  106,  734,
      106,  734,  460,  106,  462,  734,  734,  106,  106,  106,
      106,  106,  463,  464,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  734,
      734,  106,  106,  106,  734,  106,  734,  734,  106,  734,
      106,  468,  106,  465,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  469,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  475,  475,  475,  475,  106,
      734,  734,  734,  734,  734,  734,  734,  106,  734,  476,

      476,  476,  476,  476,  476,  476,  476,  106,  734,  106,
      106,  106,  479,  106,  734,  471,  106,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  734,  106,  480,  106,
      734,  106,  106,  482,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  106,  106,  106,
      734,  106,  483,  106,  106,  734,  106,  484,  734,  485,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      734,  106,  734,  486,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  734,  488,  487,  106,  734,  106,  734,

      734,  734,  106,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  734,  734,  106,  489,  106,  490,  734,
      734,  106,  734,  491,  734,  106,  734,  106,  734,  106,
      734,  106,  106,  106,  106,  106,  734,  493,  106,  734,
      106,  734,  106,  734,  492,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  734,  106,
      734,  106,  494,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  496,
      106,  734,  106,  495,  106,  106,  106,  497,  106,  106,
      734,  106,  734,  501,  734,  734,  734,  734,  106,  106,

      106,  106,  106,  106,  106,  734,  734,  106,  106,  734,
      106,  502,  503,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  106,  734,  106,
      505,  106,  734,  106,  734,  106,  734,  106,  504,  106,
      106,  106,  106,  506,  734,  734,  106,  734,  106,  507,
      734,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  508,  734,  509,  106,  734,
      106,  734,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  510,  734,  106,

      734,  106,  734,  106,  106,  106,  513,  106,  734,  734,
      106,  734,  734,  734,  106,  106,  515,  106,  106,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  518,  734,  517,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  734,  734,  106,  106,  106,  734,
      106,  106,  521,  734,  106,  106,  520,  106,  734,  734,
      734,  106,  734,  106,  106,  106,  106,  106,  106,  106,
      106,  106,  106,  106,  734,  106,  106,  734,  734,  734,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      734,  106,  524,  734,  106,  475,  475,  475,  475,  734,

      734,  734,  734,  734,  734,  734,  734,  734,  734,  476,
      476,  476,  476,  476,  476,  476,  476,  530,  734,  106,
      734,  476,  476,  476,  476,  476,  476,  476,  476,  106,
      734,  106,  106,  106,  734,  106,  734,  533,  106,  534,
      734,  734,  106,  734,  106,  106,  106,  106,  734,  106,
      106,  106,  734,  536,  106,  734,  106,  734,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  537,  106,
      106,  734,  734,  106,  538,  106,  734,  106,  734,  106,
      539,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  734,

      106,  106,  106,  106,  106,  734,  734,  734,  540,  106,
      734,  106,  106,  106,  541,  106,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  542,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  734,  106,  106,  106,  106,  106,
      734,  734,  734,  543,  106,  734,  106,  106,  106,  734,
      106,  734,  734,  545,  544,  106,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      106,  734,  106,  734,  546,  734,  106,  551,  106,  734,
      106,  106,  106,  106,  106,  734,  734,  734,  734,  106,

      734,  106,  106,  106,  734,  106,  734,  734,  106,  552,
      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  106,  734,  106,  554,  106,
      734,  106,  734,  106,  734,  106,  553,  106,  106,  106,
      106,  106,  734,  734,  106,  734,  734,  734,  734,  734,
      106,  106,  106,  106,  106,  106,  106,  556,  555,  106,
      106,  734,  106,  734,  734,  734,  106,  734,  106,  734,
      106,  734,  106,  106,  106,  106,  106,  734,  734,  106,
      734,  106,  734,  560,  734,  106,  734,  106,  734,  106,
      106,  106,  106,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  557,  106,  106,
      106,  106,  734,  734,  564,  106,  734,  106,  734,  734,
      565,  106,  734,  106,  734,  106,  734,  106,  734,  106,
      106,  106,  568,  106,  734,  734,  106,  734,  734,  573,
      573,  573,  573,  106,  734,  106,  734,  106,  734,  734,
      734,  734,  106,  574,  574,  574,  574,  574,  574,  574,
      574,  106,  106,  578,  734,  734,  734,  734,  577,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  734,  734,
      106,  106,  734,  734,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  580,  734,  106,  106,  106,  106,  106,

      582,  106,  106,  581,  106,  734,  734,  106,  585,  106,
      734,  106,  734,  583,  734,  106,  734,  106,  734,  106,
      106,  106,  584,  106,  734,  106,  734,  106,  106,  106,
      734,  106,  734,  734,  734,  106,  106,  106,  106,  106,
      734,  586,  734,  734,  106,  734,  106,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  106,  106,  734,
      106,  587,  106,  734,  106,  106,  106,  734,  106,  734,
      734,  734,  106,  106,  106,  106,  106,  734,  592,  734,
      734,  106,  734,  106,  734,  106,  106,  106,  734,  106,
      734,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  734,  734,  106,  734,  106,  734,  106,
      106,  106,  734,  106,  593,  734,  734,  106,  106,  106,
      106,  106,  106,  106,  106,  734,  106,  601,  594,  106,
      734,  106,  734,  106,  734,  106,  734,  106,  734,  734,
      734,  106,  106,  106,  106,  106,  734,  106,  734,  734,
      106,  734,  734,  734,  106,  734,  106,  604,  106,  106,
      734,  106,  734,  106,  734,  734,  106,  573,  573,  573,
      573,  734,  734,  734,  734,  734,  734,  734,  734,  106,
      734,  574,  574,  574,  574,  574,  574,  574,  574,  106,
      106,  106,  613,  106,  734,  734,  106,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  106,  106,  106,
      106,  734,  734,  106,  734,  106,  615,  106,  734,  106,
      734,  106,  734,  106,  614,  106,  106,  106,  106,  106,
      734,  734,  106,  616,  734,  734,  734,  734,  106,  106,
      106,  617,  106,  106,  106,  106,  619,  106,  106,  734,
      734,  734,  734,  734,  106,  620,  106,  106,  106,  106,
      106,  734,  734,  106,  106,  734,  734,  734,  106,  734,
      106,  734,  106,  734,  106,  734,  624,  734,  106,  106,
      106,  625,  106,  106,  106,  734,  734,  106,  734,  734,
      626,  734,  734,  106,  106,  106,  106,  106,  106,  106,

      106,  734,  106,  106,  734,  734,  734,  734,  734,  106,
      106,  641,  106,  106,  106,  106,  106,  642,  106,  106,
      734,  734,  734,  734,  734,  106,  106,  106,  106,  106,
      106,  106,  106,  734,  106,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  643,  734,
      106,  106,  734,  106,  645,  734,  734,  106,  734,  106,
      734,  106,  734,  106,  106,  106,  106,  106,  734,  734,
      734,  734,  106,  734,  106,  106,  649,  734,  106,  734,
      734,  106,  734,  106,  734,  106,  734,  106,  650,  106,
      734,  106,  106,  106,  106,  106,  734,  734,  106,  734,

      106,  734,  106,  734,  106,  734,  106,  734,  106,  106,
      106,  106,  106,  734,  734,  734,  734,  106,  734,  106,
      106,  106,  734,  106,  734,  734,  106,  665,  106,  734,
      106,  734,  106,  734,  106,  734,  106,  669,  670,  106,
      106,  106,  106,  734,  734,  106,  734,  734,  734,  734,
      734,  106,  106,  106,  106,  106,  106,  106,  106,  734,
      106,  106,  734,  734,  685,  734,  734,  106,  106,  106,
      106,  106,  106,  734,  734,  734,  106,  106,   54,   54,
       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
       54,   59,   59,   59,   59,   59,   59,   59,   59,   59,

       59,   59,   59,   59,   64,   64,   64,   64,   64,   64,
       64,   64,   64,   64,   64,   64,   64,   67,   67,   67,
       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
       76,   76,   76,   76,   76,   76,   76,   76,   76,   76,
       76,   76,   76,   91,   91,   91,   91,  734,   91,   91,
       91,   91,   91,   91,   91,   91,   98,   98,   98,  734,
       98,  734,   98,  734,   98,  163,  163,  734,  163,  163,
      167,  167,  734,  734,  167,  167,  734,  167,  167,  167,
      167,  167,  167,  171,  171,  171,  171,  734,  171,  171,
      171,  171,  171,  171,  171,  171,  173,  173,  173,  173,

      173,  173,  173,  173,  734,  173,  173,  175,  734,  734,
      734,  175,  175,  175,  175,  175,  175,  175,  176,  734,
      734,  734,  176,  176,  176,  176,  176,  176,  176,  181,
      181,  734,  181,  181,  185,  185,  734,  185,  185,  187,
      187,  734,  187,  187,  195,  734,  195,  195,  112,  112,
      734,  112,  112,  263,  734,  263,  263,  270,  734,  270,
      270,  272,  734,  272,  272,  273,  734,  273,  273,  276,
      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
      276,  276,  196,  196,  734,  196,  196,  576,  576,  734,
      576,  576,  576,  576,  576,  576,  576,  576,  576,  576,

      574,  574,  574,  734,  734,  734,  574,  734,  734,  734,
      734,  574,   17,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

static yyconst short int yy_chk[4496] =
    {   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,    1,
        1,    1,    3,    3,    3,    4,    4,    4,    5,    5,
        5,   11,    3,    9,    7,    4,    8,    9,    5,    6,

        6,    6,    7,   10,    8,   12,    7,   10,    8,    6,
       95,   28,   11,   28,  147,   11,  259,    7,   80,    8,
       19,   19,   19,   19,  127,  142,   12,   19,  156,   12,
       20,   20,   20,   20,   80,   99,  732,   20,   24,   24,
       24,   24,   95,  188,  531,   24,   26,  731,   99,  188,
       26,  531,   24,   24,   26,   26,   26,   26,   26,   26,
       26,   78,   78,   78,   78,  137,   80,  147,   11,  128,
       11,   30,   30,   30,   30,   30,   30,   30,   30,  142,
      259,  127,   12,  156,   12,   13,   13,   13,   13,   13,
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,

       79,   79,   79,   79,   90,   90,   90,   90,   13,   13,
       13,   13,   13,   34,  128,  191,   34,   13,  279,   36,
       34,  137,   36,   34,   34,   34,   34,   34,  223,   36,
      159,   36,   34,   36,   40,  261,   34,   35,   36,   13,
       13,   13,  191,   35,   40,  279,   40,   35,   40,   35,
       35,   35,  244,   40,  160,  222,   35,  178,  178,  178,
      178,  268,  268,  234,   13,   13,   13,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,  238,  159,  177,  177,   37,  223,  261,  407,
       14,   14,   14,   14,   14,  177,   37,   37,   37,   14,

       37,  190,  160,  190,  222,   37,   44,   44,   37,  244,
       44,  190,  234,   38,   38,  160,   44,  278,   44,  278,
       44,   14,   14,   14,   38,   44,   38,  278,   38,  728,
       38,  238,  727,   38,  350,   44,  100,  100,  100,  100,
      100,  100,  100,  100,  350,  407,   14,   14,   14,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,

       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
       15,   23,  343,  415,   97,   97,   97,   97,  415,  726,
      725,   97,  647,  304,  316,  724,  723,   23,   97,   97,
      722,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,  647,  343,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,

       23,   23,   33,  304,  316,   33,   33,   33,   33,   33,
       33,   33,   33,  721,  325,  342,  335,  720,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,  255,  305,  375,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
       33,   33,   33,   33,   33,   33,   33,   33,   33,   39,
      260,  320,  341,  342,   41,   41,  325,   41,  335,   39,
      356,   39,  392,   39,  376,   41,   41,   41,   39,   41,
       43,  375,   41,  255,   41,   42,   42,  305,  394,  410,

       43,   39,   43,   42,   43,  377,   42,  402,   42,   43,
       42,  397,   39,   45,   45,   42,   45,  719,  320,  260,
      403,  341,  394,  481,   45,  388,   45,  409,   45,   46,
       45,  411,   46,   45,  439,   47,   43,  376,   47,   46,
      356,   46,   47,   46,  392,   47,  527,   47,   46,   47,
      461,   48,   50,   47,   47,  601,  397,   45,   47,   48,
       48,  410,   50,   49,   50,  377,   50,  402,  420,  403,
       48,   50,   48,   49,   48,   49,   48,   49,  388,   48,
      481,   49,   49,   51,  441,  601,  411,  409,   50,  439,
       51,  527,   48,   51,  440,   51,  461,   51,   53,   53,

       53,   53,   51,   49,  103,  103,  103,  103,  103,  103,
      103,  103,   53,   53,   53,   53,   53,   53,   53,   53,
       76,  420,  453,  456,  717,   76,   76,   76,   76,   76,
       76,   76,   76,   76,   76,  452,  471,  441,  106,  107,
      466,  440,  456,   76,   76,   76,   76,   76,  106,  107,
      106,  107,  106,  107,  108,  715,  107,  106,  107,  452,
      412,  412,  412,  412,  108,  467,  108,  109,  108,  453,
      110,  499,  472,  108,   76,   76,   76,  109,  557,  109,
      110,  109,  110,  470,  110,  111,  109,  473,  474,  110,
      109,  519,  714,  466,  500,  111,  471,  111,  528,  111,

       76,   77,  522,  111,  111,  499,   77,   77,   77,   77,
       77,   77,   77,   77,   77,   77,  192,  192,  192,  192,
      192,  192,  192,  192,   77,   77,   77,   77,   77,  113,
      467,  512,  470,  472,  113,  114,  473,  474,  557,  113,
      412,  113,   77,  113,  523,  114,  519,  114,  113,  114,
      115,  500,  526,  114,  114,   77,   77,   77,  116,  522,
      115,  514,  115,  528,  115,  512,  547,  549,  116,  115,
      116,  116,  116,  713,  498,  529,  712,  116,  523,  535,
      550,   77,  105,  105,  105,  105,  105,  105,  105,  105,
      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,

      105,  105,  105,  105,  117,  526,  118,  118,  498,  529,
      514,  561,  569,  710,  117,  566,  117,  118,  117,  118,
      118,  118,  120,  117,  119,  119,  118,  498,  547,  549,
      535,  550,  120,  120,  120,  119,  120,  119,  121,  119,
      548,  120,  121,  559,  119,  709,  122,  570,  121,  563,
      121,  567,  121,  572,  571,  575,  122,  121,  122,  600,
      122,  123,  123,  123,  125,  122,  566,  124,  124,  569,
      606,  123,  561,  123,  125,  123,  125,  124,  125,  124,
      123,  124,  126,  125,  575,  124,  124,  129,  571,  588,
      589,  674,  126,  600,  126,  126,  126,  129,  563,  585,

      130,  126,  570,  130,  606,  559,  548,  129,  131,  129,
      130,  129,  130,  567,  130,  572,  129,  585,  131,  130,
      131,  598,  131,  132,  132,  627,  590,  131,  574,  574,
      574,  574,  622,  132,  133,  132,  646,  132,  597,  589,
      132,  132,  132,  729,  133,  134,  133,  133,  133,  588,
      674,  135,  708,  133,  595,  134,  707,  134,  706,  134,
      607,  135,  136,  135,  134,  135,  621,  134,  598,  729,
      135,  603,  136,  605,  136,  138,  136,  608,  139,  623,
      622,  136,  627,  138,  630,  138,  590,  138,  139,  138,
      139,  140,  139,  646,  138,  629,  139,  139,  597,  141,

      632,  140,  143,  140,  634,  140,  636,  595,  574,  141,
      140,  141,  143,  141,  143,  144,  143,  141,  141,  621,
      143,  143,  607,  637,  605,  144,  145,  144,  638,  144,
      700,  603,  623,  656,  144,  144,  145,  608,  145,  146,
      145,  648,  146,  699,  630,  145,  146,  653,  629,  146,
      698,  146,  654,  146,  148,  148,  651,  634,  146,  730,
      660,  149,  632,  697,  658,  148,  659,  148,  636,  148,
      703,  149,  150,  149,  148,  149,  149,  661,  151,  149,
      149,  638,  150,  637,  150,  730,  150,  153,  151,  152,
      151,  150,  151,  656,  151,  694,  150,  151,  648,  152,

      153,  152,  667,  152,  653,  654,  154,  651,  152,  687,
      153,  154,  153,  660,  153,  666,  154,  155,  154,  153,
      154,  658,  691,  157,  690,  154,  659,  155,  703,  155,
      157,  155,  668,  157,  661,  157,  155,  157,  161,  158,
      158,  676,  157,  158,  609,  609,  609,  609,  161,  158,
      161,  158,  161,  158,  680,  667,  161,  161,  158,  164,
      164,  164,  164,  673,  678,  687,  666,  689,  688,  711,
      693,  695,  686,  164,  164,  164,  164,  164,  164,  164,
      164,  165,  701,  668,  691,  165,  165,  165,  165,  165,
      165,  165,  165,  166,  676,  679,  681,  166,  166,  166,

      166,  166,  166,  166,  166,  195,  197,  198,  684,  197,
      683,  680,  682,  675,  673,  678,  197,  198,  197,  198,
      197,  198,  199,  200,  609,  197,  198,  693,  695,  711,
      696,  701,  199,  200,  199,  200,  199,  200,  704,  672,
      671,  199,  200,  664,  663,  662,  657,  681,  679,  705,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
      195,  195,  201,  655,  652,  644,  640,  639,  635,  633,
      203,  696,  201,  204,  201,  201,  201,  203,  631,  704,
      203,  201,  203,  204,  203,  204,  205,  204,  628,  203,

      705,  618,  204,  612,  206,  611,  205,  602,  205,  599,
      205,  596,  207,  205,  206,  205,  206,  591,  206,  579,
      208,  576,  207,  206,  207,  562,  207,  208,  207,  558,
      208,  207,  208,  209,  208,  525,  516,  511,  478,  208,
      477,  210,  458,  209,  211,  209,  416,  209,  351,  349,
      209,  210,  209,  210,  211,  210,  211,  280,  211,  273,
      210,  211,  211,  211,  212,  212,  213,  272,  271,  213,
      270,  269,  212,  266,  263,  212,  213,  212,  213,  212,
      213,  214,  202,  196,  212,  213,  189,  215,  187,  185,
      183,  214,  181,  214,  214,  214,  176,  215,  216,  215,

      214,  215,  174,  169,  217,  163,  215,  217,  216,  216,
      216,  112,  216,  104,  217,  218,  217,  216,  217,  101,
       98,  219,   96,  217,  219,  218,   94,  218,  218,  218,
       93,  219,  220,  219,  218,  219,   92,   89,   84,   83,
      219,   82,  220,  221,  220,   69,  220,   66,   62,  220,
       61,  220,   58,  221,  221,  221,  224,  221,   57,   52,
       31,   27,  221,   22,  225,   21,  224,  226,  224,   18,
      224,   17,    0,  224,  225,  224,  225,  226,  225,  226,
      226,  226,  227,  225,    0,  228,  226,    0,  229,    0,
        0,  229,  227,    0,  227,  228,  227,  228,  229,  228,

      229,  227,  229,  228,  228,  230,  231,  229,    0,    0,
        0,    0,    0,    0,  230,    0,  231,  232,  231,    0,
      231,    0,    0,    0,  230,  231,  230,  232,  230,  232,
      233,  232,    0,  230,    0,    0,  232,    0,  235,    0,
      233,  235,  233,    0,  233,    0,    0,    0,  235,  233,
      235,  236,  235,    0,  236,    0,    0,  235,    0,  237,
        0,  236,  239,  236,    0,  236,  237,    0,    0,  237,
      236,  237,  239,  237,  239,  240,  239,    0,  237,    0,
      239,  239,    0,  241,    0,  240,    0,  240,    0,  240,
        0,  242,    0,  241,  240,  241,    0,  241,    0,  243,

      241,  242,  241,  242,    0,  242,    0,    0,  242,  243,
      242,  243,  245,  243,  246,  246,    0,    0,  243,  243,
        0,    0,  245,  247,  245,  246,  245,  246,    0,  246,
        0,  245,    0,  247,  246,  247,  248,  247,    0,    0,
        0,    0,  247,    0,  249,    0,  248,  249,  248,    0,
      248,    0,  250,    0,  249,  248,  249,    0,  249,  250,
      251,    0,  250,  249,  250,    0,  250,    0,    0,    0,
      251,  250,  251,  252,  251,    0,    0,    0,  251,  251,
        0,  253,    0,  252,    0,  252,    0,  252,    0,    0,
      252,  253,  252,  253,  254,  253,    0,  254,  253,    0,

      253,    0,  256,    0,  254,    0,  254,    0,  254,    0,
        0,  258,  256,  254,  256,  256,  256,  256,  257,  258,
        0,  256,  256,    0,    0,    0,    0,    0,  257,  258,
      257,  258,  257,  258,  262,    0,  257,  257,  258,    0,
      262,    0,    0,    0,  262,    0,  262,    0,  262,  264,
      264,  264,  264,  262,    0,    0,    0,  265,  265,  265,
      265,    0,    0,  264,  264,  264,  264,  264,  264,  264,
      264,  265,  265,  265,  265,  265,  265,  265,  265,  281,
      282,    0,    0,    0,    0,    0,    0,  282,    0,  281,
      282,  281,  282,  281,  282,  283,    0,    0,  281,  282,

        0,  284,    0,    0,    0,  283,  283,  283,    0,  283,
        0,  284,  285,  284,  283,  284,    0,    0,  286,    0,
      284,  286,  285,    0,  285,    0,  285,    0,  286,    0,
      286,  285,  286,  287,  287,  288,  288,  286,    0,    0,
        0,    0,    0,    0,  287,  288,  287,  288,  287,  288,
      289,    0,    0,  287,  288,    0,    0,  285,  290,    0,
      289,    0,  289,    0,  289,    0,  291,  289,  290,  289,
      290,  290,  290,    0,    0,    0,  291,  290,  291,  293,
      291,  292,  292,    0,  291,  291,    0,    0,    0,  293,
      294,  293,  292,  293,  292,    0,  292,    0,  293,    0,

      294,  292,  294,  295,  294,  295,  296,    0,  296,  294,
        0,    0,    0,  295,    0,  295,  296,  295,  296,    0,
      296,  297,  295,    0,  297,  296,    0,  298,    0,    0,
        0,  297,    0,  297,    0,  297,    0,  298,  299,  298,
      297,  298,    0,    0,  300,  299,  298,    0,  299,    0,
      299,    0,  299,    0,  300,  301,  300,  299,  300,    0,
      300,    0,    0,  300,    0,  301,    0,  301,    0,  301,
      302,  301,    0,  302,  301,    0,  303,    0,    0,    0,
      302,    0,  302,    0,  302,    0,  303,  306,  303,  302,
      303,    0,    0,  307,    0,  303,    0,  306,    0,  306,

        0,  306,    0,  307,    0,  307,  306,  307,  308,  309,
        0,  307,  307,    0,    0,  308,    0,    0,  308,  309,
      308,  309,  308,  309,  310,  309,    0,  308,  309,  311,
      311,    0,  306,    0,  310,    0,  310,  313,  310,    0,
      311,    0,  311,  310,  311,  312,  311,    0,  313,  311,
      312,    0,    0,    0,    0,  312,  314,  312,  313,  312,
      313,  312,  313,    0,  312,    0,  314,  313,  314,  315,
      314,    0,    0,  314,    0,  314,    0,  317,  317,  315,
      318,  315,    0,  315,    0,    0,    0,  317,  315,  317,
      318,  317,  318,  319,  318,    0,  317,  322,  318,  318,

        0,  321,    0,  319,  321,  319,  319,  319,    0,    0,
        0,  321,  319,  321,  322,  321,    0,    0,    0,    0,
      321,    0,  323,    0,  322,  323,  322,    0,  322,  324,
      324,    0,  323,  322,  323,    0,  323,    0,  326,    0,
      324,  323,  324,    0,  324,    0,  327,    0,  326,  324,
      326,    0,  326,    0,    0,    0,  327,  326,  327,  328,
      327,    0,  328,    0,  327,  327,    0,  329,    0,  328,
      330,  328,    0,  328,    0,    0,    0,  329,  328,  329,
      330,  329,  330,    0,  330,  332,  329,  331,  331,  330,
        0,  333,    0,    0,    0,  332,    0,  332,  331,  332,

      331,  333,  331,  333,  332,  333,  334,  331,    0,  336,
      333,    0,  337,    0,    0,    0,  334,    0,  334,  336,
      334,  336,  337,  336,  337,  334,  337,    0,  336,  338,
      332,  337,  338,    0,    0,  339,    0,    0,    0,  338,
        0,  338,    0,  338,    0,  339,  340,  339,  338,  339,
        0,    0,    0,    0,  339,    0,  340,    0,  340,    0,
      340,    0,  344,  340,    0,  340,    0,    0,    0,    0,
        0,  339,  344,    0,  344,    0,  344,  345,  345,  345,
      345,  344,    0,    0,    0,    0,    0,    0,    0,    0,
        0,  345,  345,  345,  345,  345,  345,  345,  345,  346,

      346,  346,  346,    0,    0,    0,    0,    0,    0,  346,
        0,    0,    0,  346,  346,  346,  346,  346,  346,  346,
      346,  347,  347,  347,  347,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,  347,  347,  347,  347,  347,
      347,  347,  347,  348,    0,  352,  355,  348,  348,  348,
      348,  348,  348,  348,  348,  352,  355,  352,  355,  352,
      355,  353,  353,  352,  352,  355,    0,    0,    0,    0,
        0,  353,    0,  353,    0,  353,  354,  354,    0,  346,
      353,    0,  357,  357,    0,    0,    0,  354,    0,  354,
        0,  354,    0,  357,    0,  357,  354,  357,  358,  358,

        0,  359,  357,    0,  359,    0,    0,    0,  358,  360,
      358,  359,  358,  359,    0,  359,    0,  358,    0,  360,
      359,  360,  361,  360,    0,    0,    0,    0,  360,    0,
      362,    0,  361,    0,  361,    0,  361,    0,  363,    0,
      362,  361,  362,    0,  362,  363,  362,    0,  363,  362,
      363,  364,  363,    0,    0,    0,    0,  363,    0,  365,
        0,  364,  365,  364,    0,  364,  365,    0,    0,  365,
      364,  365,  366,  365,  366,    0,    0,    0,  365,    0,
      367,    0,  366,  367,  366,    0,  366,  367,  368,    0,
      367,  366,  367,    0,  367,    0,  369,    0,  368,  367,

      368,    0,  368,    0,  368,    0,  369,  368,  369,    0,
      369,  370,  370,    0,  369,  369,    0,  371,    0,    0,
        0,  370,    0,  370,    0,  370,    0,  371,  372,  371,
      370,  371,    0,    0,  373,  371,  371,    0,  372,    0,
      372,    0,  372,    0,  373,  372,  373,  372,  373,  374,
      378,    0,    0,  373,    0,    0,    0,  378,    0,  374,
      378,  374,  378,  374,  378,    0,    0,  380,  374,  378,
      379,  379,    0,  379,    0,    0,    0,  380,    0,  380,
      379,  380,  379,    0,  379,  380,  380,  382,  381,  379,
      381,    0,    0,    0,    0,    0,    0,  382,  381,  382,

      381,  382,  381,  383,    0,    0,  382,  381,    0,  384,
        0,    0,  384,  383,    0,  383,    0,  383,    0,  384,
      385,  384,  383,  384,  386,    0,    0,  387,  384,    0,
      385,    0,  385,  386,  385,    0,    0,  385,    0,  385,
        0,  389,    0,  386,  387,  386,    0,  386,    0,    0,
        0,  389,  386,  389,  387,  389,  387,  390,  387,  389,
      389,    0,    0,  387,    0,  391,    0,  390,    0,  390,
        0,  390,    0,  393,    0,  391,  390,  391,    0,  391,
        0,  395,    0,  393,  391,  393,    0,  393,    0,  393,
        0,  395,  393,  395,  396,  395,    0,    0,    0,    0,

      395,    0,    0,    0,  396,    0,  396,  398,  396,    0,
      399,    0,  396,  396,  398,    0,    0,  398,  400,  398,
      399,  398,  399,  400,  399,    0,  398,    0,  400,  399,
      400,  401,  400,    0,    0,    0,    0,  400,    0,    0,
        0,  401,  404,  401,    0,  401,    0,    0,  405,    0,
      401,  405,  404,  401,  404,    0,  404,    0,  405,  406,
      405,  404,  405,    0,    0,    0,    0,  405,    0,  406,
      408,  406,    0,  406,    0,  406,    0,    0,  406,    0,
      408,    0,  408,    0,  408,  413,  413,  413,  413,  408,
        0,    0,    0,    0,    0,    0,    0,  417,    0,  413,

      413,  413,  413,  413,  413,  413,  413,  417,    0,  417,
      419,  417,  418,  418,    0,  408,  417,    0,    0,    0,
      419,  421,  419,  418,  419,  418,    0,  418,  419,  419,
        0,  421,  418,  421,  422,  421,    0,  423,    0,    0,
      421,    0,    0,    0,  422,    0,  422,  423,  422,  423,
        0,  423,  422,  422,  424,    0,  423,  424,    0,  425,
      425,    0,    0,    0,  424,    0,  424,    0,  424,    0,
      425,  426,  425,  424,  425,    0,    0,  427,    0,  425,
        0,  426,    0,  426,    0,  426,    0,  427,    0,  427,
      426,  427,  428,    0,  428,  427,  427,    0,  429,    0,

        0,    0,  428,    0,  428,    0,  428,    0,  429,    0,
      429,  428,  429,    0,    0,  430,  429,  429,  430,    0,
        0,  431,    0,  431,    0,  430,    0,  430,    0,  430,
        0,  431,  432,  431,  430,  431,    0,  433,  433,    0,
      431,    0,  432,    0,  432,    0,  432,    0,  433,  434,
      433,  432,  433,    0,    0,  435,    0,  433,    0,  434,
        0,  434,  435,  434,    0,  435,  436,  435,  434,  435,
        0,    0,  437,    0,  435,    0,  436,    0,  436,  437,
      436,    0,  437,  436,  437,  436,  437,  438,  438,  442,
        0,  437,    0,  442,    0,    0,    0,    0,  438,  442,

      438,  442,  438,  442,  443,    0,    0,  438,  442,    0,
      444,  443,  444,    0,  443,    0,  443,    0,  443,    0,
      444,  445,  444,  443,  444,    0,    0,  446,    0,  444,
      446,  445,    0,  445,    0,  445,    0,  446,  445,  446,
      445,  446,  447,  447,    0,    0,  446,    0,  448,  448,
        0,    0,  447,    0,  447,    0,  447,    0,  448,  449,
      448,  447,  448,    0,    0,    0,    0,  448,    0,  449,
        0,  449,    0,  449,  450,  449,    0,  450,  449,    0,
      451,    0,    0,    0,  450,    0,  450,    0,  450,    0,
      451,  454,  451,  450,  451,    0,    0,  451,    0,  451,

        0,  454,    0,  454,  457,  454,  455,  455,    0,    0,
      454,    0,    0,    0,  457,  459,  457,  455,  457,  455,
        0,  455,    0,  457,    0,  459,  455,  459,  460,  459,
        0,  460,    0,  459,  459,    0,  462,    0,  460,    0,
      460,    0,  460,    0,    0,    0,  462,  460,  462,    0,
      462,  463,  463,    0,  464,  462,  462,  465,    0,    0,
        0,  463,    0,  463,  464,  463,  464,  465,  464,  465,
      463,  465,  468,  464,    0,  469,  465,    0,    0,    0,
        0,    0,  468,    0,  468,  469,  468,  469,    0,  469,
        0,  468,  469,    0,  469,  475,  475,  475,  475,    0,

        0,    0,    0,    0,    0,    0,    0,    0,    0,  475,
      475,  475,  475,  475,  475,  475,  475,  476,    0,  479,
        0,  476,  476,  476,  476,  476,  476,  476,  476,  479,
        0,  479,  480,  479,    0,  482,    0,  479,  479,  480,
        0,    0,  480,    0,  480,  482,  480,  482,    0,  482,
      483,  480,    0,  483,  482,    0,  484,    0,    0,    0,
      483,    0,  483,    0,  483,    0,  484,  485,  484,  483,
      484,    0,    0,  486,  485,  484,    0,  485,    0,  485,
      486,  485,    0,  486,  487,  486,  485,  486,    0,    0,
      488,    0,  486,    0,  487,    0,  487,    0,  487,    0,

      488,  489,  488,  487,  488,    0,    0,    0,  489,  488,
        0,  489,  490,  489,  490,  489,    0,    0,  491,    0,
      489,    0,  490,    0,  490,    0,  490,    0,  491,  492,
      491,  490,  491,    0,  492,  493,    0,  491,    0,  492,
        0,  492,    0,  492,    0,  493,  494,  493,  492,  493,
        0,    0,    0,  493,  493,    0,  494,  495,  494,    0,
      494,    0,    0,  496,  494,  494,    0,  495,    0,  495,
        0,  495,    0,  496,  497,  496,  495,  496,    0,    0,
      501,    0,  496,    0,  497,    0,  497,  501,  497,    0,
      501,  502,  501,  497,  501,    0,    0,    0,    0,  501,

        0,  502,  503,  502,    0,  502,    0,    0,  504,  502,
      502,    0,  503,    0,  503,    0,  503,    0,  504,  505,
      504,  503,  504,    0,    0,  506,    0,  504,  506,  505,
        0,  505,    0,  505,    0,  506,  505,  506,  505,  506,
      507,  508,    0,    0,  506,    0,    0,    0,    0,    0,
      507,  508,  507,  508,  507,  508,  509,  509,  507,  507,
      508,    0,  510,    0,    0,    0,  509,    0,  509,    0,
      509,    0,  510,  513,  510,  509,  510,    0,    0,  515,
        0,  510,    0,  513,    0,  513,    0,  513,    0,  515,
      517,  515,  513,  515,    0,    0,  518,    0,  515,    0,

      517,    0,  517,    0,  517,    0,  518,  510,  518,  517,
      518,  520,    0,    0,  520,  518,    0,  521,    0,    0,
      521,  520,    0,  520,    0,  520,    0,  521,    0,  521,
      520,  521,  524,  524,    0,    0,  521,    0,    0,  530,
      530,  530,  530,  524,    0,  524,    0,  524,    0,    0,
        0,    0,  524,  530,  530,  530,  530,  530,  530,  530,
      530,  533,  534,  534,    0,    0,    0,    0,  533,    0,
        0,  533,  534,  533,  534,  533,  534,  536,    0,    0,
      533,  534,    0,    0,    0,  537,    0,  536,  538,  536,
        0,  536,    0,  536,    0,  537,  536,  537,  538,  537,

      538,  539,  538,  537,  537,    0,    0,  538,  542,  540,
        0,  539,    0,  539,    0,  539,    0,  541,    0,  540,
      539,  540,  540,  540,    0,  542,    0,  541,  540,  541,
        0,  541,    0,    0,    0,  542,  541,  542,  543,  542,
        0,  543,    0,    0,  542,    0,  544,    0,  543,    0,
      543,    0,  543,    0,  545,    0,  544,  543,  544,    0,
      544,  545,  546,    0,  545,  544,  545,    0,  545,    0,
        0,    0,  546,  545,  546,  551,  546,    0,  551,    0,
        0,  546,    0,  552,    0,  551,  553,  551,    0,  551,
        0,    0,    0,  552,  551,  552,  553,  552,  553,  554,

      553,    0,  552,    0,    0,  553,    0,  555,    0,  554,
      556,  554,    0,  554,  555,    0,    0,  555,  554,  555,
      556,  555,  556,  560,  556,    0,  555,  564,  556,  556,
        0,  565,    0,  560,    0,  560,    0,  560,    0,    0,
        0,  565,  560,  565,  564,  565,    0,  568,    0,    0,
      565,    0,    0,    0,  564,    0,  564,  568,  564,  568,
        0,  568,    0,  564,    0,    0,  568,  573,  573,  573,
      573,    0,    0,    0,    0,    0,    0,    0,    0,  577,
        0,  573,  573,  573,  573,  573,  573,  573,  573,  577,
      578,  577,  577,  577,    0,    0,  580,    0,  577,    0,

      578,    0,  578,    0,  578,    0,  580,  581,  580,  578,
      580,    0,    0,  582,    0,  580,  582,  581,    0,  581,
        0,  581,    0,  582,  581,  582,  581,  582,  583,  584,
        0,    0,  582,  583,    0,    0,    0,    0,  583,  584,
      583,  584,  583,  584,  586,  587,  586,  583,  584,    0,
        0,    0,    0,    0,  586,  587,  586,  587,  586,  587,
      592,    0,    0,  586,  587,    0,    0,    0,  593,    0,
      592,    0,  592,    0,  592,    0,  592,    0,  593,  592,
      593,  593,  593,  594,  604,    0,    0,  593,    0,    0,
      594,    0,    0,  594,  604,  594,  604,  594,  604,  613,

      614,    0,  594,  604,    0,    0,    0,    0,    0,  613,
      614,  613,  614,  613,  614,  615,  616,  615,  613,  614,
        0,    0,    0,    0,    0,  615,  616,  615,  616,  615,
      616,  617,  619,    0,  615,  616,    0,    0,    0,    0,
        0,  617,  619,  617,  619,  617,  619,  620,  617,    0,
      617,  619,    0,  624,  620,    0,    0,  620,    0,  620,
        0,  620,    0,  624,  625,  624,  620,  624,    0,    0,
        0,    0,  624,    0,  625,  626,  625,    0,  625,    0,
        0,  641,    0,  625,    0,  626,    0,  626,  626,  626,
        0,  641,  642,  641,  626,  641,    0,    0,  643,    0,

      641,    0,  642,    0,  642,    0,  642,    0,  643,  645,
      643,  642,  643,    0,    0,    0,    0,  643,    0,  645,
      649,  645,    0,  645,    0,    0,  650,  645,  645,    0,
      649,    0,  649,    0,  649,    0,  650,  649,  650,  649,
      650,  665,  669,    0,    0,  650,    0,    0,    0,    0,
        0,  665,  669,  665,  669,  665,  669,  670,  685,    0,
      665,  669,    0,    0,  665,    0,    0,  670,  685,  670,
      685,  670,  685,    0,    0,    0,  670,  685,  735,  735,
      735,  735,  735,  735,  735,  735,  735,  735,  735,  735,
      735,  736,  736,  736,  736,  736,  736,  736,  736,  736,

      736,  736,  736,  736,  737,  737,  737,  737,  737,  737,
      737,  737,  737,  737,  737,  737,  737,  738,  738,  738,
      738,  738,  738,  738,  738,  738,  738,  738,  738,  738,
      739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
      739,  739,  739,  740,  740,  740,  740,    0,  740,  740,
      740,  740,  740,  740,  740,  740,  741,  741,  741,    0,
      741,    0,  741,    0,  741,  742,  742,    0,  742,  742,
      743,  743,    0,    0,  743,  743,    0,  743,  743,  743,
      743,  743,  743,  744,  744,  744,  744,    0,  744,  744,
      744,  744,  744,  744,  744,  744,  745,  745,  745,  745,

      745,  745,  745,  745,    0,  745,  745,  746,    0,    0,
        0,  746,  746,  746,  746,  746,  746,  746,  747,    0,
        0,    0,  747,  747,  747,  747,  747,  747,  747,  748,
      748,    0,  748,  748,  749,  749,    0,  749,  749,  750,
      750,    0,  750,  750,  751,    0,  751,  751,  752,  752,
        0,  752,  752,  753,    0,  753,  753,  754,    0,  754,
      754,  755,    0,  755,  755,  756,    0,  756,  756,  757,
      757,  757,  757,  757,  757,  757,  757,  757,  757,  757,
      757,  757,  758,  758,    0,  758,  758,  759,  759,    0,
      759,  759,  759,  759,  759,  759,  759,  759,  759,  759,

      760,  760,  760,    0,    0,    0,  760,    0,    0,    0,
        0,  760,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734,  734,  734,  734,  734,  734,
      734,  734,  734,  734,  734

    } ;

extern int yy_flex_debug;
int yy_flex_debug = 1;

static yyconst short int yy_rule_linenum[137] =
    {   0,
       94,   95,   97,  100,  102,  105,  107,  108,  109,  112,
      114,  115,  116,  128,  135,  142,  148,  157,  165,  173,
      174,  176,  195,  201,  202,  203,  204,  205,  208,  214,
      221,  228,  235,  242,  243,  244,  252,  253,  254,  255,
      256,  261,  262,  263,  264,  265,  266,  267,  268,  269,
      270,  271,  280,  281,  282,  283,  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,
      342,  343,  348,  349,  350,  353,  358,  364,  372,  382,
      387,  389,  390,  394,  399,  404,  410,  411,  413,  419,
      432,  435,  460,  504,  506,  517
    } ;

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 asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */

int asn1p_as_pointer;

/*
 * 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))

/*
 * 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 idash_comment 2

#define cpp_comment 3

#define quoted 4

#define opaque 5

#define encoding_control 6

#define with_syntax 7

/* Newline */
/* White-space */
#line 1887 "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 92 "asn1p_l.l"


#line 2041 "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 >= 735 )
					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] != 4413 );

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 < 137 )
				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
				         yy_rule_linenum[yy_act], yytext );
			else if ( yy_act == 137 )
				fprintf( stderr, "--accepting default rule (\"%s\")\n",
				         yytext );
			else if ( yy_act == 138 )
				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_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 94 "asn1p_l.l"
/* Immediately terminated long comment */
	YY_BREAK
case 2:
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
#line 95 "asn1p_l.l"
yy_push_state(idash_comment);	/* Incorrect, but acceptable */
	YY_BREAK

case 3:
YY_RULE_SETUP
#line 97 "asn1p_l.l"
yy_pop_state(); /* Acceptable end of comment */
	YY_BREAK

case 4:
YY_RULE_SETUP
#line 100 "asn1p_l.l"
asn1p_as_pointer = 1;
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 102 "asn1p_l.l"
yy_push_state(dash_comment);
	YY_BREAK

case 6:
YY_RULE_SETUP
#line 105 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 107 "asn1p_l.l"
yy_pop_state();	/* End of comment */
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 108 "asn1p_l.l"
/* Eat single dash */
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 109 "asn1p_l.l"
/* Eat */
	YY_BREAK

case 10:
YY_RULE_SETUP
#line 112 "asn1p_l.l"
yy_push_state(cpp_comment);
	YY_BREAK

case 11:
YY_RULE_SETUP
#line 114 "asn1p_l.l"
/* Eat */
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 115 "asn1p_l.l"
yy_pop_state();
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 116 "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 14:
YY_RULE_SETUP
#line 128 "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 15:
YY_RULE_SETUP
#line 135 "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 16:
YY_RULE_SETUP
#line 142 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 148 "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 18:
YY_RULE_SETUP
#line 157 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
		}
	YY_BREAK

case 19:
YY_RULE_SETUP
#line 165 "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 20:
YY_RULE_SETUP
#line 173 "asn1p_l.l"
{ QAPPEND(yytext, yyleng-1); }	/* Add a single quote */
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 174 "asn1p_l.l"
{ QAPPEND(yytext, yyleng); }
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 176 "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 23:
YY_RULE_SETUP
#line 195 "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 24:
YY_RULE_SETUP
#line 201 "asn1p_l.l"
unput('D'); unput('N'); unput('E'); yy_pop_state();
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 202 "asn1p_l.l"

	YY_BREAK
case 26:
YY_RULE_SETUP
#line 203 "asn1p_l.l"

	YY_BREAK
case 27:
YY_RULE_SETUP
#line 204 "asn1p_l.l"
/* Eat everything else */
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 205 "asn1p_l.l"

	YY_BREAK

case 29:
YY_RULE_SETUP
#line 208 "asn1p_l.l"
{
		/* " \t\r\n" weren't allowed in ASN.1:1990. */
		asn1p_lval.tv_str = yytext;
		return TOK_hstring;
	}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 214 "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 31:
YY_RULE_SETUP
#line 221 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number_negative;
	}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 228 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 33:
YY_RULE_SETUP
#line 235 "asn1p_l.l"
{
		asn1p_lval.a_int = asn1p_atoi(yytext);
		if(errno == ERANGE)
			return -1;
		return TOK_number;
	}
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 242 "asn1p_l.l"
return TOK_ABSENT;
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 243 "asn1p_l.l"
return TOK_ALL;
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 244 "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 37:
YY_RULE_SETUP
#line 252 "asn1p_l.l"
return TOK_APPLICATION;
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 253 "asn1p_l.l"
return TOK_AUTOMATIC;
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 254 "asn1p_l.l"
return TOK_BEGIN;
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 255 "asn1p_l.l"
return TOK_BIT;
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 256 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_BMPString;
				REJECT;
			}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 261 "asn1p_l.l"
return TOK_BOOLEAN;
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 262 "asn1p_l.l"
return TOK_BY;
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 263 "asn1p_l.l"
return TOK_CHARACTER;
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 264 "asn1p_l.l"
return TOK_CHOICE;
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 265 "asn1p_l.l"
return TOK_CLASS;
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 266 "asn1p_l.l"
return TOK_COMPONENT;
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 267 "asn1p_l.l"
return TOK_COMPONENTS;
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 268 "asn1p_l.l"
return TOK_CONSTRAINED;
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 269 "asn1p_l.l"
return TOK_CONTAINING;
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 270 "asn1p_l.l"
return TOK_DEFAULT;
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 271 "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 53:
YY_RULE_SETUP
#line 280 "asn1p_l.l"
return TOK_DEFINITIONS;
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 281 "asn1p_l.l"
return TOK_EMBEDDED;
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 282 "asn1p_l.l"
return TOK_ENCODED;
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 283 "asn1p_l.l"
return TOK_ENCODING_CONTROL;
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 284 "asn1p_l.l"
return TOK_END;
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 285 "asn1p_l.l"
return TOK_ENUMERATED;
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 286 "asn1p_l.l"
return TOK_EXCEPT;
	YY_BREAK
case 60:
YY_RULE_SETUP
#line 287 "asn1p_l.l"
return TOK_EXPLICIT;
	YY_BREAK
case 61:
YY_RULE_SETUP
#line 288 "asn1p_l.l"
return TOK_EXPORTS;
	YY_BREAK
case 62:
YY_RULE_SETUP
#line 289 "asn1p_l.l"
return TOK_EXTENSIBILITY;
	YY_BREAK
case 63:
YY_RULE_SETUP
#line 290 "asn1p_l.l"
return TOK_EXTERNAL;
	YY_BREAK
case 64:
YY_RULE_SETUP
#line 291 "asn1p_l.l"
return TOK_FALSE;
	YY_BREAK
case 65:
YY_RULE_SETUP
#line 292 "asn1p_l.l"
return TOK_FROM;
	YY_BREAK
case 66:
YY_RULE_SETUP
#line 293 "asn1p_l.l"
return TOK_GeneralizedTime;
	YY_BREAK
case 67:
YY_RULE_SETUP
#line 294 "asn1p_l.l"
return TOK_GeneralString;
	YY_BREAK
case 68:
YY_RULE_SETUP
#line 295 "asn1p_l.l"
return TOK_GraphicString;
	YY_BREAK
case 69:
YY_RULE_SETUP
#line 296 "asn1p_l.l"
return TOK_IA5String;
	YY_BREAK
case 70:
YY_RULE_SETUP
#line 297 "asn1p_l.l"
return TOK_IDENTIFIER;
	YY_BREAK
case 71:
YY_RULE_SETUP
#line 298 "asn1p_l.l"
return TOK_IMPLICIT;
	YY_BREAK
case 72:
YY_RULE_SETUP
#line 299 "asn1p_l.l"
return TOK_IMPLIED;
	YY_BREAK
case 73:
YY_RULE_SETUP
#line 300 "asn1p_l.l"
return TOK_IMPORTS;
	YY_BREAK
case 74:
YY_RULE_SETUP
#line 301 "asn1p_l.l"
return TOK_INCLUDES;
	YY_BREAK
case 75:
YY_RULE_SETUP
#line 302 "asn1p_l.l"
return TOK_INSTANCE;
	YY_BREAK
case 76:
YY_RULE_SETUP
#line 303 "asn1p_l.l"
return TOK_INSTRUCTIONS;
	YY_BREAK
case 77:
YY_RULE_SETUP
#line 304 "asn1p_l.l"
return TOK_INTEGER;
	YY_BREAK
case 78:
YY_RULE_SETUP
#line 305 "asn1p_l.l"
return TOK_INTERSECTION;
	YY_BREAK
case 79:
YY_RULE_SETUP
#line 306 "asn1p_l.l"
return TOK_ISO646String;
	YY_BREAK
case 80:
YY_RULE_SETUP
#line 307 "asn1p_l.l"
return TOK_MAX;
	YY_BREAK
case 81:
YY_RULE_SETUP
#line 308 "asn1p_l.l"
return TOK_MIN;
	YY_BREAK
case 82:
YY_RULE_SETUP
#line 309 "asn1p_l.l"
return TOK_MINUS_INFINITY;
	YY_BREAK
case 83:
YY_RULE_SETUP
#line 310 "asn1p_l.l"
return TOK_NULL;
	YY_BREAK
case 84:
YY_RULE_SETUP
#line 311 "asn1p_l.l"
return TOK_NumericString;
	YY_BREAK
case 85:
YY_RULE_SETUP
#line 312 "asn1p_l.l"
return TOK_OBJECT;
	YY_BREAK
case 86:
YY_RULE_SETUP
#line 313 "asn1p_l.l"
return TOK_ObjectDescriptor;
	YY_BREAK
case 87:
YY_RULE_SETUP
#line 314 "asn1p_l.l"
return TOK_OCTET;
	YY_BREAK
case 88:
YY_RULE_SETUP
#line 315 "asn1p_l.l"
return TOK_OF;
	YY_BREAK
case 89:
YY_RULE_SETUP
#line 316 "asn1p_l.l"
return TOK_OPTIONAL;
	YY_BREAK
case 90:
YY_RULE_SETUP
#line 317 "asn1p_l.l"
return TOK_PATTERN;
	YY_BREAK
case 91:
YY_RULE_SETUP
#line 318 "asn1p_l.l"
return TOK_PDV;
	YY_BREAK
case 92:
YY_RULE_SETUP
#line 319 "asn1p_l.l"
return TOK_PLUS_INFINITY;
	YY_BREAK
case 93:
YY_RULE_SETUP
#line 320 "asn1p_l.l"
return TOK_PRESENT;
	YY_BREAK
case 94:
YY_RULE_SETUP
#line 321 "asn1p_l.l"
return TOK_PrintableString;
	YY_BREAK
case 95:
YY_RULE_SETUP
#line 322 "asn1p_l.l"
return TOK_PRIVATE;
	YY_BREAK
case 96:
YY_RULE_SETUP
#line 323 "asn1p_l.l"
return TOK_REAL;
	YY_BREAK
case 97:
YY_RULE_SETUP
#line 324 "asn1p_l.l"
return TOK_RELATIVE_OID;
	YY_BREAK
case 98:
YY_RULE_SETUP
#line 325 "asn1p_l.l"
return TOK_SEQUENCE;
	YY_BREAK
case 99:
YY_RULE_SETUP
#line 326 "asn1p_l.l"
return TOK_SET;
	YY_BREAK
case 100:
YY_RULE_SETUP
#line 327 "asn1p_l.l"
return TOK_SIZE;
	YY_BREAK
case 101:
YY_RULE_SETUP
#line 328 "asn1p_l.l"
return TOK_STRING;
	YY_BREAK
case 102:
YY_RULE_SETUP
#line 329 "asn1p_l.l"
return TOK_SYNTAX;
	YY_BREAK
case 103:
YY_RULE_SETUP
#line 330 "asn1p_l.l"
return TOK_T61String;
	YY_BREAK
case 104:
YY_RULE_SETUP
#line 331 "asn1p_l.l"
return TOK_TAGS;
	YY_BREAK
case 105:
YY_RULE_SETUP
#line 332 "asn1p_l.l"
return TOK_TeletexString;
	YY_BREAK
case 106:
YY_RULE_SETUP
#line 333 "asn1p_l.l"
return TOK_TRUE;
	YY_BREAK
case 107:
YY_RULE_SETUP
#line 334 "asn1p_l.l"
return TOK_UNION;
	YY_BREAK
case 108:
YY_RULE_SETUP
#line 335 "asn1p_l.l"
return TOK_UNIQUE;
	YY_BREAK
case 109:
YY_RULE_SETUP
#line 336 "asn1p_l.l"
return TOK_UNIVERSAL;
	YY_BREAK
case 110:
YY_RULE_SETUP
#line 337 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UniversalString;
				REJECT;
			}
	YY_BREAK
case 111:
YY_RULE_SETUP
#line 342 "asn1p_l.l"
return TOK_UTCTime;
	YY_BREAK
case 112:
YY_RULE_SETUP
#line 343 "asn1p_l.l"
{
				if(TYPE_LIFETIME(1994, 0))
					return TOK_UTF8String;
				REJECT;
			}
	YY_BREAK
case 113:
YY_RULE_SETUP
#line 348 "asn1p_l.l"
return TOK_VideotexString;
	YY_BREAK
case 114:
YY_RULE_SETUP
#line 349 "asn1p_l.l"
return TOK_VisibleString;
	YY_BREAK
case 115:
YY_RULE_SETUP
#line 350 "asn1p_l.l"
return TOK_WITH;
	YY_BREAK
case 116:
YY_RULE_SETUP
#line 353 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typefieldreference;
	}
	YY_BREAK
case 117:
YY_RULE_SETUP
#line 358 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_valuefieldreference;
	}
	YY_BREAK
case 118:
YY_RULE_SETUP
#line 364 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_identifier;
	}
	YY_BREAK
/*
	 * objectclassreference
	 */
case 119:
YY_RULE_SETUP
#line 372 "asn1p_l.l"
{
		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 120:
YY_RULE_SETUP
#line 382 "asn1p_l.l"
{
		asn1p_lval.tv_str = strdup(yytext);
		return TOK_typereference;
	}
	YY_BREAK
case 121:
YY_RULE_SETUP
#line 387 "asn1p_l.l"
return TOK_PPEQ;
	YY_BREAK
case 122:
YY_RULE_SETUP
#line 389 "asn1p_l.l"
return TOK_ThreeDots;
	YY_BREAK
case 123:
YY_RULE_SETUP
#line 390 "asn1p_l.l"
return TOK_TwoDots;
	YY_BREAK

case 124:
YY_RULE_SETUP
#line 394 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 125:
YY_RULE_SETUP
#line 399 "asn1p_l.l"
{
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 126:
YY_RULE_SETUP
#line 404 "asn1p_l.l"
{
				yy_push_state(with_syntax);
				asn1p_lval.tv_str = strdup(yytext);
				return TOK_Literal;
			}
	YY_BREAK
case 127:
YY_RULE_SETUP
#line 410 "asn1p_l.l"
return '[';
	YY_BREAK
case 128:
YY_RULE_SETUP
#line 411 "asn1p_l.l"
return ']';
	YY_BREAK
case 129:
YY_RULE_SETUP
#line 413 "asn1p_l.l"
{
			asn1p_lval.tv_opaque.buf = strdup(yytext);
			asn1p_lval.tv_opaque.len = yyleng;
			return TOK_opaque;
			}
	YY_BREAK
case 130:
YY_RULE_SETUP
#line 419 "asn1p_l.l"
{
				yy_pop_state();
				if(YYSTATE == with_syntax) {
					asn1p_lval.tv_str = strdup(yytext);
					return TOK_Literal;
				} else {
					return '}';
				}
			}
	YY_BREAK

case 131:
YY_RULE_SETUP
#line 432 "asn1p_l.l"
/* Ignore whitespace */
	YY_BREAK
case 132:
YY_RULE_SETUP
#line 435 "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 133:
YY_RULE_SETUP
#line 460 "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 134:
YY_RULE_SETUP
#line 504 "asn1p_l.l"
return yytext[0];
	YY_BREAK
case 135:
YY_RULE_SETUP
#line 506 "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 136:
YY_RULE_SETUP
#line 517 "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(idash_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 530 "asn1p_l.l"
{
		while(YYSTATE != INITIAL)
			yy_pop_state();
		yyterminate();
	}
	YY_BREAK
case 137:
YY_RULE_SETUP
#line 537 "asn1p_l.l"
YY_FATAL_ERROR( "flex scanner jammed" );
	YY_BREAK
#line 3101 "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 >= 735 )
				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 >= 735 )
			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 == 734);
	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 537 "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);
}

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;
}

