PreviousUpNext

15.4.92  src/app/makelib/parse/libfile.lex.pkg

generic package makelib_lex_g (package tokens: Libfile_Tokens;){
   
# Compiled by:
#     src/app/makelib/makelib.sublib

    package user_declarations {
      
## libfile.lex
## (C) 1999 Lucent Technologies, Bell Laboratories
## Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)



# lexical analysis (Mythryl-Lex specification)
# for foo.lib (library definition) files.




###                     "Let's say the docs present a simplified view of reality...       :-)"
###
###                                      --Larry Wall in  <6940@jpl-devvax.JPL.NASA.GOV>



package lga =   libfile_grammar_actions;                # libfile_grammar_actions       is from   src/app/makelib/parse/libfile-grammar-actions.pkg

Semantic_Value = tokens::Semantic_Value;
Source_Position = Int;

Token( X, Y )   = tokens::Token( X, Y );
Lex_Result = Token( Semantic_Value, Source_Position );


Lex_Arg = {

    # Define the lexer's input argument record.  This
    # actually gets constructed and passed to the lexer in
    #
    #     src/app/makelib/parse/libfile-parser-g.pkg

    # We use these two to track comment-nesting depth:
    #   
    enter_comment: Void -> Void,                                        # We call this when entering a comment scope (/*... )
    leave_comment: Void -> Bool,                                        # We call this when leaving  a comment scope (... */)   

    enter_qquote: Source_Position -> Void,                              # We call this when entering a double-quoted string literal scope ("...)
    append_char_to_qquote: Char -> Void,                                # We call this to add a      char to  a double-quoted string literal.
    append_control_char_to_qquote: (String, Char) -> Void,              # We call this to add a ^A   char to a double-quoted string literal.
    append_escaped_char_to_qquote: (String, Source_Position) -> Void,   # We call this to add a \013 char to a double-quoted string literal.
    leave_qquote                                                        # We call this when leaving  a double-quoted string literal scope (...")
        :
        ( Source_Position,
          ((String, Source_Position, Source_Position) -> Lex_Result)
        )
        ->
        Lex_Result,
    #
    handle_eof_by_complaining_about_unclosed_comments_and_strings
        :
        Void -> Source_Position,                                        # We return final line number.

    newline:        Source_Position -> Void,                            # We call this each time we see a newline -- we use this to track current line number.
    #
    complain_about_obsolete_syntax
        :
        (Source_Position, Source_Position) -> Void,                     # We use this to flag an obsolete syntactic construct.
    #
    report_error: (Source_Position, Source_Position) -> String -> Void, # String is the error message.
    handle_line_directive: (Source_Position, String) -> Void,           # Handle #line directive resetting effective line number.
    in_section2: Ref( Bool )                                            # Initially FALSE, set TRUE once we've seen LIBRARY_COMPONENTS or SUBLIBRARY_COMNPONENTS token.
};

Arg = Lex_Arg;

fun eof (arg: Lex_Arg)
    =
    {   end_of_file_position
            =
            arg.handle_eof_by_complaining_about_unclosed_comments_and_strings ();

        tokens::eof
          ( end_of_file_position,
            end_of_file_position
          );
    };

fun error_tok (t, p)
    =
    {   fun find_graph i
            =
            if (char::is_graph (string::get_byte_as_char (t, i)))   i;
            else                                                    find_graph (i + 1);
            fi;

        fun find_error i
            =
            if (string::get_byte_as_char (t, i) == 'e')   i;
            else                                          find_error (i + 1);
            fi;

        start =   find_graph (5 + find_error 0);
        msg =   string::extract (t, start, NULL);

        tokens::errorx (msg, p + 1, p + size t);
    };

fun plain t (_: Ref( Bool ), arg)
    =
    t arg: Lex_Result;

fun library_components_token (in_section2, arg)
    =
    {   in_section2 := TRUE;                    # We've seen LIBRARY_COMPONENTS or SUBLIBRARY_COMPONENTS, so we are now in the second section of the .lib file.
        tokens::library_components arg;         # LIBRARY_COMPONENTS and SUBLIBRARY_COMPONENTS are the same token.
    }
    : Lex_Result;

makelib_ids = [ ("LIBRARY_EXPORTS",       plain tokens::library_exports),
                ("SUBLIBRARY_EXPORTS",    plain tokens::sublibrary_exports),
                ("API_OR_PKG_EXPORTS",    plain tokens::api_or_pkg_exports),
                ("SUBLIBRARY_COMPONENTS", library_components_token),
                ("LIBRARY_COMPONENTS",    library_components_token),
                ("*",                     plain tokens::star),
                ("-",                     plain tokens::dash)
        ];

ml_ids = [    ("pkg",           tokens::pkg_t           ),
              ("api",           tokens::api_t           ),
              ("generic",       tokens::generic_t       ),
              ("funsig",        tokens::generic_api_t   ),
              ("generic_api",   tokens::generic_api_t   )
        ];

pp_ids = [    ("defined",       plain tokens::defined   ),
              ("and",           plain tokens::and_t     ),
              ("or",            plain tokens::or_t      ),
              ("not",           plain tokens::not_t     )
        ];

fun id_token (t, p, idlist, default, chstate, in_section2)
    =
    case (list::find
             (\\ (id, _) =  id == t)
             ml_ids
    )

         THE (_, tok)
            =>
            {   chstate ();
                tok (p, p + size t);
            };

        NULL
            =>
            case (list::find
                     (\\ (id, _) =  id == t)
                     idlist
            )
                THE (_, tok) =>   tok (in_section2, (p, p + size t));   # We pass 'in_section2' only so that library_components_token() can set it TRUE.
                NULL         =>          default (t, p, p + size t);
            esac;  

    esac;

/* states:

     initial -> C
       |
       +------> P -> PC
       |        |
       |        +--> PM -> PMC
       |
       +------> M -> MC
       |
       +------> S -> SS

   "COMMENT" -- COMMENT
   "P"       -- PREPROC
   "M"       -- MLSYMBOL
   "S"       -- STRING
   "SS"      -- STRINGSKIP
*/

}; #  end of user routines 
exception LEX_ERROR; # Raised if illegal leaf action tried.
package internal {
         

Yyfinstate = NN Int;
Statedata = { fin:  List( Yyfinstate ), trans: String };
#  transition & final state table 
tab = {
    s = [ 
 (0,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (1,  
"\x17\x17\x17\x17\x17\x17\x17\x17\x17\x29\x46\x17\x29\x2b\x17\x17\
\\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\
\\x29\x18\x28\x21\x18\x18\x18\x18\x20\x1f\x1d\x18\x18\x18\x18\x1b\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x1a\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x17\x17\x17\x18\x18\
\\x17\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\
\\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x17\x18\x17\x18\x17\
\\x17"
),
 (3,  
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4a\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
 (5,  
"\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x52\x50\x50\x51\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\
\\x50"
),
 (7,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x68\x00\x2a\x67\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x2a\x65\x00\x00\x00\x64\x00\x00\x63\x62\x60\x5f\x00\x5e\x00\x5c\
\\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x00\x00\x59\x57\x55\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x53\x00\
\\x00"
),
 (9,  
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x69\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
 (11,  
"\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x74\x76\x6b\x74\x75\x6b\x6b\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\
\\x74\x6c\x6b\x6c\x6c\x6c\x6c\x6b\x6b\x6b\x72\x6c\x6b\x6c\x6b\x70\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6c\x6b\x6c\x6c\x6c\x6c\
\\x6c\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6b\x6c\x6b\x6c\x6b\
\\x6b\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6b\x6c\x6b\x6c\x6b\
\\x6b"
),
 (13,  
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x77\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
 (15,  
"\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x74\x76\x6b\x74\x75\x6b\x6b\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\
\\x74\x79\x6b\x79\x79\x79\x79\x6b\x6b\x6b\x7f\x79\x6b\x79\x6b\x7d\
\\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x6b\x79\x6b\x79\x79\x79\x79\
\\x79\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\
\\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x6b\x79\x6b\x79\x6b\
\\x6b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\
\\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x7b\x6b\x79\x6b\x79\x6b\
\\x6b"
),
 (17,  
"\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x4f\x47\x47\x4c\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x81\x47\x47\x47\x47\x48\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\x47\
\\x47"
),
 (19,  
"\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\xa1\x83\x83\xa0\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x9f\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x84\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\
\\x83"
),
 (21,  
"\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa4\xa7\xa2\xa4\xa6\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa4\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa3\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2\
\\xa2"
),
 (24,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
 (27,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x1c\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
 (28,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x1c\x19\x19\x19\x19\x00\x00\x1c\x19\x19\x1c\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x1c\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
 (29,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x19\x00\x19\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x1e\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
 (33,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x26\x00\x00\x25\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x24\x23\x00\x22\x19\x19\x19\x19\x00\x00\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x19\x19\
\\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x19\x00\x19\x00\
\\x00"
),
 (37,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (41,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x2a\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (43,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x46\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (44,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x35\x00\x00\x00\x33\x00\x00\x2d\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (45,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (46,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (47,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (48,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x31\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (49,  
"\x32\x32\x32\x32\x32\x32\x32\x32\x32\x31\x00\x32\x31\x00\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x31\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32"
),
 (50,  
"\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x00\x32\x32\x00\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\x32\
\\x32"
),
 (51,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (53,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x3c\x00\
\\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (54,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (55,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (56,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (57,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x3a\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (58,  
"\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3a\x00\x3b\x3a\x00\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3a\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b"
),
 (59,  
"\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x00\x3b\x3b\x00\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\x3b\
\\x3b"
),
 (60,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (61,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (62,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (64,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (65,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (67,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (69,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (72,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (73,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x49\x00\x00\x49\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (74,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (76,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x4f\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (77,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (78,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (81,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x52\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (84,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\x00\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x54\
\\x00\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\
\\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x54\x00\x00\x00\x00\x00\
\\x00"
),
 (85,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (87,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (89,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (91,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x5b\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (92,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (93,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x5d\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x5d\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (96,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (101,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (103,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x68\x00\x45\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x45\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (105,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (108,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x6d\x6d\x00\x6d\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
 (110,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x00\x00\
\\x00\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x6f\
\\x00\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\
\\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x6f\x00\x00\x00\x00\x00\
\\x00"
),
 (112,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x71\x6d\x00\x6d\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
 (113,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x71\x6d\x6d\x6d\x00\x00\x00\x71\x6d\x00\x71\x00\x6d\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x71\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
 (114,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x6d\x00\x6d\x6d\x6d\x6d\x00\x00\x00\x6d\x6d\x00\x6d\x00\x73\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x6d\x6d\x6d\
\\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\
\\x00"
),
 (117,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x76\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (119,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (121,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7a\x7a\x00\x7a\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
 (123,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x00\x00\
\\x00\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x7c\
\\x00\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\
\\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x00\x00\x00\x00\x00\
\\x00"
),
 (125,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7e\x7a\x00\x7a\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
 (126,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7e\x7a\x7a\x7a\x00\x00\x00\x7e\x7a\x00\x7e\x00\x7a\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7e\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
 (127,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x7a\x00\x7a\x7a\x7a\x7a\x00\x00\x00\x7a\x7a\x00\x7a\x00\x80\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x7a\x7a\x7a\
\\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\
\\x00"
),
 (129,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (132,  
"\x85\x85\x85\x85\x85\x85\x85\x85\x85\x9b\x9e\x85\x9b\x9d\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x9b\x85\x9a\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x97\x97\x97\x97\x97\x97\x97\x97\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x85\x96\x85\x8d\x85\
\\x85\x8c\x8b\x85\x85\x85\x8a\x85\x85\x85\x85\x85\x85\x85\x89\x85\
\\x85\x85\x88\x85\x87\x85\x86\x85\x85\x85\x85\x85\x85\x85\x85\x85\
\\x85"
),
 (141,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x95\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\
\\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x94\x93\x92\x91\x90\x8f\
\\x00\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\
\\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x00\x00\x00\x00\x00\
\\x00"
),
 (151,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x98\x98\x98\x98\x98\x98\x98\x98\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (152,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x99\x99\x99\x99\x99\x99\x99\x99\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (155,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x9c\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (157,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (160,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xa1\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (164,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\xa5\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
 (166,  
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xa7\x00\x4e\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
    (0, "")];
    fun f x = x;
    s = map f (reverse (tail (reverse s)));
    exception LEX_HACKING_ERROR;
    fun get ((j, x) ! r, i: Int)
            =>
            if (i == j)  x;   else get (r, i); fi;

        get ([], i)
            =>
            raise exception LEX_HACKING_ERROR;
    end;
fun g {   fin => x,   trans => i   }
    =
    {   fin => x,   trans => get (s, i)   };
 vector::from_list (map g 
[{ fin => [], trans => 0},
{ fin => [], trans => 1},
{ fin => [], trans => 1},
{ fin => [], trans => 3},
{ fin => [], trans => 3},
{ fin => [], trans => 5},
{ fin => [], trans => 5},
{ fin => [], trans => 7},
{ fin => [], trans => 7},
{ fin => [], trans => 9},
{ fin => [], trans => 9},
{ fin => [], trans => 11},
{ fin => [], trans => 11},
{ fin => [], trans => 13},
{ fin => [], trans => 13},
{ fin => [], trans => 15},
{ fin => [], trans => 15},
{ fin => [], trans => 17},
{ fin => [], trans => 17},
{ fin => [], trans => 19},
{ fin => [], trans => 19},
{ fin => [], trans => 21},
{ fin => [], trans => 21},
{ fin => [(NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 24},
{ fin => [(NN 323)], trans => 24},
{ fin => [(NN 176), (NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 27},
{ fin => [(NN 21), (NN 323)], trans => 28},
{ fin => [(NN 323), (NN 325)], trans => 29},
{ fin => [(NN 66), (NN 323)], trans => 24},
{ fin => [(NN 174), (NN 325)], trans => 0},
{ fin => [(NN 172), (NN 325)], trans => 0},
{ fin => [(NN 323), (NN 325)], trans => 33},
{ fin => [(NN 17), (NN 323)], trans => 24},
{ fin => [(NN 14), (NN 323)], trans => 24},
{ fin => [(NN 8)], trans => 0},
{ fin => [(NN 5)], trans => 37},
{ fin => [(NN 5)], trans => 0},
{ fin => [(NN 11)], trans => 0},
{ fin => [(NN 68), (NN 325)], trans => 0},
{ fin => [(NN 312), (NN 325)], trans => 41},
{ fin => [(NN 312)], trans => 41},
{ fin => [(NN 302), (NN 325)], trans => 43},
{ fin => [], trans => 44},
{ fin => [], trans => 45},
{ fin => [], trans => 46},
{ fin => [], trans => 47},
{ fin => [], trans => 48},
{ fin => [(NN 342)], trans => 49},
{ fin => [(NN 342)], trans => 50},
{ fin => [], trans => 51},
{ fin => [(NN 242)], trans => 0},
{ fin => [], trans => 53},
{ fin => [], trans => 54},
{ fin => [], trans => 55},
{ fin => [], trans => 56},
{ fin => [], trans => 57},
{ fin => [(NN 297)], trans => 58},
{ fin => [(NN 297)], trans => 59},
{ fin => [], trans => 60},
{ fin => [], trans => 61},
{ fin => [], trans => 62},
{ fin => [(NN 279)], trans => 0},
{ fin => [], trans => 64},
{ fin => [], trans => 65},
{ fin => [(NN 266)], trans => 0},
{ fin => [], trans => 67},
{ fin => [(NN 254)], trans => 0},
{ fin => [], trans => 69},
{ fin => [(NN 302)], trans => 69},
{ fin => [(NN 63)], trans => 0},
{ fin => [(NN 63)], trans => 72},
{ fin => [(NN 44)], trans => 73},
{ fin => [(NN 63)], trans => 74},
{ fin => [(NN 47)], trans => 0},
{ fin => [(NN 61), (NN 63)], trans => 76},
{ fin => [], trans => 77},
{ fin => [], trans => 78},
{ fin => [(NN 61)], trans => 78},
{ fin => [(NN 28)], trans => 0},
{ fin => [(NN 26), (NN 28)], trans => 81},
{ fin => [(NN 26)], trans => 78},
{ fin => [(NN 200)], trans => 0},
{ fin => [(NN 206)], trans => 84},
{ fin => [(NN 198)], trans => 85},
{ fin => [(NN 196)], trans => 0},
{ fin => [], trans => 87},
{ fin => [(NN 188)], trans => 0},
{ fin => [(NN 193)], trans => 89},
{ fin => [(NN 191)], trans => 0},
{ fin => [(NN 203)], trans => 91},
{ fin => [(NN 208)], trans => 92},
{ fin => [(NN 32)], trans => 93},
{ fin => [(NN 180)], trans => 0},
{ fin => [(NN 178)], trans => 0},
{ fin => [(NN 182)], trans => 96},
{ fin => [(NN 66)], trans => 0},
{ fin => [(NN 174)], trans => 0},
{ fin => [(NN 172)], trans => 0},
{ fin => [(NN 210)], trans => 0},
{ fin => [], trans => 101},
{ fin => [(NN 185)], trans => 0},
{ fin => [(NN 307)], trans => 103},
{ fin => [(NN 307)], trans => 69},
{ fin => [(NN 63)], trans => 105},
{ fin => [(NN 50)], trans => 0},
{ fin => [(NN 314)], trans => 0},
{ fin => [(NN 232), (NN 314)], trans => 108},
{ fin => [(NN 232)], trans => 108},
{ fin => [(NN 232), (NN 314)], trans => 110},
{ fin => [(NN 232)], trans => 110},
{ fin => [(NN 232), (NN 314)], trans => 112},
{ fin => [(NN 36), (NN 232)], trans => 113},
{ fin => [(NN 232), (NN 314)], trans => 114},
{ fin => [(NN 66), (NN 232)], trans => 108},
{ fin => [(NN 312), (NN 314)], trans => 41},
{ fin => [(NN 302), (NN 314)], trans => 117},
{ fin => [(NN 302)], trans => 78},
{ fin => [(NN 63)], trans => 119},
{ fin => [(NN 53)], trans => 0},
{ fin => [(NN 221), (NN 314)], trans => 121},
{ fin => [(NN 221)], trans => 121},
{ fin => [(NN 221), (NN 314)], trans => 123},
{ fin => [(NN 221)], trans => 123},
{ fin => [(NN 221), (NN 314)], trans => 125},
{ fin => [(NN 40), (NN 221)], trans => 126},
{ fin => [(NN 221), (NN 314)], trans => 127},
{ fin => [(NN 66), (NN 221)], trans => 121},
{ fin => [(NN 63)], trans => 129},
{ fin => [(NN 56)], trans => 0},
{ fin => [(NN 156)], trans => 0},
{ fin => [(NN 156)], trans => 132},
{ fin => [(NN 147)], trans => 0},
{ fin => [(NN 89), (NN 147)], trans => 0},
{ fin => [(NN 86), (NN 147)], trans => 0},
{ fin => [(NN 83), (NN 147)], trans => 0},
{ fin => [(NN 80), (NN 147)], trans => 0},
{ fin => [(NN 77), (NN 147)], trans => 0},
{ fin => [(NN 74), (NN 147)], trans => 0},
{ fin => [(NN 71), (NN 147)], trans => 0},
{ fin => [(NN 147)], trans => 141},
{ fin => [(NN 97)], trans => 0},
{ fin => [(NN 121)], trans => 0},
{ fin => [(NN 117)], trans => 0},
{ fin => [(NN 113)], trans => 0},
{ fin => [(NN 109)], trans => 0},
{ fin => [(NN 105)], trans => 0},
{ fin => [(NN 101)], trans => 0},
{ fin => [(NN 93)], trans => 0},
{ fin => [(NN 132), (NN 147)], trans => 0},
{ fin => [(NN 147)], trans => 151},
{ fin => [], trans => 152},
{ fin => [(NN 126)], trans => 0},
{ fin => [(NN 129), (NN 147)], trans => 0},
{ fin => [(NN 144), (NN 147)], trans => 155},
{ fin => [(NN 144)], trans => 155},
{ fin => [(NN 138), (NN 147)], trans => 157},
{ fin => [(NN 138)], trans => 0},
{ fin => [(NN 149), (NN 156)], trans => 0},
{ fin => [(NN 154), (NN 156)], trans => 160},
{ fin => [(NN 154)], trans => 78},
{ fin => [(NN 170)], trans => 0},
{ fin => [(NN 168), (NN 170)], trans => 0},
{ fin => [(NN 166), (NN 170)], trans => 164},
{ fin => [(NN 166)], trans => 164},
{ fin => [(NN 161), (NN 170)], trans => 166},
{ fin => [(NN 161)], trans => 78}]);
};
package start_states {
         
         Yystartstate = STARTSTATE Int;

#  start state definitions 

my comment = STARTSTATE 3;
my initial = STARTSTATE 1;
my linecomment = STARTSTATE 5;
my mc = STARTSTATE 17;
my mmm = STARTSTATE 15;
my pc = STARTSTATE 9;
my pm = STARTSTATE 11;
my pmc = STARTSTATE 13;
my ppp = STARTSTATE 7;
my qquote = STARTSTATE 19;
my ss = STARTSTATE 21;

 };
Result = user_declarations::Lex_Result;
         exception LEXER_ERROR; # Raised if illegal leaf action tried */
};

fun make_lexer yyinput =
{        my yygone0=1;
         yyb = REF "\n";                #  Buffer 
         yybl = REF 1;          # Buffer length 
         yybufpos = REF 1;              #  location of next character to use 
         yygone = REF yygone0;  #  position in file of beginning of buffer 
         yydone = REF FALSE;            #  eof found yet? 
         yybegin_i = REF 1;             # Current 'start state' for lexer 

         yybegin = \\ (internal::start_states::STARTSTATE x) =
                 yybegin_i := x;

fun lex (yyarg as ({ enter_comment,
        leave_comment,
        enter_qquote,
        append_char_to_qquote,
        append_control_char_to_qquote,
        append_escaped_char_to_qquote,
        leave_qquote,
        handle_eof_by_complaining_about_unclosed_comments_and_strings,
        newline,
        complain_about_obsolete_syntax,
        report_error,
        handle_line_directive,
        in_section2
      })) =
 { fun continue () : internal::Result = 
  { fun scan (s, accepting_leaves:  List( List( internal::Yyfinstate ) ), l, i0) =
         { fun action (i, NIL) => raise exception LEX_ERROR;
         action (i, NIL ! l)     => action (i - 1, l);
         action (i, (node ! acts) ! l) => 
                 case node
                 
                    internal::NN yyk => 
                         ( { fun yymktext () = substring(*yyb, i0, i-i0);
                             yypos = i0 + *yygone;
                         include package   user_declarations;
                         include package   internal::start_states;
  {   yybufpos := i;
      case yyk
 

                        #  Application actions 

  101 => {   yytext=yymktext();
append_control_char_to_qquote (yytext, 'A'); continue (); };
  105 => { append_char_to_qquote (char::from_int 27); continue (); };
  109 => { append_char_to_qquote (char::from_int 28); continue (); };
  11 => { yybegin linecomment;  continue(); };
  113 => { append_char_to_qquote (char::from_int 29); continue (); };
  117 => { append_char_to_qquote (char::from_int 30); continue (); };
  121 => { append_char_to_qquote (char::from_int 31); continue (); };
  126 => {   yytext=yymktext();
append_escaped_char_to_qquote (yytext, yypos); continue (); };
  129 => { append_char_to_qquote (char::from_int 34); continue (); };
  132 => { append_char_to_qquote '\\'; continue (); };
  138 => { yybegin ss; newline (yypos + 1); continue (); };
  14 => { yybegin linecomment;  continue(); };
  144 => { yybegin ss; continue (); };
  147 => {   yytext=yymktext();
report_error (yypos, yypos+2) ("illegal escape character in string " + yytext);
                            continue (); };
  149 => { yybegin initial; leave_qquote (yypos, tokens::file_native); };
  154 => {   yytext=yymktext();
newline yypos;
                            report_error (yypos, yypos + size yytext) "illegal linebreak in string";
                            continue (); };
  156 => {   yytext=yymktext();
append_char_to_qquote (string::get_byte_as_char (yytext, 0)); continue (); };
  161 => { newline yypos; continue (); };
  166 => { continue (); };
  168 => { yybegin qquote; continue (); };
  17 => { yybegin linecomment;  continue(); };
  170 => {   yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character in stringskip " + yytext);
                            continue (); };
  172 => { tokens::lparen (yypos, yypos + 1); };
  174 => { tokens::rparen (yypos, yypos + 1); };
  176 => { tokens::colon (yypos, yypos + 1); };
  178 => { tokens::addsym (lga::PLUS, yypos, yypos + 1); };
  180 => { tokens::addsym (lga::MINUS, yypos, yypos + 1); };
  182 => { tokens::mulsym (lga::TIMES, yypos, yypos + 1); };
  185 => { tokens::eqsym   (lga::NE, yypos, yypos + 2); };
  188 => { tokens::eqsym   (lga::EQ, yypos, yypos + 2); };
  191 => { tokens::ineqsym (lga::LE, yypos, yypos + 2); };
  193 => { tokens::ineqsym (lga::LT, yypos, yypos + 1); };
  196 => { tokens::ineqsym (lga::GE, yypos, yypos + 2); };
  198 => { tokens::ineqsym (lga::GT, yypos, yypos + 1); };
  200 => { tokens::tilde (yypos, yypos + 1); };
  203 => {   yytext=yymktext();
tokens::number
                             (the (int::from_string yytext)
                              except _ =
                                  {   report_error (yypos, yypos + size yytext) "number too large";
                                      0;
                                  },
                              yypos, yypos + size yytext); };
  206 => {   yytext=yymktext();
id_token (yytext, yypos, pp_ids, tokens::makelib_id,
                                     \\ () =  yybegin pm, in_section2); };
  208 => { tokens::mulsym (lga::DIV, yypos, yypos + 1); };
  21 => { enter_comment (); yybegin comment; continue (); };
  210 => { tokens::mulsym (lga::MOD, yypos, yypos + 1); };
  221 => {   yytext=yymktext();
yybegin initial;        tokens::ml_id (yytext, yypos, yypos + size yytext); };
  232 => {   yytext=yymktext();
yybegin ppp;    tokens::ml_id (yytext, yypos, yypos + size yytext); };
  242 => {   yytext=yymktext();
yybegin ppp;
                                     newline yypos;
                                     tokens::if_t (yypos, yypos + size yytext); };
  254 => {   yytext=yymktext();
yybegin ppp;
                                     newline yypos;
                                     tokens::elif_t (yypos, yypos + size yytext); };
  26 => { newline yypos; yybegin initial; continue(); };
  266 => {   yytext=yymktext();
yybegin ppp;
                                     newline yypos;
                                     tokens::else_t (yypos, yypos + size yytext); };
  279 => {   yytext=yymktext();
yybegin ppp;
                                      newline yypos;
                                      tokens::endif (yypos,
                                                    yypos + size yytext); };
  28 => { continue(); };
  297 => {   yytext=yymktext();
newline yypos;
                                                    error_tok (yytext, yypos); };
  302 => { newline yypos; continue (); };
  307 => { yybegin initial; newline yypos; continue (); };
  312 => { continue (); };
  314 => {   yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character at start of ML symbol: " + yytext);
                            continue (); };
  32 => { enter_comment (); yybegin pc; continue (); };
  323 => {   yytext=yymktext();
id_token
                              ( yytext, yypos,
                                #
                                if *in_section2  [];            # We have seen LIBRARY_COMPONENTS/SUBLIBRARY_COMPONENTS so stop  recognizing  "LIBRARY_EXPORTS", "LIBRARY_COMPONENTS", "*", "-" ... as special tokens.
                                else             makelib_ids;   # Not yet seen LIBRARY_COMPONENTS/SUBLIBRARY_COMPONENTS so still recognizing  "LIBRARY_EXPORTS", "LIBRARY_COMPONENTS", "*", "-" ... as special tokens.
                                fi,
                                #
                                tokens::file_standard,
                                \\ () =  yybegin mmm,
                                in_section2
                              )
                            ; };
  325 => {   yytext=yymktext();
report_error (yypos, yypos+1) ("illegal character: " + yytext);
                            continue (); };
  342 => {   yytext=yymktext();
newline yypos;
                                        handle_line_directive (yypos, yytext);
                                        continue (); };
  36 => { enter_comment (); yybegin pmc; continue (); };
  40 => { enter_comment (); yybegin mc; continue (); };
  44 => { enter_comment (); continue (); };
  47 => { if (leave_comment () ) yybegin initial;  fi;
                            continue (); };
  5 => { newline yypos; continue(); };
  50 => { if (leave_comment () ) yybegin ppp;  fi;
                            continue (); };
  53 => { if (leave_comment () ) yybegin pm;  fi;
                            continue (); };
  56 => { if (leave_comment () ) yybegin mmm;  fi;
                            continue (); };
  61 => { newline yypos; continue (); };
  63 => { continue (); };
  66 => { report_error (yypos, yypos+2) "unmatched comment delimiter";
                            continue (); };
  68 => { yybegin qquote; enter_qquote yypos; continue (); };
  71 => { append_char_to_qquote '\a'; continue (); };
  74 => { append_char_to_qquote '\b'; continue (); };
  77 => { append_char_to_qquote '\f'; continue (); };
  8 => { yybegin linecomment;  continue(); };
  80 => { append_char_to_qquote '\n'; continue (); };
  83 => { append_char_to_qquote '\r'; continue (); };
  86 => { append_char_to_qquote '\t'; continue (); };
  89 => { append_char_to_qquote '\v'; continue (); };
  93 => { append_char_to_qquote (char::from_int 0); continue (); };
  97 => {   yytext=yymktext();
append_control_char_to_qquote (yytext, 'a'); continue (); };
  _ => raise exception internal::LEXER_ERROR;

                 esac; }; } ); esac; end;    # fun action

         my { fin, trans } = unsafe::vector::get (internal::tab, s);
         new_accepting_leaves = fin ! accepting_leaves;
         if (l == *yybl)
             if (trans == .trans (vector::get (internal::tab, 0)))
               action (l, new_accepting_leaves);
         else        newchars= if *yydone ""; else yyinput 1024; fi;
             if ((size newchars) == 0)
                        yydone := TRUE;
                        if (l == i0)  user_declarations::eof yyarg;
                                  else action (l, new_accepting_leaves); fi;
                  else if (l == i0)  yyb := newchars;
                             else yyb := substring(*yyb, i0, l-i0) + newchars; fi;
                       yygone := *yygone+i0;
                       yybl := size *yyb;
                       scan (s, accepting_leaves, l-i0, 0);
             fi;   # (size newchars) == 0
             fi;   # trans == $trans ...
          else new_char = char::to_int (unsafe::vector_of_chars::get(*yyb, l));
                 new_char = if (new_char < 128) new_char; else 128; fi;
                 new_state = char::to_int (unsafe::vector_of_chars::get (trans, new_char));
                 if (new_state == 0) action (l, new_accepting_leaves);
                 else scan (new_state, new_accepting_leaves, l+1, i0); fi;
         fi;
  };    # fun scan
/*
         start= if (substring(*yyb,*yybufpos - 1, 1)=="\n") *yybegin_i+1; else *yybegin_i; fi;
*/
         scan(*yybegin_i /* start */ , NIL, *yybufpos, *yybufpos);   # fun continue
    };   # fun continue
 continue; };    # fun lex
  lex; 
  };   # fun make_lexer
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext