text: /* Generated by Nim Compiler v1.6.2 */
  #define NIM_INTBITS 64
  #define NIM_EmulateOverflowChecks
  
  #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
  #define nimfr_(x, y)
  #define nimln_(x, y)
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ;
  typedef struct RootObj RootObj;
  typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
  typedef struct tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg;
  typedef NU8 tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g;
  struct TGenericSeq {
  NI len;
  NI reserved;
  };
  struct NimStringDesc {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  typedef NimStringDesc* tyArray__ygbKUFq19aoG3rnUmyV9bLVw[10];
  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__9anxN1z0YaJHlUGz4GuizCA;
  struct tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ {
    RootObj Sup;
  tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA kind;
  NI start;
  NI length;
  NCSTRING buf;
  NI pos;
  tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA state;
  tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g lang;
  };
  typedef NimStringDesc* tyArray__69aRiN1hTPxpIUrdnUY5lOQ[66];
  typedef struct {
  N_NIMCALL_PTR(NI, ClP_0) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
  void* ClE_0;
  } tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA;
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_87) (NimStringDesc* x, NimStringDesc* y);
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_88) (NimStringDesc* x, NimStringDesc* y);
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_89) (NimStringDesc* x, NimStringDesc* y);
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_90) (NimStringDesc* x, NimStringDesc* y);
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_91) (NimStringDesc* x, NimStringDesc* y);
  typedef N_CLOSURE_PTR(NI, TM__0kVEnxqJYMmsZjjZ9a1FeBw_92) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
  typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
  typedef NU8 tySet_tyEnum_TokenizerFlag__R8swax9cABEhNWTz9cyL9cDXQ;
  typedef NU8 tyEnum_TokenizerFlag__R8swax9cABEhNWTz9cyL9cDXQ;
  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__M7z4UkYXfTY9a5OezAHtApg[35];
  typedef NimStringDesc* tyArray__xIcDBR8ZFHSuvPCVnP2swA[37];
  struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
    TGenericSeq Sup;
    NimStringDesc* data[SEQ_DECL_SIZE];
  };
  N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
  N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__packagesZdocutilsZhighlite_133)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NCSTRING buf);
  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
  N_LIB_PRIVATE N_NIMCALL(void, nimNextToken__packagesZdocutilsZhighlite_355)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NimStringDesc** keywords, NI keywordsLen_0);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA, nimGetKeyword__packagesZdocutilsZhighlite_171)(NimStringDesc* id);
  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
  N_LIB_PRIVATE N_NIMCALL(NI, isKeyword__packagesZdocutilsZhighlite_309)(NimStringDesc** x, NI xLen_0, NimStringDesc* y);
  N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_313)(NimStringDesc** a, NI aLen_0, NimStringDesc* key);
  N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_324)(NimStringDesc** a, NI aLen_0, NimStringDesc* key, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp);
  N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1796)(NimStringDesc* x, NimStringDesc* y);
  static N_INLINE(void, nimZeroMem)(void* p, NI size);
  static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
  N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix__packagesZdocutilsZhighlite_209)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position);
  N_LIB_PRIVATE N_NIMCALL(NI, nimNumber__packagesZdocutilsZhighlite_258)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position);
  N_LIB_PRIVATE N_NIMCALL(void, cppNextToken__packagesZdocutilsZhighlite_1035)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, clikeNextToken__packagesZdocutilsZhighlite_760)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag__R8swax9cABEhNWTz9cyL9cDXQ flags);
  N_LIB_PRIVATE N_NIMCALL(NI, generalNumber__packagesZdocutilsZhighlite_647)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position);
  N_LIB_PRIVATE N_NIMCALL(NI, generalStrLit__packagesZdocutilsZhighlite_697)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position);
  N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken__packagesZdocutilsZhighlite_1047)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, cNextToken__packagesZdocutilsZhighlite_1023)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, javaNextToken__packagesZdocutilsZhighlite_1059)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken__packagesZdocutilsZhighlite_1198)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, yamlPossibleNumber__packagesZdocutilsZhighlite_1086)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI* pos);
  static N_INLINE(NIM_BOOL, contains__int495056_710)(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg s, NIM_CHAR value);
  static N_INLINE(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg, dotdot___int495056_689)(NIM_CHAR a, NIM_CHAR b);
  N_LIB_PRIVATE N_NIMCALL(void, yamlPlainStrLit__packagesZdocutilsZhighlite_1071)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI* pos);
  N_LIB_PRIVATE N_NIMCALL(void, pythonNextToken__packagesZdocutilsZhighlite_1639)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g);
  N_LIB_PRIVATE N_NIMCALL(void, cmdNextToken__packagesZdocutilsZhighlite_1651)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NIM_BOOL dollarPrompt);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_2, "none", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_3, "Nim", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_4, "C++", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_5, "C#", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_6, "C", 1);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_7, "Java", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_8, "Yaml", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_9, "Python", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_10, "Cmd", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_11, "Console", 7);
  N_LIB_PRIVATE NIM_CONST tyArray__ygbKUFq19aoG3rnUmyV9bLVw sourceLanguageToStr__packagesZdocutilsZhighlite_66 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_2),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_3),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_4),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_5),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_6),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_7),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_8),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_9),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_10),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_11)}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_12, "cpp", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_13, "csharp", 6);
  N_LIB_PRIVATE NIM_CONST tyArray__ygbKUFq19aoG3rnUmyV9bLVw sourceLanguageToAlpha__packagesZdocutilsZhighlite_67 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_2),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_3),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_12),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_13),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_6),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_7),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_8),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_9),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_10),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_11)}
  ;
  extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
  N_LIB_PRIVATE TNimType NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_;
  N_LIB_PRIVATE TNimType NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_;
  extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
  extern TNimType NTIcstring__S9agCYBinaYZnGWcjTdxclg_;
  N_LIB_PRIVATE TNimType NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_21, "addr", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_22, "and", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_23, "as", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_24, "asm", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_25, "bind", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_26, "block", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_27, "break", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_28, "case", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_29, "cast", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_30, "concept", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_31, "const", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_32, "continue", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_33, "converter", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_34, "defer", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_35, "discard", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_36, "distinct", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_37, "div", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_38, "do", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_39, "elif", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_40, "else", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_41, "end", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_42, "enum", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_43, "except", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_44, "export", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_45, "finally", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_46, "for", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_47, "from", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_48, "func", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_49, "if", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_50, "import", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_51, "in", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_52, "include", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_53, "interface", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_54, "is", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_55, "isnot", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_56, "iterator", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_57, "let", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_58, "macro", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_59, "method", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_60, "mixin", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_61, "mod", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_62, "nil", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_63, "not", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_64, "notin", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_65, "object", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_66, "of", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_67, "or", 2);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_68, "out", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_69, "proc", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_70, "ptr", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_71, "raise", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_72, "ref", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_73, "return", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_74, "shl", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_75, "shr", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_76, "static", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_77, "template", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_78, "try", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_79, "tuple", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_80, "type", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_81, "using", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_82, "var", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_83, "when", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_84, "while", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_85, "xor", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_86, "yield", 5);
  N_LIB_PRIVATE NIM_CONST tyArray__69aRiN1hTPxpIUrdnUY5lOQ nimKeywords__packagesZdocutilsZhighlite_69 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_21),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_22),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_23),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_24),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_25),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_26),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_28),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_29),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_30),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_31),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_33),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_34),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_35),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_36),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_37),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_38),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_39),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_41),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_42),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_43),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_44),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_45),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_47),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_48),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_50),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_51),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_52),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_53),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_54),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_55),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_56),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_57),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_58),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_59),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_60),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_61),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_62),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_63),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_64),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_65),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_66),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_67),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_68),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_69),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_70),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_71),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_72),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_74),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_75),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_76),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_77),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_78),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_79),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_80),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_81),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_82),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_83),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_85),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_86)}
  ;
  static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__0kVEnxqJYMmsZjjZ9a1FeBw_93 = {
  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__0kVEnxqJYMmsZjjZ9a1FeBw_94, "auto", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_95, "catch", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_96, "char", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_97, "class", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_98, "default", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_99, "delete", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_100, "double", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_101, "extern", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_102, "float", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_103, "friend", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_104, "goto", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_105, "inline", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_106, "int", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_107, "long", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_108, "new", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_109, "operator", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_110, "private", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_111, "protected", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_112, "public", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_113, "register", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_114, "short", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_115, "signed", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_116, "sizeof", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_117, "struct", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_118, "switch", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_119, "this", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_120, "throw", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_121, "typedef", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_122, "union", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_123, "unsigned", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_124, "virtual", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_125, "void", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_126, "volatile", 8);
  N_LIB_PRIVATE NIM_CONST tyArray__DcKV5FQ2MxTR9bAYNreBB4Q keywords__packagesZdocutilsZhighlite_1037 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_24),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_94),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_28),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_95),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_96),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_97),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_31),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_98),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_99),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_38),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_100),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_42),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_101),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_102),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_103),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_104),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_105),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_106),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_107),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_108),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_109),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_110),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_111),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_112),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_113),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_114),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_115),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_116),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_76),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_117),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_118),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_77),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_119),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_120),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_78),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_121),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_122),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_123),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_124),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_125),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_126),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84)}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_127, "abstract", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_128, "base", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_129, "bool", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_130, "byte", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_131, "checked", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_132, "decimal", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_133, "delegate", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_134, "event", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_135, "explicit", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_136, "false", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_137, "fixed", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_138, "foreach", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_139, "implicit", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_140, "internal", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_141, "lock", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_142, "namespace", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_143, "null", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_144, "override", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_145, "params", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_146, "readonly", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_147, "sbyte", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_148, "sealed", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_149, "stackalloc", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_150, "string", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_151, "true", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_152, "typeof", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_153, "uint", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_154, "ulong", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_155, "unchecked", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_156, "unsafe", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_157, "ushort", 6);
  N_LIB_PRIVATE NIM_CONST tyArray__OwCxYRmtgMKzqrKp2A6M8Q keywords__packagesZdocutilsZhighlite_1049 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_127),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_23),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_128),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_129),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_130),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_28),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_95),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_96),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_131),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_97),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_31),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_132),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_98),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_133),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_38),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_100),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_42),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_134),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_135),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_101),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_136),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_45),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_137),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_102),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_138),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_104),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_139),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_51),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_106),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_53),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_140),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_54),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_141),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_107),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_142),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_108),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_143),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_65),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_109),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_68),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_144),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_145),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_110),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_111),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_112),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_146),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_72),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_147),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_148),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_114),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_116),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_149),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_76),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_150),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_117),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_118),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_119),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_120),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_151),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_78),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_152),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_153),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_154),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_155),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_156),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_157),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_81),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_124),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_125),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_126),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84)}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_158, "_Bool", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_159, "_Complex", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_160, "_Imaginary", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_161, "restrict", 8);
  N_LIB_PRIVATE NIM_CONST tyArray__Mn6yIkpRDoQkgQ9aOesXlyg keywords__packagesZdocutilsZhighlite_1025 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_158),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_159),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_160),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_94),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_28),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_96),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_31),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_98),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_38),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_100),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_42),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_101),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_102),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_104),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_105),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_106),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_107),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_113),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_161),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_114),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_115),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_116),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_76),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_117),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_118),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_121),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_122),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_123),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_125),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_126),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84)}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_162, "assert", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_163, "boolean", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_164, "extends", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_165, "final", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_166, "implements", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_167, "instanceof", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_168, "native", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_169, "package", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_170, "strictfp", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_171, "super", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_172, "synchronized", 12);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_173, "throws", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_174, "transient", 9);
  N_LIB_PRIVATE NIM_CONST tyArray__kpoXEkaxs1Wz00XTehsEvg keywords__packagesZdocutilsZhighlite_1061 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_127),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_162),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_163),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_130),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_28),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_95),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_96),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_97),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_31),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_98),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_38),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_100),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_42),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_164),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_136),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_165),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_45),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_102),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_104),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_166),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_50),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_167),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_106),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_53),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_107),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_168),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_108),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_143),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_169),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_110),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_111),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_112),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_114),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_76),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_170),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_171),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_118),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_172),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_119),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_120),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_173),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_174),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_151),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_78),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_125),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_126),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84)}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_175, "False", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_176, "None", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_177, "True", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_178, "async", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_179, "await", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_180, "def", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_181, "del", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_182, "global", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_183, "lambda", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_184, "nonlocal", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_185, "pass", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_186, "with", 4);
  N_LIB_PRIVATE NIM_CONST tyArray__M7z4UkYXfTY9a5OezAHtApg keywords__packagesZdocutilsZhighlite_1641 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_175),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_176),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_177),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_22),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_23),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_162),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_178),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_179),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_27),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_97),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_32),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_180),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_181),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_39),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_40),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_43),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_45),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_46),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_47),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_182),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_49),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_50),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_51),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_54),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_183),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_184),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_63),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_67),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_185),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_71),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_73),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_78),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_84),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_186),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_86)}
  ;
  static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__0kVEnxqJYMmsZjjZ9a1FeBw_187 = {
  0x01, 0x3e, 0x00, 0x00, 0xc5, 0x03, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
  ;
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_188, "Eof", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_189, "Whitespace", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_190, "DecNumber", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_191, "BinNumber", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_192, "HexNumber", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_193, "OctNumber", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_194, "FloatNumber", 11);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_195, "Identifier", 10);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_196, "Keyword", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_197, "StringLit", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_198, "LongStringLit", 13);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_199, "CharLit", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_200, "EscapeSequence", 14);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_201, "Operator", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_202, "Punctuation", 11);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_203, "Comment", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_204, "LongComment", 11);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_205, "RegularExpression", 17);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_206, "TagStart", 8);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_207, "TagEnd", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_208, "Key", 3);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_209, "Value", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_210, "RawData", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_211, "Assembler", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_212, "Preprocessor", 12);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_213, "Directive", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_214, "Command", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_215, "Rule", 4);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_216, "Hyperlink", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_217, "Label", 5);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_218, "Reference", 9);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_219, "Prompt", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_220, "ProgramOutput", 13);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_221, "program", 7);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_222, "option", 6);
  STRING_LITERAL(TM__0kVEnxqJYMmsZjjZ9a1FeBw_223, "Other", 5);
  N_LIB_PRIVATE NIM_CONST tyArray__xIcDBR8ZFHSuvPCVnP2swA tokenClassToStr__packagesZdocutilsZhighlite_68 = {((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_188),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_176),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_189),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_190),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_191),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_192),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_193),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_194),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_195),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_196),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_197),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_198),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_199),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_200),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_201),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_202),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_203),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_204),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_205),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_206),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_207),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_208),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_209),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_210),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_211),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_212),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_213),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_214),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_215),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_216),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_217),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_218),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_219),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_220),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_221),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_222),
  ((NimStringDesc*) &TM__0kVEnxqJYMmsZjjZ9a1FeBw_223)}
  ;
  N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g, getSourceLanguage__packagesZdocutilsZhighlite_97)(NimStringDesc* name) {
  	tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g result;
  {	result = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
  	{
  		tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g i;
  		NI res;
  		i = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
  		res = ((NI) 1);
  		{
  			while (1) {
  				if (!(res <= ((NI) 9))) goto LA3;
  				i = ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) (res));
  				{
  					NI T6_;
  					T6_ = (NI)0;
  					T6_ = nsuCmpIgnoreStyle(name, sourceLanguageToStr__packagesZdocutilsZhighlite_66[(i)- 0]);
  					if (!(T6_ == ((NI) 0))) goto LA7_;
  					result = i;
  					goto BeforeRet_;
  				}
  				LA7_: ;
  				{
  					NI T11_;
  					T11_ = (NI)0;
  					T11_ = nsuCmpIgnoreStyle(name, sourceLanguageToAlpha__packagesZdocutilsZhighlite_67[(i)- 0]);
  					if (!(T11_ == ((NI) 0))) goto LA12_;
  					result = i;
  					goto BeforeRet_;
  				}
  				LA12_: ;
  				res += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	result = ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0);
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer__packagesZdocutilsZhighlite_133)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NCSTRING buf) {
  	NI pos;
  	(*g).buf = buf;
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  	(*g).start = ((NI) 0);
  	(*g).length = ((NI) 0);
  	(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  	(*g).lang = ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 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__packagesZdocutilsZhighlite_166)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NimStringDesc* buf) {
  	initGeneralTokenizer__packagesZdocutilsZhighlite_133(g, nimToCStringConv(buf));
  }
  N_LIB_PRIVATE N_NIMCALL(tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA, nimGetKeyword__packagesZdocutilsZhighlite_171)(NimStringDesc* id) {
  	tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA result;
  {	result = (tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA)0;
  	{
  		NimStringDesc* k;
  		NI i;
  		k = NIM_NIL;
  		i = ((NI) 0);
  		{
  			while (1) {
  				k = copyString(nimKeywords__packagesZdocutilsZhighlite_69[(i)- 0]);
  				{
  					NI T6_;
  					T6_ = (NI)0;
  					T6_ = nsuCmpIgnoreStyle(id, k);
  					if (!(T6_ == ((NI) 0))) goto LA7_;
  					result = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 9);
  					goto BeforeRet_;
  				}
  				LA7_: ;
  				{
  					if (!(((NI) 65) <= ((NI) (i)))) goto LA11_;
  					goto LA2;
  				}
  				LA11_: ;
  				i += ((NI) 1);
  			}
  		} LA2: ;
  	}
  	result = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 8);
  	}BeforeRet_: ;
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_324)(NimStringDesc** a, NI aLen_0, NimStringDesc* key, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp) {
  	NI result;
  	NI len;
  {	result = (NI)0;
  	len = aLen_0;
  	{
  		if (!(len == ((NI) 0))) goto LA3_;
  		result = ((NI) -1);
  		goto BeforeRet_;
  	}
  	LA3_: ;
  	{
  		if (!(len == ((NI) 1))) goto LA7_;
  		{
  			NI T11_;
  			T11_ = (NI)0;
  			T11_ = cmp.ClE_0? cmp.ClP_0(a[((NI) 0)], key, cmp.ClE_0):((TM__0kVEnxqJYMmsZjjZ9a1FeBw_87)(cmp.ClP_0))(a[((NI) 0)], key);
  			if (!(T11_ == ((NI) 0))) goto LA12_;
  			result = ((NI) 0);
  			goto BeforeRet_;
  		}
  		goto LA9_;
  		LA12_: ;
  		{
  			result = ((NI) -1);
  			goto BeforeRet_;
  		}
  		LA9_: ;
  	}
  	LA7_: ;
  	result = ((NI) 0);
  	{
  		NI step;
  		NI cmpRes;
  		if (!((NI)(len & (NI)(len - ((NI) 1))) == ((NI) 0))) goto LA17_;
  		step = (NI)((NI64)(len) >> (NU64)(((NI) 1)));
  		cmpRes = (NI)0;
  		{
  			while (1) {
  				NI i;
  				if (!(((NI) 0) < step)) goto LA20;
  				i = (NI)(result | step);
  				cmpRes = cmp.ClE_0? cmp.ClP_0(a[i], key, cmp.ClE_0):((TM__0kVEnxqJYMmsZjjZ9a1FeBw_88)(cmp.ClP_0))(a[i], key);
  				{
  					if (!(cmpRes == ((NI) 0))) goto LA23_;
  					result = i;
  					goto BeforeRet_;
  				}
  				LA23_: ;
  				{
  					if (!(cmpRes < ((NI) 0))) goto LA27_;
  					result = i;
  				}
  				LA27_: ;
  				step = (NI)((NI64)(step) >> (NU64)(((NI) 1)));
  			} LA20: ;
  		}
  		{
  			NI T31_;
  			T31_ = (NI)0;
  			T31_ = cmp.ClE_0? cmp.ClP_0(a[result], key, cmp.ClE_0):((TM__0kVEnxqJYMmsZjjZ9a1FeBw_89)(cmp.ClP_0))(a[result], key);
  			if (!!((T31_ == ((NI) 0)))) goto LA32_;
  			result = ((NI) -1);
  		}
  		LA32_: ;
  	}
  	goto LA15_;
  	LA17_: ;
  	{
  		NI b;
  		NI cmpRes_2;
  		b = len;
  		cmpRes_2 = (NI)0;
  		{
  			while (1) {
  				NI mid;
  				if (!(result < b)) goto LA36;
  				mid = (NI)((NI64)((NI)(result + b)) >> (NU64)(((NI) 1)));
  				cmpRes_2 = cmp.ClE_0? cmp.ClP_0(a[mid], key, cmp.ClE_0):((TM__0kVEnxqJYMmsZjjZ9a1FeBw_90)(cmp.ClP_0))(a[mid], key);
  				{
  					if (!(cmpRes_2 == ((NI) 0))) goto LA39_;
  					result = mid;
  					goto BeforeRet_;
  				}
  				LA39_: ;
  				{
  					if (!(cmpRes_2 < ((NI) 0))) goto LA43_;
  					result = (NI)(mid + ((NI) 1));
  				}
  				goto LA41_;
  				LA43_: ;
  				{
  					b = mid;
  				}
  				LA41_: ;
  			} LA36: ;
  		}
  		{
  			NIM_BOOL T48_;
  			NI T50_;
  			T48_ = (NIM_BOOL)0;
  			T48_ = (len <= result);
  			if (T48_) goto LA49_;
  			T50_ = (NI)0;
  			T50_ = cmp.ClE_0? cmp.ClP_0(a[result], key, cmp.ClE_0):((TM__0kVEnxqJYMmsZjjZ9a1FeBw_91)(cmp.ClP_0))(a[result], key);
  			T48_ = !((T50_ == ((NI) 0)));
  			LA49_: ;
  			if (!T48_) goto LA51_;
  			result = ((NI) -1);
  		}
  		LA51_: ;
  	}
  	LA15_: ;
  	}BeforeRet_: ;
  	return result;
  }
  static N_INLINE(void, nimSetMem__systemZmemory_7)(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__systemZmemory_7(p, ((int) 0), size);
  }
  N_LIB_PRIVATE N_NIMCALL(NI, binarySearch__packagesZdocutilsZhighlite_313)(NimStringDesc** a, NI aLen_0, NimStringDesc* key) {
  	NI result;
  	tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA T1_;
  	result = (NI)0;
  	nimZeroMem((void*)(&T1_), sizeof(tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA));
  	T1_.ClP_0 = ((TM__0kVEnxqJYMmsZjjZ9a1FeBw_92) (cmp__sem_1796)); T1_.ClE_0 = NIM_NIL;
  	result = binarySearch__packagesZdocutilsZhighlite_324(a, aLen_0, key, T1_);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, isKeyword__packagesZdocutilsZhighlite_309)(NimStringDesc** x, NI xLen_0, NimStringDesc* y) {
  	NI result;
  	result = (NI)0;
  	result = binarySearch__packagesZdocutilsZhighlite_313(x, xLen_0, y);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, nimNumberPostfix__packagesZdocutilsZhighlite_209)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* 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__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_258)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position) {
  	NI result;
  	NI pos;
  	result = (NI)0;
  	pos = position;
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_209(g, pos);
  	return result;
  }
  N_LIB_PRIVATE N_NIMCALL(void, nimNextToken__packagesZdocutilsZhighlite_355)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NimStringDesc** keywords, NI keywordsLen_0) {
  	NI pos;
  	pos = (*g).pos;
  	(*g).start = (*g).pos;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10))) goto LA3_;
  		{
  			if (!((NU8)((*g).buf[pos]) == (NU8)(92))) goto LA7_;
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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 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)) || ((NU8)((*g).buf[pos])) == ((NU8)(95)))) goto LA16_;
  					pos += ((NI) 1);
  				}
  				LA16_: ;
  			}
  			break;
  			case 48 ... 57:
  			{
  				{
  					while (1) {
  						if (!(((NU8)((*g).buf[pos])) >= ((NU8)(48)) && ((NU8)((*g).buf[pos])) <= ((NU8)(57)))) goto LA20;
  						pos += ((NI) 1);
  					} LA20: ;
  				}
  			}
  			break;
  			case 0:
  			{
  				(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  			}
  			break;
  			default:
  			{
  				pos += ((NI) 1);
  			}
  			break;
  			}
  		}
  		goto LA5_;
  		LA7_: ;
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  			{
  				while (1) {
  					switch (((NU8)((*g).buf[pos]))) {
  					case 92:
  					{
  						goto LA24;
  					}
  					break;
  					case 0:
  					case 13:
  					case 10:
  					{
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  						goto LA24;
  					}
  					break;
  					case 34:
  					{
  						pos += ((NI) 1);
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  						goto LA24;
  					}
  					break;
  					default:
  					{
  						pos += ((NI) 1);
  					}
  					break;
  					}
  				}
  			} LA24: ;
  		}
  		LA5_: ;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		switch (((NU8)((*g).buf[pos]))) {
  		case 32:
  		case 9 ... 13:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 2);
  			{
  				while (1) {
  					if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA33;
  					pos += ((NI) 1);
  				} LA33: ;
  			}
  		}
  		break;
  		case 35:
  		{
  			NIM_BOOL isDoc;
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 16);
  			pos += ((NI) 1);
  			isDoc = NIM_FALSE;
  			{
  				if (!((NU8)((*g).buf[pos]) == (NU8)(35))) goto LA37_;
  				pos += ((NI) 1);
  				isDoc = NIM_TRUE;
  			}
  			LA37_: ;
  			{
  				NIM_BOOL T41_;
  				NI nesting;
  				T41_ = (NIM_BOOL)0;
  				T41_ = ((NU8)((*g).buf[pos]) == (NU8)(91));
  				if (!(T41_)) goto LA42_;
  				T41_ = ((*g).lang == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 1));
  				LA42_: ;
  				if (!T41_) goto LA43_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 17);
  				nesting = ((NI) 0);
  				{
  					while (1) {
  						switch (((NU8)((*g).buf[pos]))) {
  						case 0:
  						{
  							goto LA45;
  						}
  						break;
  						case 35:
  						{
  							{
  								if (!isDoc) goto LA51_;
  								{
  									NIM_BOOL T55_;
  									T55_ = (NIM_BOOL)0;
  									T55_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
  									if (!(T55_)) goto LA56_;
  									T55_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(91));
  									LA56_: ;
  									if (!T55_) goto LA57_;
  									nesting += ((NI) 1);
  								}
  								LA57_: ;
  							}
  							goto LA49_;
  							LA51_: ;
  							{
  								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(91))) goto LA60_;
  								nesting += ((NI) 1);
  							}
  							goto LA49_;
  							LA60_: ;
  							LA49_: ;
  							pos += ((NI) 1);
  						}
  						break;
  						case 93:
  						{
  							{
  								if (!isDoc) goto LA65_;
  								{
  									NIM_BOOL T69_;
  									T69_ = (NIM_BOOL)0;
  									T69_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35));
  									if (!(T69_)) goto LA70_;
  									T69_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(35));
  									LA70_: ;
  									if (!T69_) goto LA71_;
  									{
  										if (!(nesting == ((NI) 0))) goto LA75_;
  										pos += ((NI) 3);
  										goto LA45;
  									}
  									LA75_: ;
  									nesting -= ((NI) 1);
  								}
  								LA71_: ;
  							}
  							goto LA63_;
  							LA65_: ;
  							{
  								if (!((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(35))) goto LA78_;
  								{
  									if (!(nesting == ((NI) 0))) goto LA82_;
  									pos += ((NI) 2);
  									goto LA45;
  								}
  								LA82_: ;
  								nesting -= ((NI) 1);
  							}
  							goto LA63_;
  							LA78_: ;
  							LA63_: ;
  							pos += ((NI) 1);
  						}
  						break;
  						default:
  						{
  							pos += ((NI) 1);
  						}
  						break;
  						}
  					}
  				} LA45: ;
  			}
  			goto LA39_;
  			LA43_: ;
  			{
  				{
  					while (1) {
  						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(0)) || ((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(13))))) goto LA87;
  						pos += ((NI) 1);
  					} LA87: ;
  				}
  			}
  			LA39_: ;
  		}
  		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 LA90;
  					id = addChar(id, (*g).buf[pos]);
  					pos += ((NI) 1);
  				} LA90: ;
  			}
  			{
  				if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA93_;
  				{
  					NIM_BOOL T97_;
  					T97_ = (NIM_BOOL)0;
  					T97_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
  					if (!(T97_)) goto LA98_;
  					T97_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34));
  					LA98_: ;
  					if (!T97_) goto LA99_;
  					pos += ((NI) 3);
  					(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 11);
  					{
  						while (1) {
  							switch (((NU8)((*g).buf[pos]))) {
  							case 0:
  							{
  								goto LA101;
  							}
  							break;
  							case 34:
  							{
  								pos += ((NI) 1);
  								{
  									NIM_BOOL T107_;
  									NIM_BOOL T108_;
  									T107_ = (NIM_BOOL)0;
  									T108_ = (NIM_BOOL)0;
  									T108_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
  									if (!(T108_)) goto LA109_;
  									T108_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
  									LA109_: ;
  									T107_ = T108_;
  									if (!(T107_)) goto LA110_;
  									T107_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
  									LA110_: ;
  									if (!T107_) goto LA111_;
  									pos += ((NI) 2);
  									goto LA101;
  								}
  								LA111_: ;
  							}
  							break;
  							default:
  							{
  								pos += ((NI) 1);
  							}
  							break;
  							}
  						}
  					} LA101: ;
  				}
  				goto LA95_;
  				LA99_: ;
  				{
  					(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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 LA116;
  							{
  								NIM_BOOL T119_;
  								T119_ = (NIM_BOOL)0;
  								T119_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
  								if (!(T119_)) goto LA120_;
  								T119_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34)));
  								LA120_: ;
  								if (!T119_) goto LA121_;
  								goto LA115;
  							}
  							LA121_: ;
  							pos += ((NI) 1);
  						} LA116: ;
  					} LA115: ;
  					{
  						if (!((NU8)((*g).buf[pos]) == (NU8)(34))) goto LA125_;
  						pos += ((NI) 1);
  					}
  					LA125_: ;
  				}
  				LA95_: ;
  			}
  			goto LA91_;
  			LA93_: ;
  			{
  				{
  					if (!((*g).lang == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 1))) goto LA130_;
  					(*g).kind = nimGetKeyword__packagesZdocutilsZhighlite_171(id);
  				}
  				goto LA128_;
  				LA130_: ;
  				{
  					NI T133_;
  					T133_ = (NI)0;
  					T133_ = isKeyword__packagesZdocutilsZhighlite_309(keywords, keywordsLen_0, id);
  					if (!(((NI) 0) <= T133_)) goto LA134_;
  					(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 9);
  				}
  				goto LA128_;
  				LA134_: ;
  				LA128_: ;
  			}
  			LA91_: ;
  		}
  		break;
  		case 48:
  		{
  			pos += ((NI) 1);
  			switch (((NU8)((*g).buf[pos]))) {
  			case 98:
  			case 66:
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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 LA139;
  						pos += ((NI) 1);
  					} LA139: ;
  				}
  				pos = nimNumberPostfix__packagesZdocutilsZhighlite_209(g, pos);
  			}
  			break;
  			case 120:
  			case 88:
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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 LA142;
  						pos += ((NI) 1);
  					} LA142: ;
  				}
  				pos = nimNumberPostfix__packagesZdocutilsZhighlite_209(g, pos);
  			}
  			break;
  			case 111:
  			case 79:
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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 LA145;
  						pos += ((NI) 1);
  					} LA145: ;
  				}
  				pos = nimNumberPostfix__packagesZdocutilsZhighlite_209(g, pos);
  			}
  			break;
  			default:
  			{
  				pos = nimNumber__packagesZdocutilsZhighlite_258(g, pos);
  			}
  			break;
  			}
  		}
  		break;
  		case 49 ... 57:
  		{
  			pos = nimNumber__packagesZdocutilsZhighlite_258(g, pos);
  		}
  		break;
  		case 39:
  		{
  			pos += ((NI) 1);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 12);
  			{
  				while (1) {
  					switch (((NU8)((*g).buf[pos]))) {
  					case 0:
  					case 13:
  					case 10:
  					{
  						goto LA149;
  					}
  					break;
  					case 39:
  					{
  						pos += ((NI) 1);
  						goto LA149;
  					}
  					break;
  					case 92:
  					{
  						pos += ((NI) 2);
  					}
  					break;
  					default:
  					{
  						pos += ((NI) 1);
  					}
  					break;
  					}
  				}
  			} LA149: ;
  		}
  		break;
  		case 34:
  		{
  			pos += ((NI) 1);
  			{
  				NIM_BOOL T158_;
  				T158_ = (NIM_BOOL)0;
  				T158_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
  				if (!(T158_)) goto LA159_;
  				T158_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
  				LA159_: ;
  				if (!T158_) goto LA160_;
  				pos += ((NI) 2);
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 11);
  				{
  					while (1) {
  						switch (((NU8)((*g).buf[pos]))) {
  						case 0:
  						{
  							goto LA162;
  						}
  						break;
  						case 34:
  						{
  							pos += ((NI) 1);
  							{
  								NIM_BOOL T168_;
  								NIM_BOOL T169_;
  								T168_ = (NIM_BOOL)0;
  								T169_ = (NIM_BOOL)0;
  								T169_ = ((NU8)((*g).buf[pos]) == (NU8)(34));
  								if (!(T169_)) goto LA170_;
  								T169_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(34));
  								LA170_: ;
  								T168_ = T169_;
  								if (!(T168_)) goto LA171_;
  								T168_ = !(((NU8)((*g).buf[(NI)(pos + ((NI) 2))]) == (NU8)(34)));
  								LA171_: ;
  								if (!T168_) goto LA172_;
  								pos += ((NI) 2);
  								goto LA162;
  							}
  							LA172_: ;
  						}
  						break;
  						default:
  						{
  							pos += ((NI) 1);
  						}
  						break;
  						}
  					}
  				} LA162: ;
  			}
  			goto LA156_;
  			LA160_: ;
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  				{
  					while (1) {
  						switch (((NU8)((*g).buf[pos]))) {
  						case 0:
  						case 13:
  						case 10:
  						{
  							goto LA176;
  						}
  						break;
  						case 34:
  						{
  							pos += ((NI) 1);
  							goto LA176;
  						}
  						break;
  						case 92:
  						{
  							(*g).state = (*g).kind;
  							goto LA176;
  						}
  						break;
  						default:
  						{
  							pos += ((NI) 1);
  						}
  						break;
  						}
  					}
  				} LA176: ;
  			}
  			LA156_: ;
  		}
  		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__9anxN1z0YaJHlUGz4GuizCA) 15);
  		}
  		break;
  		case 0:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  		}
  		break;
  		default:
  		{
  			{
  				if (!((TM__0kVEnxqJYMmsZjjZ9a1FeBw_93[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA187_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  				{
  					while (1) {
  						if (!((TM__0kVEnxqJYMmsZjjZ9a1FeBw_93[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA190;
  						pos += ((NI) 1);
  					} LA190: ;
  				}
  			}
  			goto LA185_;
  			LA187_: ;
  			{
  				pos += ((NI) 1);
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  			}
  			LA185_: ;
  		}
  		break;
  		}
  	}
  	LA1_: ;
  	(*g).length = (NI)(pos - (*g).pos);
  	{
  		NIM_BOOL T194_;
  		NIM_BOOL T195_;
  		T194_ = (NIM_BOOL)0;
  		T195_ = (NIM_BOOL)0;
  		T195_ = !(((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0)));
  		if (!(T195_)) goto LA196_;
  		T195_ = !(((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1)));
  		LA196_: ;
  		T194_ = T195_;
  		if (!(T194_)) goto LA197_;
  		T194_ = ((*g).length <= ((NI) 0));
  		LA197_: ;
  		if (!T194_) goto LA198_;
  	}
  	LA198_: ;
  	(*g).pos = pos;
  }
  N_LIB_PRIVATE N_NIMCALL(NI, generalNumber__packagesZdocutilsZhighlite_647)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position) {
  	NI result;
  	NI pos;
  	result = (NI)0;
  	pos = position;
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_697)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI position) {
  	NI result;
  	NI pos;
  	NIM_CHAR c;
  	result = (NI)0;
  	pos = position;
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_760)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NimStringDesc** keywords, NI keywordsLen_0, tySet_tyEnum_TokenizerFlag__R8swax9cABEhNWTz9cyL9cDXQ flags) {
  	NI pos;
  	pos = (*g).pos;
  	(*g).start = (*g).pos;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10))) goto LA3_;
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  		{
  			while (1) {
  				switch (((NU8)((*g).buf[pos]))) {
  				case 92:
  				{
  					(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 1);
  					}
  					break;
  					default:
  					{
  						pos += ((NI) 1);
  					}
  					break;
  					}
  					goto LA5;
  				}
  				break;
  				case 0:
  				case 13:
  				case 10:
  				{
  					(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  					goto LA5;
  				}
  				break;
  				case 34:
  				{
  					pos += ((NI) 1);
  					(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__R8swax9cABEhNWTz9cyL9cDXQ) 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__R8swax9cABEhNWTz9cyL9cDXQ) 0))&7U)))!=0)) goto LA64_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_309(keywords, keywordsLen_0, id);
  				if (!(((NI) 0) <= T76_)) goto LA77_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 9);
  			}
  			goto LA74_;
  			LA77_: ;
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_647(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__packagesZdocutilsZhighlite_647(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__packagesZdocutilsZhighlite_697(g, pos);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 12);
  		}
  		break;
  		case 34:
  		{
  			pos += ((NI) 1);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 15);
  		}
  		break;
  		case 0:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  		}
  		break;
  		default:
  		{
  			{
  				if (!((TM__0kVEnxqJYMmsZjjZ9a1FeBw_93[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0)) goto LA125_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  				{
  					while (1) {
  						if (!((TM__0kVEnxqJYMmsZjjZ9a1FeBw_93[(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__9anxN1z0YaJHlUGz4GuizCA) 1);
  			}
  			LA123_: ;
  		}
  		break;
  		}
  	}
  	LA1_: ;
  	(*g).length = (NI)(pos - (*g).pos);
  	{
  		NIM_BOOL T132_;
  		T132_ = (NIM_BOOL)0;
  		T132_ = !(((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_1035)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	clikeNextToken__packagesZdocutilsZhighlite_760(g, keywords__packagesZdocutilsZhighlite_1037, 48, 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, csharpNextToken__packagesZdocutilsZhighlite_1047)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	clikeNextToken__packagesZdocutilsZhighlite_760(g, keywords__packagesZdocutilsZhighlite_1049, 77, 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, cNextToken__packagesZdocutilsZhighlite_1023)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	clikeNextToken__packagesZdocutilsZhighlite_760(g, keywords__packagesZdocutilsZhighlite_1025, 37, 1);
  }
  N_LIB_PRIVATE N_NIMCALL(void, javaNextToken__packagesZdocutilsZhighlite_1059)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	clikeNextToken__packagesZdocutilsZhighlite_760(g, keywords__packagesZdocutilsZhighlite_1061, 53, 0);
  }
  static N_INLINE(NIM_BOOL, contains__int495056_710)(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(tyObject_HSlice__W9bFyTswleIcLt1mZvoSZPg, dotdot___int495056_689)(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__packagesZdocutilsZhighlite_1071)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI* pos) {
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_1086)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NI* pos) {
  	(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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___int495056_689(49, 57);
  		T11_ = (NIM_BOOL)0;
  		T11_ = contains__int495056_710(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__packagesZdocutilsZhighlite_1071(g, pos);
  	}
  	LA5_: ;
  	{
  		if (!((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_1071(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__9anxN1z0YaJHlUGz4GuizCA) 7);
  				}
  				LA37_: ;
  			}
  			LA28_: ;
  		}
  		goto LA21_;
  		LA26_: ;
  		LA21_: ;
  		{
  			if (!((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_1071(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__9anxN1z0YaJHlUGz4GuizCA) 7);
  					}
  					goto LA58_;
  					LA60_: ;
  					{
  						yamlPlainStrLit__packagesZdocutilsZhighlite_1071(g, pos);
  					}
  					LA58_: ;
  				}
  				LA51_: ;
  			}
  			goto LA43_;
  			LA45_: ;
  			{
  				yamlPlainStrLit__packagesZdocutilsZhighlite_1071(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__packagesZdocutilsZhighlite_1071(g, pos);
  				goto LA64;
  			}
  			LA68_: ;
  		} LA65: ;
  	} LA64: ;
  }
  N_LIB_PRIVATE N_NIMCALL(void, yamlNextToken__packagesZdocutilsZhighlite_1198)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	NI pos;
  	pos = (*g).pos;
  	(*g).start = (*g).pos;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10))) goto LA3_;
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  		{
  			while (1) {
  				switch (((NU8)((*g).buf[pos]))) {
  				case 92:
  				{
  					{
  						if (!!((pos == (*g).pos))) goto LA10_;
  						goto LA5;
  					}
  					LA10_: ;
  					(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 36);
  					goto LA5;
  				}
  				break;
  				case 34:
  				{
  					pos += ((NI) 1);
  					(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 36);
  					goto LA5;
  				}
  				break;
  				default:
  				{
  					pos += ((NI) 1);
  				}
  				break;
  				}
  			}
  		} LA5: ;
  	}
  	goto LA1_;
  	LA3_: ;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 12))) goto LA41_;
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 13);
  					}
  					goto LA46_;
  					LA48_: ;
  					{
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 36);
  					}
  					LA46_: ;
  					goto LA43;
  				}
  				break;
  				default:
  				{
  					pos += ((NI) 1);
  				}
  				break;
  				}
  			}
  		} LA43: ;
  	}
  	goto LA1_;
  	LA41_: ;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 27))) goto LA53_;
  		switch (((NU8)((*g).buf[pos]))) {
  		case 32:
  		case 9:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 1);
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 36);
  		}
  		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__9anxN1z0YaJHlUGz4GuizCA) 27));
  			LA66_: ;
  			if (!T65_) goto LA67_;
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 11);
  		}
  		LA67_: ;
  	}
  	goto LA1_;
  	LA53_: ;
  	{
  		NI lookbehind;
  		NI headerStart;
  		NI indentation;
  		NI parentIndentation;
  		NI minIndentation;
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 11))) goto LA70_;
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 36);
  	}
  	goto LA1_;
  	LA70_: ;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 36))) goto LA158_;
  		switch (((NU8)((*g).buf[pos]))) {
  		case 32:
  		case 9 ... 13:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 9);
  				}
  				goto LA178_;
  				LA182_: ;
  				{
  					yamlPossibleNumber__packagesZdocutilsZhighlite_1086(g, (&pos));
  				}
  				LA178_: ;
  			}
  			goto LA167_;
  			LA176_: ;
  			{
  				yamlPossibleNumber__packagesZdocutilsZhighlite_1086(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__9anxN1z0YaJHlUGz4GuizCA) 9);
  					(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  				}
  				goto LA200_;
  				LA202_: ;
  				{
  					yamlPlainStrLit__packagesZdocutilsZhighlite_1071(g, (&pos));
  				}
  				LA200_: ;
  			}
  			goto LA187_;
  			LA191_: ;
  			{
  				yamlPlainStrLit__packagesZdocutilsZhighlite_1071(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__9anxN1z0YaJHlUGz4GuizCA) 15);
  			}
  			goto LA207_;
  			LA209_: ;
  			{
  				yamlPlainStrLit__packagesZdocutilsZhighlite_1071(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__9anxN1z0YaJHlUGz4GuizCA) 15);
  			}
  			goto LA213_;
  			LA219_: ;
  			{
  				yamlPlainStrLit__packagesZdocutilsZhighlite_1071(g, (&pos));
  			}
  			LA213_: ;
  		}
  		break;
  		case 91:
  		case 93:
  		case 123:
  		case 125:
  		case 44:
  		{
  			pos += ((NI) 1);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 15);
  		}
  		break;
  		case 34:
  		{
  			pos += ((NI) 1);
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 10);
  		}
  		break;
  		case 39:
  		{
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 12);
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  		}
  		break;
  		case 33:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 27);
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__packagesZdocutilsZhighlite_1086(g, (&pos));
  		}
  		break;
  		case 0:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  		}
  		break;
  		default:
  		{
  			yamlPlainStrLit__packagesZdocutilsZhighlite_1071(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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 36);
  				yamlPlainStrLit__packagesZdocutilsZhighlite_1071(g, (&pos));
  			}
  			LA260_: ;
  		}
  		break;
  		case 32:
  		case 9 ... 13:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 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__9anxN1z0YaJHlUGz4GuizCA) 0);
  		}
  		break;
  		default:
  		{
  			(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 1);
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 36);
  		}
  		break;
  		}
  	}
  	LA1_: ;
  	(*g).length = (NI)(pos - (*g).pos);
  	(*g).pos = pos;
  }
  N_LIB_PRIVATE N_NIMCALL(void, pythonNextToken__packagesZdocutilsZhighlite_1639)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  	nimNextToken__packagesZdocutilsZhighlite_355(g, keywords__packagesZdocutilsZhighlite_1641, 35);
  }
  N_LIB_PRIVATE N_NIMCALL(void, cmdNextToken__packagesZdocutilsZhighlite_1651)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, NIM_BOOL dollarPrompt) {
  	NI pos;
  	pos = (*g).pos;
  	(*g).start = (*g).pos;
  	{
  		if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0))) goto LA3_;
  		{
  			if (!dollarPrompt) goto LA7_;
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 32);
  		}
  		goto LA5_;
  		LA7_: ;
  		{
  			(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  		}
  		LA5_: ;
  	}
  	LA3_: ;
  	switch (((NU8)((*g).buf[pos]))) {
  	case 32:
  	case 9 ... 13:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 2);
  		{
  			while (1) {
  				if (!(((NU8)((*g).buf[pos])) == ((NU8)(32)) || ((NU8)((*g).buf[pos])) >= ((NU8)(9)) && ((NU8)((*g).buf[pos])) <= ((NU8)(13)))) goto LA12;
  				{
  					if (!((NU8)((*g).buf[pos]) == (NU8)(10))) goto LA15_;
  					{
  						if (!dollarPrompt) goto LA19_;
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 32);
  					}
  					goto LA17_;
  					LA19_: ;
  					{
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  					}
  					LA17_: ;
  				}
  				LA15_: ;
  				pos += ((NI) 1);
  			} LA12: ;
  		}
  	}
  	break;
  	case 39:
  	case 34:
  	{
  		NIM_CHAR q;
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 35);
  		q = (*g).buf[pos];
  		pos += ((NI) 1);
  		{
  			while (1) {
  				if (!!((((NU8)((*g).buf[pos])) == ((NU8)(q)) || ((NU8)((*g).buf[pos])) == ((NU8)(0))))) goto LA24;
  				pos += ((NI) 1);
  			} LA24: ;
  		}
  		{
  			if (!((NU8)((*g).buf[pos]) == (NU8)(q))) goto LA27_;
  			pos += ((NI) 1);
  		}
  		LA27_: ;
  	}
  	break;
  	case 35:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 16);
  		{
  			while (1) {
  				if (!!((((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(0))))) goto LA31;
  				pos += ((NI) 1);
  			} LA31: ;
  		}
  	}
  	break;
  	case 38:
  	case 124:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  		pos += ((NI) 1);
  		{
  			if (!((NU8)((*g).buf[pos]) == (NU8)((*g).buf[(NI)(pos - ((NI) 1))]))) goto LA35_;
  			pos += ((NI) 1);
  		}
  		LA35_: ;
  		(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  	}
  	break;
  	case 40:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  		(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  		pos += ((NI) 1);
  	}
  	break;
  	case 41:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  		pos += ((NI) 1);
  	}
  	break;
  	case 59:
  	{
  		(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 14);
  		pos += ((NI) 1);
  	}
  	break;
  	case 0:
  	{
  		(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 0);
  	}
  	break;
  	default:
  	{
  		{
  			NIM_BOOL T44_;
  			T44_ = (NIM_BOOL)0;
  			T44_ = dollarPrompt;
  			if (!(T44_)) goto LA45_;
  			T44_ = ((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 32));
  			LA45_: ;
  			if (!T44_) goto LA46_;
  			{
  				NIM_BOOL T50_;
  				T50_ = (NIM_BOOL)0;
  				T50_ = ((NU8)((*g).buf[pos]) == (NU8)(36));
  				if (!(T50_)) goto LA51_;
  				T50_ = (((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) == ((NU8)(32)) || ((NU8)((*g).buf[(NI)(pos + ((NI) 1))])) == ((NU8)(9)));
  				LA51_: ;
  				if (!T50_) goto LA52_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 32);
  				pos += ((NI) 2);
  				(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  			}
  			goto LA48_;
  			LA52_: ;
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 33);
  				{
  					while (1) {
  						if (!!((((NU8)((*g).buf[pos])) == ((NU8)(10)) || ((NU8)((*g).buf[pos])) == ((NU8)(0))))) goto LA56;
  						pos += ((NI) 1);
  					} LA56: ;
  				}
  			}
  			LA48_: ;
  		}
  		goto LA42_;
  		LA46_: ;
  		{
  			{
  				if (!((*g).state == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34))) goto LA60_;
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  				(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 35);
  			}
  			goto LA58_;
  			LA60_: ;
  			{
  				(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 35);
  			}
  			LA58_: ;
  			{
  				while (1) {
  					if (!!(((TM__0kVEnxqJYMmsZjjZ9a1FeBw_187[(NU)(((NU8)((*g).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*g).buf[pos])))&7U)))!=0))) goto LA64;
  					{
  						NIM_BOOL T67_;
  						T67_ = (NIM_BOOL)0;
  						T67_ = ((NU8)((*g).buf[pos]) == (NU8)(59));
  						if (!(T67_)) goto LA68_;
  						T67_ = ((NU8)((*g).buf[(NI)(pos + ((NI) 1))]) == (NU8)(32));
  						LA68_: ;
  						if (!T67_) goto LA69_;
  						goto LA63;
  					}
  					LA69_: ;
  					{
  						NIM_BOOL T73_;
  						T73_ = (NIM_BOOL)0;
  						T73_ = ((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 35));
  						if (!(T73_)) goto LA74_;
  						T73_ = (((NU8)((*g).buf[pos])) == ((NU8)(47)) || ((NU8)((*g).buf[pos])) == ((NU8)(92)) || ((NU8)((*g).buf[pos])) == ((NU8)(46)));
  						LA74_: ;
  						if (!T73_) goto LA75_;
  						(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 8);
  					}
  					goto LA71_;
  					LA75_: ;
  					{
  						NIM_BOOL T78_;
  						T78_ = (NIM_BOOL)0;
  						T78_ = ((*g).kind == ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34));
  						if (!(T78_)) goto LA79_;
  						T78_ = ((NU8)((*g).buf[pos]) == (NU8)(61));
  						LA79_: ;
  						if (!T78_) goto LA80_;
  						(*g).kind = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 8);
  						(*g).state = ((tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA) 34);
  					}
  					goto LA71_;
  					LA80_: ;
  					LA71_: ;
  					pos += ((NI) 1);
  				} LA64: ;
  			} LA63: ;
  		}
  		LA42_: ;
  	}
  	break;
  	}
  	(*g).length = (NI)(pos - (*g).pos);
  	(*g).pos = pos;
  }
  N_LIB_PRIVATE N_NIMCALL(void, getNextToken__packagesZdocutilsZhighlite_1760)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g, tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g lang) {
  	(*g).lang = lang;
  	switch (lang) {
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0):
  	{
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 1):
  	{
  		tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T3_;
  		T3_ = NIM_NIL;
  		T3_ = NIM_NIL;
  		nimNextToken__packagesZdocutilsZhighlite_355(g, T3_->data, (T3_ ? T3_->Sup.len : 0));
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 2):
  	{
  		cppNextToken__packagesZdocutilsZhighlite_1035(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 3):
  	{
  		csharpNextToken__packagesZdocutilsZhighlite_1047(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 4):
  	{
  		cNextToken__packagesZdocutilsZhighlite_1023(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 5):
  	{
  		javaNextToken__packagesZdocutilsZhighlite_1059(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 6):
  	{
  		yamlNextToken__packagesZdocutilsZhighlite_1198(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 7):
  	{
  		pythonNextToken__packagesZdocutilsZhighlite_1639(g);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 8):
  	{
  		cmdNextToken__packagesZdocutilsZhighlite_1651(g, NIM_FALSE);
  	}
  	break;
  	case ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 9):
  	{
  		cmdNextToken__packagesZdocutilsZhighlite_1651(g, NIM_TRUE);
  	}
  	break;
  	}
  }
  N_LIB_PRIVATE N_NIMCALL(void, deinitGeneralTokenizer__packagesZdocutilsZhighlite_169)(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ* g) {
  }
  N_LIB_PRIVATE N_NIMCALL(void, stdlib_highliteDatInit000)(void) {
  static TNimNode* TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[7];
  static TNimNode* TM__0kVEnxqJYMmsZjjZ9a1FeBw_15_37[37];
  NI TM__0kVEnxqJYMmsZjjZ9a1FeBw_17;
  static char* NIM_CONST TM__0kVEnxqJYMmsZjjZ9a1FeBw_16[37] = {
  "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", 
  "gtPrompt", 
  "gtProgramOutput", 
  "gtProgram", 
  "gtOption", 
  "gtOther"};
  static TNimNode* TM__0kVEnxqJYMmsZjjZ9a1FeBw_18_10[10];
  NI TM__0kVEnxqJYMmsZjjZ9a1FeBw_20;
  static char* NIM_CONST TM__0kVEnxqJYMmsZjjZ9a1FeBw_19[10] = {
  "langNone", 
  "langNim", 
  "langCpp", 
  "langCsharp", 
  "langC", 
  "langJava", 
  "langYaml", 
  "langPython", 
  "langCmd", 
  "langConsole"};
  static TNimNode TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[57];
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.size = sizeof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ);
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.align = NIM_ALIGNOF(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ);
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.kind = 17;
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.flags = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[0] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[1];
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.size = sizeof(tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA);
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.align = NIM_ALIGNOF(tyEnum_TokenClass__9anxN1z0YaJHlUGz4GuizCA);
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.kind = 14;
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.base = 0;
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.flags = 3;
  for (TM__0kVEnxqJYMmsZjjZ9a1FeBw_17 = 0; TM__0kVEnxqJYMmsZjjZ9a1FeBw_17 < 37; TM__0kVEnxqJYMmsZjjZ9a1FeBw_17++) {
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17+2].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17+2].offset = TM__0kVEnxqJYMmsZjjZ9a1FeBw_17;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17+2].name = TM__0kVEnxqJYMmsZjjZ9a1FeBw_16[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_15_37[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_17+2];
  }
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[39].len = 37; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[39].kind = 2; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[39].sons = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_15_37[0];
  NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_.node = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[39];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[1].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[1].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, kind);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[1].typ = (&NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[1].name = "kind";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[1] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[40];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[40].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[40].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, start);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[40].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[40].name = "start";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[2] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[41];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[41].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[41].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, length);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[41].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[41].name = "length";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[3] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[42];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[42].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[42].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, buf);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[42].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[42].name = "buf";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[4] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[43];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[43].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[43].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, pos);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[43].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[43].name = "pos";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[5] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[44];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[44].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[44].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, state);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[44].typ = (&NTItokenclass__9anxN1z0YaJHlUGz4GuizCA_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[44].name = "state";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[6] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[45];
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.size = sizeof(tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g);
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.align = NIM_ALIGNOF(tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g);
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.kind = 14;
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.base = 0;
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.flags = 3;
  for (TM__0kVEnxqJYMmsZjjZ9a1FeBw_20 = 0; TM__0kVEnxqJYMmsZjjZ9a1FeBw_20 < 10; TM__0kVEnxqJYMmsZjjZ9a1FeBw_20++) {
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20+46].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20+46].offset = TM__0kVEnxqJYMmsZjjZ9a1FeBw_20;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20+46].name = TM__0kVEnxqJYMmsZjjZ9a1FeBw_19[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_18_10[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20] = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[TM__0kVEnxqJYMmsZjjZ9a1FeBw_20+46];
  }
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[56].len = 10; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[56].kind = 2; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[56].sons = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_18_10[0];
  NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_.node = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[56];
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[45].kind = 1;
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[45].offset = offsetof(tyObject_GeneralTokenizer__mzSYRAkR0jQADvmFWo9aZKQ, lang);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[45].typ = (&NTIsourcelanguage__yW5C9bHJV9a9bc7MnoMHmB85g_);
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[45].name = "lang";
  TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[0].len = 7; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[0].kind = 2; TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[0].sons = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_14_7[0];
  NTIgeneraltokenizer__mzSYRAkR0jQADvmFWo9aZKQ_.node = &TM__0kVEnxqJYMmsZjjZ9a1FeBw_0[0];
  }
  
  