/* Generated by Nim Compiler v1.4.2 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32
#define NIM_EmulateOverflowChecks

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA;
typedef struct RootObj RootObj;
typedef struct tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg;

/* section: NIM_merge_TYPES */
typedef NU8 tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray__CchsCKVbWNDjfQ2XsaO6Aw[7];
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
typedef NU8 tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw;
struct tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA {
  RootObj Sup;
tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw kind;
NI start;
NI length;
NCSTRING buf;
NI pos;
tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw state;
};
typedef NimStringDesc* tyArray__69aRiN1hTPxpIUrdnUY5lOQ[66];
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tySet_tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ;
typedef NU8 tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ;
typedef NimStringDesc* tyArray__DcKV5FQ2MxTR9bAYNreBB4Q[48];
typedef NimStringDesc* tyArray__OwCxYRmtgMKzqrKp2A6M8Q[77];
typedef NimStringDesc* tyArray__Mn6yIkpRDoQkgQ9aOesXlyg[37];
typedef NimStringDesc* tyArray__kpoXEkaxs1Wz00XTehsEvg[53];
struct tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg {
NIM_CHAR a;
NIM_CHAR b;
};
typedef NimStringDesc* tyArray__b121gTFK3KCOh1bfQWQzTw[33];

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__vLNovrBjlMTTAgzZMynI5A)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NCSTRING buf);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, nimNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw, nimGetKeyword__mH8PHPrBsIUgvMaeNJImeQ)(NimStringDesc* id);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(NI, nimNumber__CqreDYIuS6DczqYAdz9afyQ_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(void, cppNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, clikeNextToken__L8t1qBucomXxnIP2FCz8cA)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ flags);
N_LIB_PRIVATE N_NIMCALL(NI, isKeyword__w2E4F9aQzmLEEAZ3M1m52ZA)(NimStringDesc** x, NI xLen_0, NimStringDesc* y);
N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__wa1aY9bsuTdXtbdvM9apunWQ)(NimStringDesc** a, NI aLen_0, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NI, generalNumber__CqreDYIuS6DczqYAdz9afyQ_3)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(NI, generalStrLit__CqreDYIuS6DczqYAdz9afyQ_4)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position);
N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_3)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, cNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_4)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, javaNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_5)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_6)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, yamlPossibleNumber__ttGpPUa5Kch9bqZf8mE4Niw)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI* pos);
static N_INLINE(NIM_BOOL, contains__gQgU7tFetrsWh7D678FByQsystem)(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg s, NIM_CHAR value);
static N_INLINE(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg, dotdot___TrbQSUU3S4iYrxrnSGCImgsystem)(NIM_CHAR a, NIM_CHAR b);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI* pos);

/* section: NIM_merge_DATA */
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_2, "none", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_3, "Nim", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_4, "C++", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_5, "C#", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_6, "C", 1);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_7, "Java", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_8, "Yaml", 4);
N_LIB_PRIVATE NIM_CONST tyArray__CchsCKVbWNDjfQ2XsaO6Aw sourceLanguageToStr__HxGhuVvqzgyr9b5gK42kE9aw = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_2),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_3),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_4),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_5),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_6),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_7),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_8)}
;
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__XJrmQSLLjVmugZQb54lVWA_;
N_LIB_PRIVATE TNimType NTI__UcAPDGzMlzghdb9c8MB7mEw_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__S9agCYBinaYZnGWcjTdxclg_;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_13, "addr", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_14, "and", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_15, "as", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_16, "asm", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_17, "bind", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_18, "block", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_19, "break", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_20, "case", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_21, "cast", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_22, "concept", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_23, "const", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_24, "continue", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_25, "converter", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_26, "defer", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_27, "discard", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_28, "distinct", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_29, "div", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_30, "do", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_31, "elif", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_32, "else", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_33, "end", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_34, "enum", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_35, "except", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_36, "export", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_37, "finally", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_38, "for", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_39, "from", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_40, "func", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_41, "if", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_42, "import", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_43, "in", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_44, "include", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_45, "interface", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_46, "is", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_47, "isnot", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_48, "iterator", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_49, "let", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_50, "macro", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_51, "method", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_52, "mixin", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_53, "mod", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_54, "nil", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_55, "not", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_56, "notin", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_57, "object", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_58, "of", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_59, "or", 2);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_60, "out", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_61, "proc", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_62, "ptr", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_63, "raise", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_64, "ref", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_65, "return", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_66, "shl", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_67, "shr", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_68, "static", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_69, "template", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_70, "try", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_71, "tuple", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_72, "type", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_73, "using", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_74, "var", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_75, "when", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_76, "while", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_77, "xor", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_78, "yield", 5);
N_LIB_PRIVATE NIM_CONST tyArray__69aRiN1hTPxpIUrdnUY5lOQ nimKeywords__AdQLeNn8tyS9cszL4XF4IRA = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_13),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_14),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_15),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_16),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_17),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_18),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_19),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_20),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_21),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_22),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_23),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_24),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_25),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_26),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_27),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_28),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_29),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_30),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_31),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_32),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_33),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_34),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_35),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_36),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_37),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_38),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_39),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_40),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_41),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_42),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_43),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_44),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_45),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_46),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_47),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_48),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_49),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_50),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_51),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_52),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_53),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_54),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_55),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_56),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_57),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_58),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_59),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_60),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_61),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_62),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_63),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_64),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_66),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_67),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_71),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_72),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_73),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_74),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_75),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_76),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_77),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_78)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__fRGlRrO1fEGjCBV7qCKpgg_79 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xec, 0x00, 0xf4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_80, "auto", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_81, "catch", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_82, "char", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_83, "class", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_84, "default", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_85, "delete", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_86, "double", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_87, "extern", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_88, "float", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_89, "friend", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_90, "goto", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_91, "inline", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_92, "int", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_93, "long", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_94, "new", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_95, "operator", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_96, "private", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_97, "protected", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_98, "public", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_99, "register", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_100, "short", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_101, "signed", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_102, "sizeof", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_103, "struct", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_104, "switch", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_105, "this", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_106, "throw", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_107, "typedef", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_108, "union", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_109, "unsigned", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_110, "virtual", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_111, "void", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_112, "volatile", 8);
N_LIB_PRIVATE NIM_CONST tyArray__DcKV5FQ2MxTR9bAYNreBB4Q keywords__gKv1FOzFRrCgE4Gfcb8wGg = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_16),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_19),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_20),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_81),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_82),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_23),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_24),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_85),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_30),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_86),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_32),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_34),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_38),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_89),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_90),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_41),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_91),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_93),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_94),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_95),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_96),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_97),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_98),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_99),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_100),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_101),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_102),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_103),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_104),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_69),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_105),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_106),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_107),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_108),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_109),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_110),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_112),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_76)}
;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_113, "abstract", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_114, "base", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_115, "bool", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_116, "byte", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_117, "checked", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_118, "decimal", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_119, "delegate", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_120, "event", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_121, "explicit", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_122, "false", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_123, "fixed", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_124, "foreach", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_125, "implicit", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_126, "internal", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_127, "lock", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_128, "namespace", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_129, "null", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_130, "override", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_131, "params", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_132, "readonly", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_133, "sbyte", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_134, "sealed", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_135, "stackalloc", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_136, "string", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_137, "true", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_138, "typeof", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_139, "uint", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_140, "ulong", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_141, "unchecked", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_142, "unsafe", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_143, "ushort", 6);
N_LIB_PRIVATE NIM_CONST tyArray__OwCxYRmtgMKzqrKp2A6M8Q keywords__4q4uWPzDVcuStQAwoQZEcg = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_113),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_15),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_114),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_115),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_19),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_20),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_81),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_82),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_117),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_23),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_24),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_118),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_119),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_30),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_86),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_32),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_34),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_120),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_121),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_122),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_37),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_123),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_38),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_124),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_90),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_41),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_125),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_43),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_45),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_126),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_46),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_127),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_93),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_128),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_94),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_129),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_57),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_95),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_60),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_130),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_131),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_96),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_97),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_98),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_132),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_64),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_133),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_134),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_100),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_102),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_135),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_136),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_103),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_104),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_105),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_106),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_137),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_138),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_139),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_140),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_141),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_142),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_143),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_73),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_110),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_112),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_76)}
;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_144, "_Bool", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_145, "_Complex", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_146, "_Imaginary", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_147, "restrict", 8);
N_LIB_PRIVATE NIM_CONST tyArray__Mn6yIkpRDoQkgQ9aOesXlyg keywords__fVlyodPJ9cBW5UpZt9aXLsYg = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_144),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_145),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_146),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_80),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_19),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_20),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_82),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_23),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_24),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_30),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_86),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_32),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_34),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_87),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_38),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_90),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_41),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_91),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_93),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_99),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_147),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_100),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_101),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_102),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_103),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_104),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_107),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_108),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_109),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_112),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_76)}
;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_148, "assert", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_149, "boolean", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_150, "extends", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_151, "final", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_152, "implements", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_153, "instanceof", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_154, "native", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_155, "package", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_156, "strictfp", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_157, "super", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_158, "synchronized", 12);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_159, "throws", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_160, "transient", 9);
N_LIB_PRIVATE NIM_CONST tyArray__kpoXEkaxs1Wz00XTehsEvg keywords__BFcPo8VN9a0Dz3tY8Awo9bkg = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_113),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_148),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_149),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_19),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_116),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_20),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_81),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_82),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_83),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_23),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_24),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_84),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_30),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_86),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_32),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_34),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_150),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_122),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_151),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_37),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_88),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_38),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_90),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_41),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_152),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_42),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_153),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_92),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_45),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_93),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_154),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_94),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_129),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_155),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_96),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_97),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_98),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_65),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_100),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_68),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_156),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_157),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_104),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_158),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_105),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_106),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_159),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_160),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_137),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_70),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_111),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_112),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_76)}
;
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_161, "Eof", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_162, "None", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_163, "Whitespace", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_164, "DecNumber", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_165, "BinNumber", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_166, "HexNumber", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_167, "OctNumber", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_168, "FloatNumber", 11);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_169, "Identifier", 10);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_170, "Keyword", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_171, "StringLit", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_172, "LongStringLit", 13);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_173, "CharLit", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_174, "EscapeSequence", 14);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_175, "Operator", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_176, "Punctuation", 11);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_177, "Comment", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_178, "LongComment", 11);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_179, "RegularExpression", 17);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_180, "TagStart", 8);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_181, "TagEnd", 6);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_182, "Key", 3);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_183, "Value", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_184, "RawData", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_185, "Assembler", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_186, "Preprocessor", 12);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_187, "Directive", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_188, "Command", 7);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_189, "Rule", 4);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_190, "Hyperlink", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_191, "Label", 5);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_192, "Reference", 9);
STRING_LITERAL(TM__fRGlRrO1fEGjCBV7qCKpgg_193, "Other", 5);
N_LIB_PRIVATE NIM_CONST tyArray__b121gTFK3KCOh1bfQWQzTw tokenClassToStr__XoxGqeDe9c9bun9b5PoCUnzlg = {((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_161),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_162),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_163),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_164),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_165),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_166),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_167),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_168),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_169),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_170),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_171),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_172),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_173),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_174),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_175),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_176),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_177),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_178),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_179),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_180),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_181),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_182),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_183),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_184),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_185),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_186),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_187),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_188),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_189),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_190),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_191),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_192),
((NimStringDesc*) &TM__fRGlRrO1fEGjCBV7qCKpgg_193)}
;

/* section: NIM_merge_PROCS */
N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ, getSourceLanguage__xS5vGJiqLeFR2EyiTX0IEA)(NimStringDesc* name) {
	tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ result;
{	result = (tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ)0;
	{
		tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ i;
		NI res;
		i = (tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ)0;
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= ((NI) 6))) goto LA3;
				i = ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) (res));
				{
					NI T6_;
					T6_ = (NI)0;
					T6_ = nsuCmpIgnoreStyle(name, sourceLanguageToStr__HxGhuVvqzgyr9b5gK42kE9aw[(i)- 0]);
					if (!(T6_ == ((NI) 0))) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 0);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__vLNovrBjlMTTAgzZMynI5A)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NCSTRING buf) {
	NI pos;
	(*g).buf = buf;
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
	(*g).start = ((NI) 0);
	(*g).length = ((NI) 0);
	(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
	pos = ((NI) 0);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	(*g).pos = pos;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == ((NimStringDesc*) NIM_NIL));
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__mu4EAfPX69bUQs62cfYLXRA)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc* buf) {
	initGeneralTokenizer__vLNovrBjlMTTAgzZMynI5A(g, nimToCStringConv(buf));
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw, nimGetKeyword__mH8PHPrBsIUgvMaeNJImeQ)(NimStringDesc* id) {
	tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw result;
{	result = (tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw)0;
	{
		NimStringDesc* k;
		NI i;
		k = (NimStringDesc*)0;
		i = ((NI) 0);
		{
			if (!(((NI) (i)) <= ((NI) 65))) goto LA4_;
			{
				while (1) {
					k = copyString(nimKeywords__AdQLeNn8tyS9cszL4XF4IRA[(i)- 0]);
					{
						NI T10_;
						T10_ = (NI)0;
						T10_ = nsuCmpIgnoreStyle(id, k);
						if (!(T10_ == ((NI) 0))) goto LA11_;
						result = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 9);
						goto BeforeRet_;
					}
					LA11_: ;
					{
						if (!(((NI) 65) <= ((NI) (i)))) goto LA15_;
						goto LA6;
					}
					LA15_: ;
					i += ((NI) 1);
				}
			} LA6: ;
		}
		LA4_: ;
	}
	result = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 8);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(39))) goto LA3_;
		pos += ((NI) 1);
		switch (((NU8)((*g).buf[pos]))) {
		case 102:
		case 70:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8_;
				pos += ((NI) 1);
			}
			LA8_: ;
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA12_;
				pos += ((NI) 1);
			}
			LA12_: ;
		}
		break;
		case 105:
		case 73:
		{
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA17_;
				pos += ((NI) 1);
			}
			LA17_: ;
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA21_;
				pos += ((NI) 1);
			}
			LA21_: ;
		}
		break;
		default:
		{
		}
		break;
		}
	}
	LA3_: ;
	result = pos;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, nimNumber__CqreDYIuS6DczqYAdz9afyQ_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 3);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
		pos += ((NI) 1);
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA8;
				pos += ((NI) 1);
			} LA8: ;
		}
	}
	LA5_: ;
	{
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
		pos += ((NI) 1);
		{
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15_;
			pos += ((NI) 1);
		}
		LA15_: ;
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA18;
				pos += ((NI) 1);
			} LA18: ;
		}
	}
	LA11_: ;
	result = nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ(g, pos);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nimNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	NI pos;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 13);
					pos += ((NI) 1);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						pos += ((NI) 1);
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA11_;
							pos += ((NI) 1);
						}
						LA11_: ;
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA15_;
							pos += ((NI) 1);
						}
						LA15_: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								pos += ((NI) 1);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					pos += ((NI) 1);
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					pos += ((NI) 1);
				} LA28: ;
			}
		}
		break;
		case 35:
		{
			NIM_BOOL isDoc;
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 16);
			pos += ((NI) 1);
			isDoc = NIM_FALSE;
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(35))) goto LA32_;
				pos += ((NI) 1);
				isDoc = NIM_TRUE;
			}
			LA32_: ;
			{
				NI nesting;
				if (!((NU8)((*g).buf[pos]) == (NU8)(91))) goto LA36_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 17);
				nesting = ((NI) 0);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA38;
						}
						break;
						case 35:
						{
							{
								if (!isDoc) goto LA44_;
								{
									NIM_BOOL T48_;
									T48_ = (NIM_BOOL)0;
									T48_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
									if (!(T48_)) goto LA49_;
									T48_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(91));
									LA49_: ;
									if (!T48_) goto LA50_;
									nesting += ((NI) 1);
								}
								LA50_: ;
							}
							goto LA42_;
							LA44_: ;
							{
								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(91))) goto LA53_;
								nesting += ((NI) 1);
							}
							goto LA42_;
							LA53_: ;
							LA42_: ;
							pos += ((NI) 1);
						}
						break;
						case 93:
						{
							{
								if (!isDoc) goto LA58_;
								{
									NIM_BOOL T62_;
									T62_ = (NIM_BOOL)0;
									T62_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
									if (!(T62_)) goto LA63_;
									T62_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(35));
									LA63_: ;
									if (!T62_) goto LA64_;
									{
										if (!(nesting == ((NI) 0))) goto LA68_;
										pos += ((NI) 3);
										goto LA38;
									}
									LA68_: ;
									nesting -= ((NI) 1);
								}
								LA64_: ;
							}
							goto LA56_;
							LA58_: ;
							{
								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35))) goto LA71_;
								{
									if (!(nesting == ((NI) 0))) goto LA75_;
									pos += ((NI) 2);
									goto LA38;
								}
								LA75_: ;
								nesting -= ((NI) 1);
							}
							goto LA56_;
							LA71_: ;
							LA56_: ;
							pos += ((NI) 1);
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA38: ;
			}
			goto LA34_;
			LA36_: ;
			{
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA80;
						pos += ((NI) 1);
					} LA80: ;
				}
			}
			LA34_: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = ((NimStringDesc*) NIM_NIL);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA83;
					id = addChar(id, (*g).buf[pos]);
					pos += ((NI) 1);
				} LA83: ;
			}
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA86_;
				{
					NIM_BOOL T90_;
					T90_ = (NIM_BOOL)0;
					T90_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
					if (!(T90_)) goto LA91_;
					T90_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34));
					LA91_: ;
					if (!T90_) goto LA92_;
					pos += ((NI) 3);
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 11);
					{
						while (1) {
							switch (((NU8)((*g).buf[pos]))) {
							case 0:
							{
								goto LA94;
							}
							break;
							case 34:
							{
								pos += ((NI) 1);
								{
									NIM_BOOL T100_;
									NIM_BOOL T101_;
									T100_ = (NIM_BOOL)0;
									T101_ = (NIM_BOOL)0;
									T101_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
									if (!(T101_)) goto LA102_;
									T101_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
									LA102_: ;
									T100_ = T101_;
									if (!(T100_)) goto LA103_;
									T100_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
									LA103_: ;
									if (!T100_) goto LA104_;
									pos += ((NI) 2);
									goto LA94;
								}
								LA104_: ;
							}
							break;
							default:
							{
								pos += ((NI) 1);
							}
							break;
							}
						}
					} LA94: ;
				}
				goto LA88_;
				LA92_: ;
				{
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 23);
					pos += ((NI) 1);
					{
						while (1) {
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA109;
							{
								NIM_BOOL T112_;
								T112_ = (NIM_BOOL)0;
								T112_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(T112_)) goto LA113_;
								T112_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34)));
								LA113_: ;
								if (!T112_) goto LA114_;
								goto LA108;
							}
							LA114_: ;
							pos += ((NI) 1);
						} LA109: ;
					} LA108: ;
					{
						if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA118_;
						pos += ((NI) 1);
					}
					LA118_: ;
				}
				LA88_: ;
			}
			goto LA84_;
			LA86_: ;
			{
				(*g).kind = nimGetKeyword__mH8PHPrBsIUgvMaeNJImeQ(id);
			}
			LA84_: ;
		}
		break;
		case 48:
		{
			pos += ((NI) 1);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 4);
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA124;
						pos += ((NI) 1);
					} LA124: ;
				}
				pos = nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			case 120:
			case 88:
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 5);
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA127;
						pos += ((NI) 1);
					} LA127: ;
				}
				pos = nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			case 111:
			case 79:
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 6);
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA130;
						pos += ((NI) 1);
					} LA130: ;
				}
				pos = nimNumberPostfix__CqreDYIuS6DczqYAdz9afyQ(g, pos);
			}
			break;
			default:
			{
				pos = nimNumber__CqreDYIuS6DczqYAdz9afyQ_2(g, pos);
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = nimNumber__CqreDYIuS6DczqYAdz9afyQ_2(g, pos);
		}
		break;
		case 39:
		{
			pos += ((NI) 1);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 12);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					case 13:
					case 10:
					{
						goto LA134;
					}
					break;
					case 39:
					{
						pos += ((NI) 1);
						goto LA134;
					}
					break;
					case 92:
					{
						pos += ((NI) 2);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
				}
			} LA134: ;
		}
		break;
		case 34:
		{
			pos += ((NI) 1);
			{
				NIM_BOOL T143_;
				T143_ = (NIM_BOOL)0;
				T143_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
				if (!(T143_)) goto LA144_;
				T143_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
				LA144_: ;
				if (!T143_) goto LA145_;
				pos += ((NI) 2);
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 11);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						{
							goto LA147;
						}
						break;
						case 34:
						{
							pos += ((NI) 1);
							{
								NIM_BOOL T153_;
								NIM_BOOL T154_;
								T153_ = (NIM_BOOL)0;
								T154_ = (NIM_BOOL)0;
								T154_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
								if (!(T154_)) goto LA155_;
								T154_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
								LA155_: ;
								T153_ = T154_;
								if (!(T153_)) goto LA156_;
								T153_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
								LA156_: ;
								if (!T153_) goto LA157_;
								pos += ((NI) 2);
								goto LA147;
							}
							LA157_: ;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA147: ;
			}
			goto LA141_;
			LA145_: ;
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 0:
						case 13:
						case 10:
						{
							goto LA161;
						}
						break;
						case 34:
						{
							pos += ((NI) 1);
							goto LA161;
						}
						break;
						case 92:
						{
							(*g).state = (*g).kind;
							goto LA161;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA161: ;
			}
			LA141_: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 96:
		case 58:
		case 44:
		case 59:
		{
			pos += ((NI) 1);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			{
				if (!((TM__fRGlRrO1fEGjCBV7qCKpgg_79[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA172_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 14);
				{
					while (1) {
						if (!((TM__fRGlRrO1fEGjCBV7qCKpgg_79[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA175;
						pos += ((NI) 1);
					} LA175: ;
				}
			}
			goto LA170_;
			LA172_: ;
			{
				pos += ((NI) 1);
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
			}
			LA170_: ;
		}
		break;
		}
	}
	LA1_: ;
	(*g).length = (NI)(pos - (*g).pos);
	{
		NIM_BOOL T179_;
		NIM_BOOL T180_;
		T179_ = (NIM_BOOL)0;
		T180_ = (NIM_BOOL)0;
		T180_ = !(((*g).kind == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0)));
		if (!(T180_)) goto LA181_;
		T180_ = !(((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1)));
		LA181_: ;
		T179_ = T180_;
		if (!(T179_)) goto LA182_;
		T179_ = ((*g).length <= ((NI) 0));
		LA182_: ;
		if (!T179_) goto LA183_;
	}
	LA183_: ;
	(*g).pos = pos;
}
N_LIB_PRIVATE N_NIMCALL(NI, isKeyword__w2E4F9aQzmLEEAZ3M1m52ZA)(NimStringDesc** x, NI xLen_0, NimStringDesc* y) {
	NI result;
	result = (NI)0;
	result = binarySearch__wa1aY9bsuTdXtbdvM9apunWQ(x, xLen_0, y);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, generalNumber__CqreDYIuS6DczqYAdz9afyQ_3)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 3);
	{
		while (1) {
			if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	{
		if (!((NU8)((*g).buf[pos]) == (NU8)(46))) goto LA5_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
		pos += ((NI) 1);
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
				pos += ((NI) 1);
			} LA8: ;
		}
	}
	LA5_: ;
	{
		if (!(((NU8)((*g).buf[pos])) == ((NU8)(101)) || ((NU8)((*g).buf[pos])) == ((NU8)(69)))) goto LA11_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
		pos += ((NI) 1);
		{
			if (!(((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA15_;
			pos += ((NI) 1);
		}
		LA15_: ;
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA18;
				pos += ((NI) 1);
			} LA18: ;
		}
	}
	LA11_: ;
	result = pos;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, generalStrLit__CqreDYIuS6DczqYAdz9afyQ_4)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI position) {
	NI result;
	NI pos;
	NIM_CHAR c;
	result = (NI)0;
	pos = position;
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
	c = (*g).buf[pos];
	pos += ((NI) 1);
	{
		while (1) {
			switch (((NU8)((*g).buf[pos]))) {
			case 0:
			{
				goto LA1;
			}
			break;
			case 92:
			{
				pos += ((NI) 1);
				switch (((NU8)((*g).buf[pos]))) {
				case 0:
				{
					goto LA1;
				}
				break;
				case 48 ... 57:
				{
					{
						while (1) {
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA8;
							pos += ((NI) 1);
						} LA8: ;
					}
				}
				break;
				case 120:
				case 88:
				{
					pos += ((NI) 1);
					{
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA12_;
						pos += ((NI) 1);
					}
					LA12_: ;
					{
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA16_;
						pos += ((NI) 1);
					}
					LA16_: ;
				}
				break;
				default:
				{
					pos += ((NI) 2);
				}
				break;
				}
			}
			break;
			default:
			{
				{
					if (!((NU8)((*g).buf[pos]) == (NU8)(c))) goto LA22_;
					pos += ((NI) 1);
					goto LA1;
				}
				goto LA20_;
				LA22_: ;
				{
					pos += ((NI) 1);
				}
				LA20_: ;
			}
			break;
			}
		}
	} LA1: ;
	result = pos;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, clikeNextToken__L8t1qBucomXxnIP2FCz8cA)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ flags) {
	NI pos;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 13);
					pos += ((NI) 1);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					case 88:
					{
						pos += ((NI) 1);
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA11_;
							pos += ((NI) 1);
						}
						LA11_: ;
						{
							if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA15_;
							pos += ((NI) 1);
						}
						LA15_: ;
					}
					break;
					case 48 ... 57:
					{
						{
							while (1) {
								if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA19;
								pos += ((NI) 1);
							} LA19: ;
						}
					}
					break;
					case 0:
					{
						(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				case 13:
				case 10:
				{
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				case 34:
				{
					pos += ((NI) 1);
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
					goto LA5;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA28;
					pos += ((NI) 1);
				} LA28: ;
			}
		}
		break;
		case 47:
		{
			pos += ((NI) 1);
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA32_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 16);
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA35;
						pos += ((NI) 1);
					} LA35: ;
				}
			}
			goto LA30_;
			LA32_: ;
			{
				NI nested;
				if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA37_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 17);
				nested = ((NI) 0);
				pos += ((NI) 1);
				{
					while (1) {
						switch (((NU8)((*g).buf[pos]))) {
						case 42:
						{
							pos += ((NI) 1);
							{
								if (!((NU8)((*g).buf[pos]) == (NU8)(47))) goto LA44_;
								pos += ((NI) 1);
								{
									if (!(nested == ((NI) 0))) goto LA48_;
									goto LA39;
								}
								LA48_: ;
							}
							LA44_: ;
						}
						break;
						case 47:
						{
							pos += ((NI) 1);
							{
								if (!((NU8)((*g).buf[pos]) == (NU8)(42))) goto LA53_;
								pos += ((NI) 1);
								{
									if (!((flags &((NU8)1<<((NU)(((tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ) 1))&7U)))!=0)) goto LA57_;
									nested += ((NI) 1);
								}
								LA57_: ;
							}
							LA53_: ;
						}
						break;
						case 0:
						{
							goto LA39;
						}
						break;
						default:
						{
							pos += ((NI) 1);
						}
						break;
						}
					}
				} LA39: ;
			}
			goto LA30_;
			LA37_: ;
			LA30_: ;
		}
		break;
		case 35:
		{
			pos += ((NI) 1);
			{
				if (!((flags &((NU8)1<<((NU)(((tyEnum_TokenizerFlag__0rxT9beFrYOPADukozRvVEQ) 0))&7U)))!=0)) goto LA64_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 25);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(9)))) goto LA67;
						pos += ((NI) 1);
					} LA67: ;
				}
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA69;
						pos += ((NI) 1);
					} LA69: ;
				}
			}
			goto LA62_;
			LA64_: ;
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 14);
			}
			LA62_: ;
		}
		break;
		case 97 ... 122:
		case 65 ... 90:
		case 95:
		case 128 ... 255:
		{
			NimStringDesc* id;
			id = ((NimStringDesc*) NIM_NIL);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)) || ((NU8)((*g).buf[pos])) >= ((NU8)(128)) && ((NU8)((*g).buf[pos])) <= ((NU8)(255)))) goto LA73;
					id = addChar(id, (*g).buf[pos]);
					pos += ((NI) 1);
				} LA73: ;
			}
			{
				NI T76_;
				T76_ = (NI)0;
				T76_ = isKeyword__w2E4F9aQzmLEEAZ3M1m52ZA(keywords, keywordsLen_0, id);
				if (!(((NI) 0) <= T76_)) goto LA77_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 9);
			}
			goto LA74_;
			LA77_: ;
			{
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 8);
			}
			LA74_: ;
		}
		break;
		case 48:
		{
			pos += ((NI) 1);
			switch (((NU8)((*g).buf[pos]))) {
			case 98:
			case 66:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(49)))) goto LA83;
						pos += ((NI) 1);
					} LA83: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA86_;
					pos += ((NI) 1);
				}
				LA86_: ;
			}
			break;
			case 120:
			case 88:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA90;
						pos += ((NI) 1);
					} LA90: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA93_;
					pos += ((NI) 1);
				}
				LA93_: ;
			}
			break;
			case 48 ... 55:
			{
				pos += ((NI) 1);
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(55)))) goto LA97;
						pos += ((NI) 1);
					} LA97: ;
				}
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA100_;
					pos += ((NI) 1);
				}
				LA100_: ;
			}
			break;
			default:
			{
				pos = generalNumber__CqreDYIuS6DczqYAdz9afyQ_3(g, pos);
				{
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA105_;
					pos += ((NI) 1);
				}
				LA105_: ;
			}
			break;
			}
		}
		break;
		case 49 ... 57:
		{
			pos = generalNumber__CqreDYIuS6DczqYAdz9afyQ_3(g, pos);
			{
				if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)))) goto LA110_;
				pos += ((NI) 1);
			}
			LA110_: ;
		}
		break;
		case 39:
		{
			pos = generalStrLit__CqreDYIuS6DczqYAdz9afyQ_4(g, pos);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 12);
		}
		break;
		case 34:
		{
			pos += ((NI) 1);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
			{
				while (1) {
					switch (((NU8)((*g).buf[pos]))) {
					case 0:
					{
						goto LA114;
					}
					break;
					case 34:
					{
						pos += ((NI) 1);
						goto LA114;
					}
					break;
					case 92:
					{
						(*g).state = (*g).kind;
						goto LA114;
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
				}
			} LA114: ;
		}
		break;
		case 40:
		case 41:
		case 91:
		case 93:
		case 123:
		case 125:
		case 58:
		case 44:
		case 59:
		case 46:
		{
			pos += ((NI) 1);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			{
				if (!((TM__fRGlRrO1fEGjCBV7qCKpgg_79[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA125_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 14);
				{
					while (1) {
						if (!((TM__fRGlRrO1fEGjCBV7qCKpgg_79[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA128;
						pos += ((NI) 1);
					} LA128: ;
				}
			}
			goto LA123_;
			LA125_: ;
			{
				pos += ((NI) 1);
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
			}
			LA123_: ;
		}
		break;
		}
	}
	LA1_: ;
	(*g).length = (NI)(pos - (*g).pos);
	{
		NIM_BOOL T132_;
		T132_ = (NIM_BOOL)0;
		T132_ = !(((*g).kind == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0)));
		if (!(T132_)) goto LA133_;
		T132_ = ((*g).length <= ((NI) 0));
		LA133_: ;
		if (!T132_) goto LA134_;
	}
	LA134_: ;
	(*g).pos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, cppNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken__L8t1qBucomXxnIP2FCz8cA(g, keywords__gKv1FOzFRrCgE4Gfcb8wGg, 48, 1);
}
N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_3)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken__L8t1qBucomXxnIP2FCz8cA(g, keywords__4q4uWPzDVcuStQAwoQZEcg, 77, 1);
}
N_LIB_PRIVATE N_NIMCALL(void, cNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_4)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken__L8t1qBucomXxnIP2FCz8cA(g, keywords__fVlyodPJ9cBW5UpZt9aXLsYg, 37, 1);
}
N_LIB_PRIVATE N_NIMCALL(void, javaNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_5)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	clikeNextToken__L8t1qBucomXxnIP2FCz8cA(g, keywords__BFcPo8VN9a0Dz3tY8Awo9bkg, 53, 0);
}
static N_INLINE(NIM_BOOL, contains__gQgU7tFetrsWh7D678FByQsystem)(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg s, NIM_CHAR value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NU8)(s.a) <= (NU8)(value));
	if (!(T1_)) goto LA2_;
	T1_ = ((NU8)(value) <= (NU8)(s.b));
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory(p, ((int) 0), size);
}
static N_INLINE(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg, dotdot___TrbQSUU3S4iYrxrnSGCImgsystem)(NIM_CHAR a, NIM_CHAR b) {
	tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI* pos) {
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
	{
		while (1) {
			if (!!((((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125))))) goto LA2;
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = ((NU8)((*g).buf[(*pos)]) == (NU8)(58));
				if (!(T5_)) goto LA6_;
				T5_ = (((NU8)((*g).buf[(NI)((*pos) + ((NI) 1))])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)((*pos) + ((NI) 1))])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)((*pos) + ((NI) 1))])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)((*pos) + ((NI) 1))])) == ((NU8)(32)));
				LA6_: ;
				if (!T5_) goto LA7_;
				goto LA1;
			}
			LA7_: ;
			(*pos) += ((NI) 1);
		} LA2: ;
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(void, yamlPossibleNumber__ttGpPUa5Kch9bqZf8mE4Niw)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, NI* pos) {
	(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
	{
		if (!((NU8)((*g).buf[(*pos)]) == (NU8)(45))) goto LA3_;
		(*pos) += ((NI) 1);
	}
	LA3_: ;
	{
		if (!((NU8)((*g).buf[(*pos)]) == (NU8)(48))) goto LA7_;
		(*pos) += ((NI) 1);
	}
	goto LA5_;
	LA7_: ;
	{
		tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg T10_;
		NIM_BOOL T11_;
		T10_ = dotdot___TrbQSUU3S4iYrxrnSGCImgsystem(49, 57);
		T11_ = (NIM_BOOL)0;
		T11_ = contains__gQgU7tFetrsWh7D678FByQsystem(T10_, (*g).buf[(*pos)]);
		if (!T11_) goto LA12_;
		(*pos) += ((NI) 1);
		{
			while (1) {
				if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA15;
				(*pos) += ((NI) 1);
			} LA15: ;
		}
	}
	goto LA5_;
	LA12_: ;
	{
		yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
	}
	LA5_: ;
	{
		if (!((*g).kind == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1))) goto LA19_;
		{
			if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA23_;
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 3);
		}
		goto LA21_;
		LA23_: ;
		{
			if (!((NU8)((*g).buf[(*pos)]) == (NU8)(46))) goto LA26_;
			(*pos) += ((NI) 1);
			{
				if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57))))) goto LA30_;
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
			}
			goto LA28_;
			LA30_: ;
			{
				{
					while (1) {
						if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA34;
						(*pos) += ((NI) 1);
					} LA34: ;
				}
				{
					if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA37_;
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
				}
				LA37_: ;
			}
			LA28_: ;
		}
		goto LA21_;
		LA26_: ;
		LA21_: ;
		{
			if (!((*g).kind == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1))) goto LA41_;
			{
				if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(101)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(69)))) goto LA45_;
				(*pos) += ((NI) 1);
				{
					if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(45)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(43)))) goto LA49_;
					(*pos) += ((NI) 1);
				}
				LA49_: ;
				{
					if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57))))) goto LA53_;
					yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
				}
				goto LA51_;
				LA53_: ;
				{
					{
						while (1) {
							if (!(((NU8)((*g).buf[(*pos)])) >= ((NU8)(48)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(57)))) goto LA57;
							(*pos) += ((NI) 1);
						} LA57: ;
					}
					{
						if (!(((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)))) goto LA60_;
						(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 7);
					}
					goto LA58_;
					LA60_: ;
					{
						yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
					}
					LA58_: ;
				}
				LA51_: ;
			}
			goto LA43_;
			LA45_: ;
			{
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
			}
			LA43_: ;
		}
		LA41_: ;
	}
	LA19_: ;
	{
		while (1) {
			if (!!((((NU8)((*g).buf[(*pos)])) == ((NU8)(0)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(10)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(13))))) goto LA65;
			(*pos) += ((NI) 1);
			{
				if (!!((((NU8)((*g).buf[(*pos)])) >= ((NU8)(9)) && ((NU8)((*g).buf[(*pos)])) <= ((NU8)(13)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(32)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(44)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(93)) || ((NU8)((*g).buf[(*pos)])) == ((NU8)(125))))) goto LA68_;
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, pos);
				goto LA64;
			}
			LA68_: ;
		} LA65: ;
	} LA64: ;
}
N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_6)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
	NI pos;
	pos = (*g).pos;
	(*g).start = (*g).pos;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10))) goto LA3_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 92:
				{
					{
						if (!!((pos == (*g).pos))) goto LA10_;
						goto LA5;
					}
					LA10_: ;
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 13);
					pos += ((NI) 1);
					switch (((NU8)((*g).buf[pos]))) {
					case 120:
					{
						pos += ((NI) 1);
						{
							NI i;
							NI res;
							i = (NI)0;
							res = ((NI) 1);
							{
								while (1) {
									if (!(res <= ((NI) 2))) goto LA15;
									i = res;
									{
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA18_;
										pos += ((NI) 1);
									}
									LA18_: ;
									res += ((NI) 1);
								} LA15: ;
							}
						}
						goto LA5;
					}
					break;
					case 117:
					{
						pos += ((NI) 1);
						{
							NI i_2;
							NI res_2;
							i_2 = (NI)0;
							res_2 = ((NI) 1);
							{
								while (1) {
									if (!(res_2 <= ((NI) 4))) goto LA23;
									i_2 = res_2;
									{
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA26_;
										pos += ((NI) 1);
									}
									LA26_: ;
									res_2 += ((NI) 1);
								} LA23: ;
							}
						}
						goto LA5;
					}
					break;
					case 85:
					{
						pos += ((NI) 1);
						{
							NI i_3;
							NI res_3;
							i_3 = (NI)0;
							res_3 = ((NI) 1);
							{
								while (1) {
									if (!(res_3 <= ((NI) 8))) goto LA31;
									i_3 = res_3;
									{
										if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(70)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(102)))) goto LA34_;
										pos += ((NI) 1);
									}
									LA34_: ;
									res_3 += ((NI) 1);
								} LA31: ;
							}
						}
						goto LA5;
					}
					break;
					default:
					{
						pos += ((NI) 1);
					}
					break;
					}
					goto LA5;
				}
				break;
				case 0:
				{
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
					goto LA5;
				}
				break;
				case 34:
				{
					pos += ((NI) 1);
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
					goto LA5;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA5: ;
	}
	goto LA1_;
	LA3_: ;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 12))) goto LA41_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
		pos += ((NI) 1);
		{
			while (1) {
				switch (((NU8)((*g).buf[pos]))) {
				case 39:
				{
					pos += ((NI) 1);
					{
						if (!((NU8)((*g).buf[pos]) == (NU8)(39))) goto LA48_;
						pos += ((NI) 1);
						(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 13);
					}
					goto LA46_;
					LA48_: ;
					{
						(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
					}
					LA46_: ;
					goto LA43;
				}
				break;
				default:
				{
					pos += ((NI) 1);
				}
				break;
				}
			}
		} LA43: ;
	}
	goto LA1_;
	LA41_: ;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 27))) goto LA53_;
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(9)))) goto LA57;
					pos += ((NI) 1);
				} LA57: ;
			}
		}
		break;
		case 35:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 16);
			{
				while (1) {
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA60;
					pos += ((NI) 1);
				} LA60: ;
			}
		}
		break;
		case 10:
		case 13:
		{
		}
		break;
		default:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
		}
		break;
		}
		{
			NIM_BOOL T65_;
			T65_ = (NIM_BOOL)0;
			T65_ = (((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)));
			if (!(T65_)) goto LA66_;
			T65_ = ((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 27));
			LA66_: ;
			if (!T65_) goto LA67_;
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 11);
		}
		LA67_: ;
	}
	goto LA1_;
	LA53_: ;
	{
		NI lookbehind;
		NI headerStart;
		NI indentation;
		NI parentIndentation;
		NI minIndentation;
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 11))) goto LA70_;
		(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 11);
		lookbehind = (NI)(pos - ((NI) 1));
		headerStart = ((NI) -1);
		{
			while (1) {
				NIM_BOOL T74_;
				T74_ = (NIM_BOOL)0;
				T74_ = (((NI) 0) <= lookbehind);
				if (!(T74_)) goto LA75_;
				T74_ = !((((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13))));
				LA75_: ;
				if (!T74_) goto LA73;
				{
					NIM_BOOL T78_;
					T78_ = (NIM_BOOL)0;
					T78_ = (headerStart == ((NI) -1));
					if (!(T78_)) goto LA79_;
					T78_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(124)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(62)));
					LA79_: ;
					if (!T78_) goto LA80_;
					headerStart = lookbehind;
				}
				LA80_: ;
				lookbehind -= ((NI) 1);
			} LA73: ;
		}
		indentation = ((NI) 1);
		{
			while (1) {
				if (!((NU8)((*g).buf[(NI)(lookbehind + indentation)]) == (NU8)(32))) goto LA83;
				indentation += ((NI) 1);
			} LA83: ;
		}
		{
			if (!(((NU8)((*g).buf[(NI)(lookbehind + indentation)])) == ((NU8)(124)) || ((NU8)((*g).buf[(NI)(lookbehind + indentation)])) == ((NU8)(62)))) goto LA86_;
			{
				while (1) {
					NIM_BOOL T90_;
					T90_ = (NIM_BOOL)0;
					T90_ = (((NI) 0) <= lookbehind);
					if (!(T90_)) goto LA91_;
					T90_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13)));
					LA91_: ;
					if (!T90_) goto LA89;
					lookbehind -= ((NI) 1);
					{
						while (1) {
							NIM_BOOL T94_;
							T94_ = (NIM_BOOL)0;
							T94_ = (((NI) 0) <= lookbehind);
							if (!(T94_)) goto LA95_;
							T94_ = (((NU8)((*g).buf[lookbehind])) == ((NU8)(32)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(9)));
							LA95_: ;
							if (!T94_) goto LA93;
							lookbehind -= ((NI) 1);
						} LA93: ;
					}
				} LA89: ;
			}
			{
				while (1) {
					NIM_BOOL T98_;
					T98_ = (NIM_BOOL)0;
					T98_ = (((NI) 0) <= lookbehind);
					if (!(T98_)) goto LA99_;
					T98_ = !((((NU8)((*g).buf[lookbehind])) == ((NU8)(10)) || ((NU8)((*g).buf[lookbehind])) == ((NU8)(13))));
					LA99_: ;
					if (!T98_) goto LA97;
					lookbehind -= ((NI) 1);
				} LA97: ;
			}
			indentation = ((NI) 1);
			{
				while (1) {
					if (!((NU8)((*g).buf[(NI)(lookbehind + indentation)]) == (NU8)(32))) goto LA101;
					indentation += ((NI) 1);
				} LA101: ;
			}
		}
		LA86_: ;
		{
			if (!(lookbehind == ((NI) -1))) goto LA104_;
			indentation = ((NI) 0);
		}
		goto LA102_;
		LA104_: ;
		{
			NIM_BOOL T107_;
			NIM_BOOL T108_;
			NIM_BOOL T109_;
			T107_ = (NIM_BOOL)0;
			T108_ = (NIM_BOOL)0;
			T109_ = (NIM_BOOL)0;
			T109_ = ((NU8)((*g).buf[(NI)(lookbehind + ((NI) 1))]) == (NU8)(45));
			if (!(T109_)) goto LA110_;
			T109_ = ((NU8)((*g).buf[(NI)(lookbehind + ((NI) 2))]) == (NU8)(45));
			LA110_: ;
			T108_ = T109_;
			if (!(T108_)) goto LA111_;
			T108_ = ((NU8)((*g).buf[(NI)(lookbehind + ((NI) 3))]) == (NU8)(45));
			LA111_: ;
			T107_ = T108_;
			if (!(T107_)) goto LA112_;
			T107_ = (((NU8)((*g).buf[(NI)(lookbehind + ((NI) 4))])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(lookbehind + ((NI) 4))])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(lookbehind + ((NI) 4))])) == ((NU8)(32)));
			LA112_: ;
			if (!T107_) goto LA113_;
			indentation = ((NI) 0);
		}
		goto LA102_;
		LA113_: ;
		LA102_: ;
		parentIndentation = (NI)(indentation - ((NI) 1));
		{
			while (1) {
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)))) goto LA116;
				{
					if (!((NU8)((*g).buf[pos]) == (NU8)(32))) goto LA119_;
					indentation += ((NI) 1);
				}
				goto LA117_;
				LA119_: ;
				{
					indentation = ((NI) 0);
				}
				LA117_: ;
				pos += ((NI) 1);
			} LA116: ;
		}
		minIndentation = indentation;
		{
			while (1) {
				if (!(((NU8)((*g).buf[headerStart])) == ((NU8)(62)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(124)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(43)) || ((NU8)((*g).buf[headerStart])) == ((NU8)(45)))) goto LA123;
				headerStart += ((NI) 1);
			} LA123: ;
		}
		{
			if (!(((NU8)((*g).buf[headerStart])) >= ((NU8)(48)) && ((NU8)((*g).buf[headerStart])) <= ((NU8)(57)))) goto LA126_;
			minIndentation = ((minIndentation <= (NI)(((NU8)((*g).buf[headerStart])) - ((NI) 48))) ? minIndentation : (NI)(((NU8)((*g).buf[headerStart])) - ((NI) 48)));
		}
		LA126_: ;
		{
			while (1) {
				NIM_BOOL T130_;
				T130_ = (NIM_BOOL)0;
				T130_ = (parentIndentation < indentation);
				if (!(T130_)) goto LA131_;
				T130_ = !(((NU8)((*g).buf[pos]) == (NU8)(0)));
				LA131_: ;
				if (!T130_) goto LA129;
				{
					NIM_BOOL T134_;
					NIM_BOOL T135_;
					NIM_BOOL T138_;
					NIM_BOOL T139_;
					NIM_BOOL T140_;
					NIM_BOOL T141_;
					T134_ = (NIM_BOOL)0;
					T135_ = (NIM_BOOL)0;
					T135_ = (indentation < minIndentation);
					if (!(T135_)) goto LA136_;
					T135_ = ((NU8)((*g).buf[pos]) == (NU8)(35));
					LA136_: ;
					T134_ = T135_;
					if (T134_) goto LA137_;
					T138_ = (NIM_BOOL)0;
					T139_ = (NIM_BOOL)0;
					T140_ = (NIM_BOOL)0;
					T141_ = (NIM_BOOL)0;
					T141_ = (indentation == ((NI) 0));
					if (!(T141_)) goto LA142_;
					T141_ = ((NU8)((*g).buf[pos]) == (NU8)(46));
					LA142_: ;
					T140_ = T141_;
					if (!(T140_)) goto LA143_;
					T140_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(46));
					LA143_: ;
					T139_ = T140_;
					if (!(T139_)) goto LA144_;
					T139_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(46));
					LA144_: ;
					T138_ = T139_;
					if (!(T138_)) goto LA145_;
					T138_ = (((NU8)((*g).buf[(NI)(pos + ((NI) 3))])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)(pos + ((NI) 3))])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(pos + ((NI) 3))])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(pos + ((NI) 3))])) == ((NU8)(32)));
					LA145_: ;
					T134_ = T138_;
					LA137_: ;
					if (!T134_) goto LA146_;
					goto LA128;
				}
				LA146_: ;
				minIndentation = ((indentation <= minIndentation) ? indentation : minIndentation);
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA149;
						pos += ((NI) 1);
					} LA149: ;
				}
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13)))) goto LA151;
						{
							if (!((NU8)((*g).buf[pos]) == (NU8)(32))) goto LA154_;
							indentation += ((NI) 1);
						}
						goto LA152_;
						LA154_: ;
						{
							indentation = ((NI) 0);
						}
						LA152_: ;
						pos += ((NI) 1);
					} LA151: ;
				}
			} LA129: ;
		} LA128: ;
		(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
	}
	goto LA1_;
	LA70_: ;
	{
		if (!((*g).state == ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32))) goto LA158_;
		switch (((NU8)((*g).buf[pos]))) {
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA162;
					pos += ((NI) 1);
				} LA162: ;
			}
		}
		break;
		case 35:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 16);
			pos += ((NI) 1);
			{
				while (1) {
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA165;
					pos += ((NI) 1);
				} LA165: ;
			}
		}
		break;
		case 45:
		{
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA169_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA167_;
			LA169_: ;
			{
				NIM_BOOL T172_;
				NIM_BOOL T174_;
				T172_ = (NIM_BOOL)0;
				T172_ = ((NU8)((*g).buf[pos]) == (NU8)(45));
				if (!(T172_)) goto LA173_;
				T174_ = (NIM_BOOL)0;
				T174_ = (pos == ((NI) 1));
				if (T174_) goto LA175_;
				T174_ = (((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(13)));
				LA175_: ;
				T172_ = T174_;
				LA173_: ;
				if (!T172_) goto LA176_;
				pos += ((NI) 1);
				{
					NIM_BOOL T180_;
					T180_ = (NIM_BOOL)0;
					T180_ = ((NU8)((*g).buf[pos]) == (NU8)(45));
					if (!(T180_)) goto LA181_;
					T180_ = (((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) == ((NU8)(0)) || ((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) >= ((NU8)(9)) && ((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) <= ((NU8)(13)) || ((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) == ((NU8)(32)));
					LA181_: ;
					if (!T180_) goto LA182_;
					pos += ((NI) 1);
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 9);
				}
				goto LA178_;
				LA182_: ;
				{
					yamlPossibleNumber__ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
				}
				LA178_: ;
			}
			goto LA167_;
			LA176_: ;
			{
				yamlPossibleNumber__ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
			}
			LA167_: ;
		}
		break;
		case 46:
		{
			{
				NIM_BOOL T189_;
				T189_ = (NIM_BOOL)0;
				T189_ = (pos == ((NI) 0));
				if (T189_) goto LA190_;
				T189_ = (((NU8)((*g).buf[(NI)(pos - ((NI) 1))])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 1))])) == ((NU8)(13)));
				LA190_: ;
				if (!T189_) goto LA191_;
				pos += ((NI) 1);
				{
					NI i_4;
					NI res_4;
					i_4 = (NI)0;
					res_4 = ((NI) 1);
					{
						while (1) {
							if (!(res_4 <= ((NI) 2))) goto LA195;
							i_4 = res_4;
							{
								if (!!(((NU8)((*g).buf[pos]) == (NU8)(46)))) goto LA198_;
								goto LA193;
							}
							LA198_: ;
							pos += ((NI) 1);
							res_4 += ((NI) 1);
						} LA195: ;
					}
				} LA193: ;
				{
					if (!(pos == (NI)((*g).start + ((NI) 3)))) goto LA202_;
					(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 9);
					(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
				}
				goto LA200_;
				LA202_: ;
				{
					yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
				}
				LA200_: ;
			}
			goto LA187_;
			LA191_: ;
			{
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA187_: ;
		}
		break;
		case 63:
		{
			pos += ((NI) 1);
			{
				if (!(((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA209_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA207_;
			LA209_: ;
			{
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA207_: ;
		}
		break;
		case 58:
		{
			pos += ((NI) 1);
			{
				NIM_BOOL T215_;
				NIM_BOOL T217_;
				T215_ = (NIM_BOOL)0;
				T215_ = (((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(39)) || ((NU8)((*g).buf[pos])) == ((NU8)(34)));
				if (T215_) goto LA216_;
				T217_ = (NIM_BOOL)0;
				T217_ = (((NI) 0) < pos);
				if (!(T217_)) goto LA218_;
				T217_ = (((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(125)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(93)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(34)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 2))])) == ((NU8)(39)));
				LA218_: ;
				T215_ = T217_;
				LA216_: ;
				if (!T215_) goto LA219_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
			}
			goto LA213_;
			LA219_: ;
			{
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA213_: ;
		}
		break;
		case 91:
		case 93:
		case 123:
		case 125:
		case 44:
		{
			pos += ((NI) 1);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 15);
		}
		break;
		case 34:
		{
			pos += ((NI) 1);
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 10);
		}
		break;
		case 39:
		{
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 12);
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
		}
		break;
		case 33:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 19);
			pos += ((NI) 1);
			{
				if (!((NU8)((*g).buf[pos]) == (NU8)(60))) goto LA228_;
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(62)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA231;
						pos += ((NI) 1);
					} LA231: ;
				}
				{
					if (!((NU8)((*g).buf[pos]) == (NU8)(62))) goto LA234_;
					pos += ((NI) 1);
				}
				LA234_: ;
			}
			goto LA226_;
			LA228_: ;
			{
				{
					while (1) {
						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(65)) && ((NU8)((*g).buf[pos])) <= ((NU8)(90)) || ((NU8)((*g).buf[pos])) >= ((NU8)(97)) && ((NU8)((*g).buf[pos])) <= ((NU8)(122)) || ((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA238;
						pos += ((NI) 1);
					} LA238: ;
				}
				switch (((NU8)((*g).buf[pos]))) {
				case 33:
				{
					pos += ((NI) 1);
					{
						while (1) {
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) == ((NU8)(44)) || ((NU8)((*g).buf[pos])) == ((NU8)(91)) || ((NU8)((*g).buf[pos])) == ((NU8)(93)) || ((NU8)((*g).buf[pos])) == ((NU8)(123)) || ((NU8)((*g).buf[pos])) == ((NU8)(125))))) goto LA241;
							pos += ((NI) 1);
						} LA241: ;
					}
				}
				break;
				case 0:
				case 9 ... 13:
				case 32:
				{
				}
				break;
				default:
				{
					{
						while (1) {
							if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA245;
							pos += ((NI) 1);
						} LA245: ;
					}
				}
				break;
				}
			}
			LA226_: ;
		}
		break;
		case 38:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 30);
			{
				while (1) {
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA248;
					pos += ((NI) 1);
				} LA248: ;
			}
		}
		break;
		case 42:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 31);
			{
				while (1) {
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)) || ((NU8)((*g).buf[pos])) == ((NU8)(32))))) goto LA251;
					pos += ((NI) 1);
				} LA251: ;
			}
		}
		break;
		case 124:
		case 62:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 27);
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 27);
			pos += ((NI) 1);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)) || ((NU8)((*g).buf[pos])) == ((NU8)(43)) || ((NU8)((*g).buf[pos])) == ((NU8)(45)))) goto LA254;
					pos += ((NI) 1);
				} LA254: ;
			}
		}
		break;
		case 48 ... 57:
		{
			yamlPossibleNumber__ttGpPUa5Kch9bqZf8mE4Niw(g, (&pos));
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
		}
		break;
		}
	}
	goto LA1_;
	LA158_: ;
	{
		switch (((NU8)((*g).buf[pos]))) {
		case 37:
		{
			{
				NIM_BOOL T262_;
				T262_ = (NIM_BOOL)0;
				T262_ = (pos == ((NI) 0));
				if (T262_) goto LA263_;
				T262_ = (((NU8)((*g).buf[(NI)(pos - ((NI) 1))])) == ((NU8)(10)) || ((NU8)((*g).buf[(NI)(pos - ((NI) 1))])) == ((NU8)(13)));
				LA263_: ;
				if (!T262_) goto LA264_;
				(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 26);
				{
					while (1) {
						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA267;
						pos += ((NI) 1);
					} LA267: ;
				}
			}
			goto LA260_;
			LA264_: ;
			{
				(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
				yamlPlainStrLit__ttGpPUa5Kch9bqZf8mE4Niw_2(g, (&pos));
			}
			LA260_: ;
		}
		break;
		case 32:
		case 9 ... 13:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 2);
			{
				while (1) {
					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA271;
					pos += ((NI) 1);
				} LA271: ;
			}
		}
		break;
		case 35:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 16);
			{
				while (1) {
					if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA274;
					pos += ((NI) 1);
				} LA274: ;
			}
		}
		break;
		case 0:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 0);
		}
		break;
		default:
		{
			(*g).kind = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 1);
			(*g).state = ((tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw) 32);
		}
		break;
		}
	}
	LA1_: ;
	(*g).length = (NI)(pos - (*g).pos);
	(*g).pos = pos;
}
N_LIB_PRIVATE N_NIMCALL(void, getNextToken__9axtJQpZ5U9aGuyq519c9axprw)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g, tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ lang) {
	switch (lang) {
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 0):
	{
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 1):
	{
		nimNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ(g);
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 2):
	{
		cppNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_2(g);
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 3):
	{
		csharpNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_3(g);
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 4):
	{
		cNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_4(g);
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 5):
	{
		javaNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_5(g);
	}
	break;
	case ((tyEnum_SourceLanguage__LpbEPkKqvJ0VCa4hwZcOBQ) 6):
	{
		yamlNextToken__9a3JlWX9cxQaYCTvq9c0xqGpQ_6(g);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, deinitGeneralTokenizer__9a3JlWX9cxQaYCTvq9c0xqGpQ_7)(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA* g) {
}
N_LIB_PRIVATE N_NIMCALL(void, docutils_highliteDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[6];
static TNimNode* TM__fRGlRrO1fEGjCBV7qCKpgg_10_33[33];
NI TM__fRGlRrO1fEGjCBV7qCKpgg_12;
static char* NIM_CONST TM__fRGlRrO1fEGjCBV7qCKpgg_11[33] = {
"gtEof", 
"gtNone", 
"gtWhitespace", 
"gtDecNumber", 
"gtBinNumber", 
"gtHexNumber", 
"gtOctNumber", 
"gtFloatNumber", 
"gtIdentifier", 
"gtKeyword", 
"gtStringLit", 
"gtLongStringLit", 
"gtCharLit", 
"gtEscapeSequence", 
"gtOperator", 
"gtPunctuation", 
"gtComment", 
"gtLongComment", 
"gtRegularExpression", 
"gtTagStart", 
"gtTagEnd", 
"gtKey", 
"gtValue", 
"gtRawData", 
"gtAssembler", 
"gtPreprocessor", 
"gtDirective", 
"gtCommand", 
"gtRule", 
"gtHyperlink", 
"gtLabel", 
"gtReference", 
"gtOther"};
static TNimNode TM__fRGlRrO1fEGjCBV7qCKpgg_0[41];

/* section: NIM_merge_TYPE_INIT3 */
NTI__XJrmQSLLjVmugZQb54lVWA_.size = sizeof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA);
NTI__XJrmQSLLjVmugZQb54lVWA_.align = NIM_ALIGNOF(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA);
NTI__XJrmQSLLjVmugZQb54lVWA_.kind = 17;
NTI__XJrmQSLLjVmugZQb54lVWA_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
NTI__XJrmQSLLjVmugZQb54lVWA_.flags = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[0] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[1];
NTI__UcAPDGzMlzghdb9c8MB7mEw_.size = sizeof(tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw);
NTI__UcAPDGzMlzghdb9c8MB7mEw_.align = NIM_ALIGNOF(tyEnum_TokenClass__UcAPDGzMlzghdb9c8MB7mEw);
NTI__UcAPDGzMlzghdb9c8MB7mEw_.kind = 14;
NTI__UcAPDGzMlzghdb9c8MB7mEw_.base = 0;
NTI__UcAPDGzMlzghdb9c8MB7mEw_.flags = 3;
for (TM__fRGlRrO1fEGjCBV7qCKpgg_12 = 0; TM__fRGlRrO1fEGjCBV7qCKpgg_12 < 33; TM__fRGlRrO1fEGjCBV7qCKpgg_12++) {
TM__fRGlRrO1fEGjCBV7qCKpgg_0[TM__fRGlRrO1fEGjCBV7qCKpgg_12+2].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[TM__fRGlRrO1fEGjCBV7qCKpgg_12+2].offset = TM__fRGlRrO1fEGjCBV7qCKpgg_12;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[TM__fRGlRrO1fEGjCBV7qCKpgg_12+2].name = TM__fRGlRrO1fEGjCBV7qCKpgg_11[TM__fRGlRrO1fEGjCBV7qCKpgg_12];
TM__fRGlRrO1fEGjCBV7qCKpgg_10_33[TM__fRGlRrO1fEGjCBV7qCKpgg_12] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[TM__fRGlRrO1fEGjCBV7qCKpgg_12+2];
}
TM__fRGlRrO1fEGjCBV7qCKpgg_0[35].len = 33; TM__fRGlRrO1fEGjCBV7qCKpgg_0[35].kind = 2; TM__fRGlRrO1fEGjCBV7qCKpgg_0[35].sons = &TM__fRGlRrO1fEGjCBV7qCKpgg_10_33[0];
NTI__UcAPDGzMlzghdb9c8MB7mEw_.node = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[35];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[1].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[1].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, kind);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[1].typ = (&NTI__UcAPDGzMlzghdb9c8MB7mEw_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[1].name = "kind";
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[1] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[36];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[36].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[36].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, start);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[36].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[36].name = "start";
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[2] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[37];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[37].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[37].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, length);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[37].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[37].name = "length";
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[3] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[38];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[38].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[38].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, buf);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[38].typ = (&NTI__S9agCYBinaYZnGWcjTdxclg_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[38].name = "buf";
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[4] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[39];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[39].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[39].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, pos);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[39].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[39].name = "pos";
TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[5] = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[40];
TM__fRGlRrO1fEGjCBV7qCKpgg_0[40].kind = 1;
TM__fRGlRrO1fEGjCBV7qCKpgg_0[40].offset = offsetof(tyObject_GeneralTokenizer__XJrmQSLLjVmugZQb54lVWA, state);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[40].typ = (&NTI__UcAPDGzMlzghdb9c8MB7mEw_);
TM__fRGlRrO1fEGjCBV7qCKpgg_0[40].name = "state";
TM__fRGlRrO1fEGjCBV7qCKpgg_0[0].len = 6; TM__fRGlRrO1fEGjCBV7qCKpgg_0[0].kind = 2; TM__fRGlRrO1fEGjCBV7qCKpgg_0[0].sons = &TM__fRGlRrO1fEGjCBV7qCKpgg_9_6[0];
NTI__XJrmQSLLjVmugZQb54lVWA_.node = &TM__fRGlRrO1fEGjCBV7qCKpgg_0[0];
}

