/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@slexer.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@pcompiler@slexer.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <math.h>
#include <stdio.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
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ;
typedef struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw;
typedef struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA;
typedef struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg;
typedef struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA;
typedef struct tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg;
typedef struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A tySequence__JPKFgJSOQCieXDyG0VaX6A;
typedef struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content tySequence__JPKFgJSOQCieXDyG0VaX6A_Content;
typedef struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA tySequence__82a9cBsTuMsIGy3wIt0j2GA;
typedef struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg tySequence__qQfLCgyHOp6hJAe9b61dSlg;
typedef struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content;
typedef struct tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ;
typedef struct tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA;
typedef struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg;
typedef struct tyObject_GcEnv__1z8AJ0tfLlYlFBizZRHD7A tyObject_GcEnv__1z8AJ0tfLlYlFBizZRHD7A;
typedef struct tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw;
typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q;
typedef struct tyObject_CellSeq__dIiPa2COtDnavhK2KIqxCQ tyObject_CellSeq__dIiPa2COtDnavhK2KIqxCQ;
typedef struct tyTuple__EMes4DT7YbRCwj3TmsFXyA tyTuple__EMes4DT7YbRCwj3TmsFXyA;
typedef struct tyObject_Token__0RfaoeiXz87H212JyhBKLA tyObject_Token__0RfaoeiXz87H212JyhBKLA;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__mvuhCheBMFBYvdgIMGELfQ tyTuple__mvuhCheBMFBYvdgIMGELfQ;
typedef struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ;
typedef struct Exception Exception;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA;
typedef struct tyObject_ArithmeticDefect__daZN5w9bEa0x7I9cTCVXZ9cQg tyObject_ArithmeticDefect__daZN5w9bEa0x7I9cTCVXZ9cQg;
typedef struct tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA;
typedef struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct tyTuple__QV1TF4CGWRyoNF80eigmtg tyTuple__QV1TF4CGWRyoNF80eigmtg;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__pZyCb85IttgsT24JoT50Ow;
struct tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA {
	tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__pZyCb85IttgsT24JoT50Ow errorHandler;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache;
	tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config;
};
typedef NU8 tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow;
typedef NU8 tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw;
typedef NU8 tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw;
struct tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA {
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw targetCPU;
	tyEnum_TSystemCPU__J9bZO9b8hJ1WLdz06MAdDwNw hostCPU;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw targetOS;
	tyEnum_TSystemOS__VsfE4TAWvW7J5J9ah0k9bhQw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q;
typedef NU64 tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
struct tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg;
struct tySequence__JPKFgJSOQCieXDyG0VaX6A {
  NI len; tySequence__JPKFgJSOQCieXDyG0VaX6A_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA {
  NI len; tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content* p;
};
struct tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__Y589cyWcRH9a1nQaCCTpHXBg errorOutputs;
	tySequence__JPKFgJSOQCieXDyG0VaX6A msgContext;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastError;
	tyObject_Table__OgDKCHvLil9aobSCDOOb9c2g filenameToIndexTbl;
	tySequence__82a9cBsTuMsIGy3wIt0j2GA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w;
typedef NU8 tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA;
typedef NU8 tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg;
typedef NU8 tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg;
typedef NU8 tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng;
typedef NU8 tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ;
typedef NU8 tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA;
typedef NU8 tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw;
typedef NU8 tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA;
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg {
  NI len; tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___G8O5Dsbt9bF1vvzUUj5EkrQ* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__ZKxN2vtYtpm0ZAjNb4J8aw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 msg_p2, tyEnum_Severity__tWehdV8Lrs2KkHjSTQdreg severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__JiHYsLjIe9cOjP539bvP3aaA;
struct tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw {
	tyEnum_TBackend__Xu30yu1pJJNl5dArQPqGow backend;
	tyObject_Target__VLKMdRc7ECOjQ9ciK2Kt9bMA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__e9bb9ciMfT2jonTaHtdSs34Q options;
	tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg globalOptions;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* macrosToExpand;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* arcToExpand;
	tyObject_MsgConfig__9cs55zdH9bHnV6V9chBQFd5kw m;
	tyEnum_FilenameOption__Yih1XSIjpvq4ziRvx1GV8w filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__oJGNCFo1I4tiN2MrL3TY9bA cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__pRk7Y2G9bpIo9bLxbZlHNngg selectedGC;
	tyEnum_ExceptionSystem__IYbEksEAKSIlWJbOfBD09cg exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__8PMCSpTPQgWdVNloobF5ww symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__E4xi5r0p9cLn3DNy3T5qUng features;
	tySet_tyEnum_LegacyFeature__kQ72lke4a216EagCYqVkVQ legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__Sly2EmHrYz8ngoSQFPHnpA ideCmd;
	tyEnum_TSystemCC__x9cDM4gkFLLvOAjtG1vDBbw cCompiler;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ modifiedyNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ cmdlineNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ foreignPackageNotes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ notes;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ warningAsErrors;
	tySet_tyEnum_TMsgKind__2JlKu3VCQMJAR9clVZDiMrQ mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* configVars;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* symbols;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* dllOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* moduleOverrides;
	tyObject_StringTableObj__aB8otkyeeuZW5rawDMqajg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__uLkrPliKqI9aojZh8rkjB9bA lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__qQfLCgyHOp6hJAe9b61dSlg toCompile;
	tyProc__ZKxN2vtYtpm0ZAjNb4J8aw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__JiHYsLjIe9cOjP539bvP3aaA structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___1I2ILcVsRjxoPir6qzEMbA* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* tyArray__vT2s1OOU4oat4glWHm9bw9cg[8192];
struct tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg {
	tyArray__vT2s1OOU4oat4glWHm9bw9cg buckets;
	NI wordCounter;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idAnon;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* idDelegator;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* emptyIdent;
};
struct tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw {
	NI len;
	NI cap;
	tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d;
};
struct tyObject_CellSeq__dIiPa2COtDnavhK2KIqxCQ {
	NI len;
	NI cap;
	tyTuple__EMes4DT7YbRCwj3TmsFXyA* d;
};
struct tyObject_GcEnv__1z8AJ0tfLlYlFBizZRHD7A {
	tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw traceStack;
	tyObject_CellSeq__dIiPa2COtDnavhK2KIqxCQ toFree;
	NI freed;
	NI touched;
	NI edges;
	NI rcSum;
	NIM_BOOL keepThreshold;
};
struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q {
	void** Field0;
	TNimTypeV2* Field1;
};
typedef NU8 tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g;
typedef NU8 tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q;
typedef NU8 tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg;
struct tyObject_Token__0RfaoeiXz87H212JyhBKLA {
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType;
	tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base;
	tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg spacing;
	NI indent;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* next;
	NI h;
};
typedef NU8 tyEnum_TLLStreamKind__Vt32Tvf0nxx4kIGObvTB4w;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* s_p0, void* buf_p1, NI bufLen_p2, void* ClE_0);
void* ClE_0;
} tyProc__wlJibQYTL5o48Y4PSwC79ag;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ {
	RootObj Sup;
	tyEnum_TLLStreamKind__Vt32Tvf0nxx4kIGObvTB4w kind;
	FILE* f;
	NimStringV2 s;
	NI rd;
	NI wr;
	NI lineOffset;
	tyProc__wlJibQYTL5o48Y4PSwC79ag repl;
	tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
typedef NU8 tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg;
typedef NU8 tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef N_CLOSURE_PTR(void, TM__4JpEWnGrmRM8CRqL3P2O1Q_8) (tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3);
typedef NU8 tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g;
struct tyTuple__mvuhCheBMFBYvdgIMGELfQ {
	NI8 Field0;
	tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g Field1;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw;
struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ {
	NI a;
	NI b;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA {
	Exception Sup;
};
struct tyObject_ArithmeticDefect__daZN5w9bEa0x7I9cTCVXZ9cQg {
	tyObject_Defect__OrUtYvY9ahZHkSCkuIUgLvA Sup;
};
struct tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA {
	tyObject_ArithmeticDefect__daZN5w9bEa0x7I9cTCVXZ9cQg Sup;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
struct tyTuple__QV1TF4CGWRyoNF80eigmtg {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA Field0;
	NimStringV2 Field1;
};
struct tySequence__JPKFgJSOQCieXDyG0VaX6A_Content { NI cap; tyTuple__QV1TF4CGWRyoNF80eigmtg data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__82a9cBsTuMsIGy3wIt0j2GA_Content { NI cap; tyObject_TFileInfo__scR0dtIY0SPGs9bCTB2YP9aA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ;
struct tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__EkRY1EIMbklfJaNFiHJKAQ flags;
	NimStringV2 customArgs;
};
struct tySequence__qQfLCgyHOp6hJAe9b61dSlg_Content { NI cap; tyObject_Cfile__hzdg7S9apBtiaeRrhpGEgXA data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__OOZOOZOOZcompilerZlexer_u2158)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZlexer_u306)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3185)(tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZoptions_u1565)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u275)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3555)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___OOZOOZOOZcompilerZlexer_u318)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* dest_p0, void* env_p1);
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1);
static N_INLINE(void, add__system_u3076)(tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw* s_p0, void** c_p1, TNimTypeV2* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, resize__system_u3084)(tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw* s_p0);
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u174)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* dest_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, openBaseLexer__OOZOOZOOZcompilerZnimlexbase_u25)(tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA* L_p0, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputstream_p1, NI bufLen_p2);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZidents_u342)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg** dest_p0, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___OOZOOZOOZcompilerZoptions_u1943)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw** dest_p0, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, reset__OOZOOZOOZcompilerZlexer_u1884)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* obj_p0);
N_LIB_PRIVATE N_NIMCALL(void, skip__OOZOOZOOZcompilerZlexer_u1831)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__OOZOOZOOZcompilerZlexer_u409)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NI pos_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, newLineInfo__OOZOOZOOZcompilerZmsgs_u416)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__OOZOOZOOZcompilerZlexer_u389)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__OOZOOZOOZcompilerZmsgs_u1230)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__OOZOOZOOZcompilerZlexer_u1291)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__OOZOOZOOZcompilerZnimlexbase_u34)(tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__OOZOOZOOZcompilerZnimlexbase_u37)(tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__OOZOOZOOZcompilerZnimlexbase_u40)(tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__OOZOOZOOZcompilerZlexer_u1671)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, NI start_p2, NIM_BOOL isDoc_p3);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__OOZOOZOOZcompilerZlexer_u1473)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
static N_INLINE(NI, emarkamp___pureZhashes_u4)(NI h_p0, NI val_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__OOZOOZOOZcompilerZlexer_u399)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, getLineInfo__OOZOOZOOZcompilerZlexer_u386)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__mvuhCheBMFBYvdgIMGELfQ, unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426)(NCSTRING buf_p0, NI pos_p1);
static N_INLINE(NI, emarkdollar___pureZhashes_u19)(NI h_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZidents_u165)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg** dest_p0, tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg*, getIdent__OOZOOZOOZcompilerZidents_u95)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* ic_p0, NCSTRING identifier_p1, NI length_p2, NI h_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZidents_u156)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuNormalize)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, getOperator__OOZOOZOOZcompilerZlexer_u1573)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
static N_INLINE(void, endOperator__OOZOOZOOZcompilerZlexer_u1564)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, NI pos_p2, NI hash_p3);
N_LIB_PRIVATE N_NIMCALL(void, scanComment__OOZOOZOOZcompilerZlexer_u1763)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, getString__OOZOOZOOZcompilerZlexer_u1308)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw mode_p2);
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__OOZOOZOOZcompilerZlexer_u1172)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__OOZOOZOOZcompilerZlexer_u950)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI* xi_p1, NI position_p2);
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1291)(NimStringV2 s_p0, tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ x_p1);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2493)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
static N_INLINE(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ, dotdot___stdZstrbasics_u48)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__OOZOOZOOZcompilerZlexer_u1047)(NimStringV2* s_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s_p0, NI newLen_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorNoArgs)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__OOZOOZOOZcompilerZlexer_u415)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NIM_CHAR first_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second_p2);
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__OOZOOZOOZcompilerZlexer_u1029)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI* xi_p1);
static N_INLINE(NIM_BOOL, nimMulInt)(NI a_p0, NI b_p1, NI* res_p2);
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0);
static N_INLINE(NF, abs__system_u5188)(NF x_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg*, getIdent__OOZOOZOOZcompilerZidents_u207)(tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nimCharToStr)(NIM_CHAR x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u14)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__OOZOOZOOZcompilerZlexer_u1391)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, getNumber__OOZOOZOOZcompilerZlexer_u445)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* result_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NimStringV2 msg_p1, NI startpos_p2, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msgKind_p3);
N_LIB_PRIVATE N_NIMCALL(void, matchChars__OOZOOZOOZcompilerZlexer_u477)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZlexer_u524)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__OOZOOZOOZcompilerZmsgs_u1601)(tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* conf_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, NimStringV2 errMsg_p2, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2_p3);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuToLowerAsciiStr)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, checkBitWidth__OOZOOZOOZcompilerZlexer_u556)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base_p1, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType_p2, NI numDigits_p3, NI startpos_p4);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u28)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseDivByZero)(void);
static N_INLINE(NIM_BOOL, nimDivInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NI, parseBiggestUInt__pureZparseutils_u991)(NimStringV2 s_p0, NU64* number_p1, NI start_p2);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3719)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(NI, parseBiggestInt__pureZparseutils_u976)(NimStringV2 s_p0, NI64* number_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__OOZOOZOOZcompilerZlexer_u201)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g kind_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u237)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u34)(NI64 xX60gensym4__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___system_u4780)(NF x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u139)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g e_p0);
static N_INLINE(NIM_BOOL, eqeq___OOZOOZOOZcompilerZidents_u367)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* a_p0, tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* b_p1);
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8571)(NimStringV2* s_p0, NI i_p1);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeBaseLexer__OOZOOZOOZcompilerZnimlexbase_u29)(tyObject_TBaseLexer__uGVQu9a9b6vaC8dO9cPA8KdFA* L_p0);
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3403)(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ s_p0, NI value_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg*, eqdup___OOZOOZOOZcompilerZidents_u162)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* src_p0);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__OOZOOZOOZcompilerZlexer_u1651)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0);
N_LIB_PRIVATE TNimTypeV2 NTIv2__pr0lUFd9b8B8UI5LygxHiDA_;
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_7 = { 68 | NIM_STRLIT_FLAG, "/Users/runner/work/nightlies/nightlies/nim-2.2.10/compiler/lexer.nim" };
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_9 = { 40 | NIM_STRLIT_FLAG, "tabs are not allowed, use spaces instead" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_10 = {40, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_9};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_33 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_34 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_33};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_37 = { 33 | NIM_STRLIT_FLAG, "end of multiline comment expected" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_38 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_37};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_50 = { 34 | NIM_STRLIT_FLAG, "invalid token: trailing underscore" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_51 = {34, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_50};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_80 = { 22 | NIM_STRLIT_FLAG, "\'$1\' should be: \'$2\'$3" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_81 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_80};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_82 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_83 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_82};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_85 = {
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}
;
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_94 = { 43 | NIM_STRLIT_FLAG, "lexer.nim(1081, 3) `L.buf[pos + 1] == \'#\'` " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_95 = {43, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_94};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_105 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_33};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_125 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_33};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_126 = { 45 | NIM_STRLIT_FLAG, "closing \"\"\" expected, but end of file reached" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_127 = {45, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_126};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_132 = { 18 | NIM_STRLIT_FLAG, "closing \" expected" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_133 = {18, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_132};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_136 = { 35 | NIM_STRLIT_FLAG, "\\p not allowed in character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_137 = {35, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_136};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_158 = { 33 | NIM_STRLIT_FLAG, "expected a hex digit, but found: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_159 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_158};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_160 = { 22 | NIM_STRLIT_FLAG, "; maybe prepend with 0" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_161 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_160};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_163 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_158};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_164 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_160};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_166 = { 35 | NIM_STRLIT_FLAG, "\\u not allowed in character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_167 = {35, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_166};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_170 = { 33 | NIM_STRLIT_FLAG, "Unicode codepoint cannot be empty" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_171 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_170};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_178 = { 56 | NIM_STRLIT_FLAG, "Unicode codepoint must be lower than 0x10FFFF, but was: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_179 = {56, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_178};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_208 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_209 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_82};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_214 = { 26 | NIM_STRLIT_FLAG, "invalid character constant" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_215 = {26, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_214};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_216 = {26, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_214};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_240 = { 1 | NIM_STRLIT_FLAG, "_" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_241 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_240};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_242 = { 15 | NIM_STRLIT_FLAG, "invalid token: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_243 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_242};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_244 = { 3 | NIM_STRLIT_FLAG, " (\\" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_245 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_244};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_249 = { 25 | NIM_STRLIT_FLAG, "invalid character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_250 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_249};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_254 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_255 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_254};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_257 = { 39 | NIM_STRLIT_FLAG, "missing closing \' for character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_258 = {39, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_257};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_259 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_82};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_263 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_82};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_265 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_269 = { 78 | NIM_STRLIT_FLAG, "$1 will soon be invalid for oct literals; Use \'0o\' for octals. \'c\', \'C\' prefix" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_270 = {78, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_269};
static const struct {
  NI cap; NIM_CHAR data[119+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_275 = { 119 | NIM_STRLIT_FLAG, "only single underscores may occur in a token and token may not end with an underscore: e.g. \'1__1\' and \'1_\' are invalid" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_276 = {119, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_275};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_278 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_279 = { 69 | NIM_STRLIT_FLAG, "$1 is an invalid int literal; For octal literals use the \'0o\' prefix." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_280 = {69, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_279};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_282 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_285 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_286 = { 9 | NIM_STRLIT_FLAG, "getNumber" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_287 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_286};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_289 = { 20 | NIM_STRLIT_FLAG, "invalid number: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_290 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_289};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_295 = {
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
0x50, 0x02, 0x20, 0x00, 0x50, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_298 = { 1 | NIM_STRLIT_FLAG, "f" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_299 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_298};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_300 = { 3 | NIM_STRLIT_FLAG, "f32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_301 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_300};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_302 = { 1 | NIM_STRLIT_FLAG, "d" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_303 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_302};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_304 = { 3 | NIM_STRLIT_FLAG, "f64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_305 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_304};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_306 = { 4 | NIM_STRLIT_FLAG, "f128" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_307 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_306};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_308 = { 2 | NIM_STRLIT_FLAG, "i8" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_309 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_308};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_310 = { 3 | NIM_STRLIT_FLAG, "i16" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_311 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_310};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_312 = { 3 | NIM_STRLIT_FLAG, "i32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_313 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_312};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_314 = { 3 | NIM_STRLIT_FLAG, "i64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_315 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_314};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_316 = { 1 | NIM_STRLIT_FLAG, "u" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_317 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_316};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_318 = { 2 | NIM_STRLIT_FLAG, "u8" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_319 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_318};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_320 = { 3 | NIM_STRLIT_FLAG, "u16" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_321 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_320};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_322 = { 3 | NIM_STRLIT_FLAG, "u32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_323 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_322};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_324 = { 3 | NIM_STRLIT_FLAG, "u64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_325 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_324};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_326 = { 27 | NIM_STRLIT_FLAG, "invalid number suffix: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_327 = {27, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_326};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_328 = {27, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_326};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_330 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_289};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_347 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_286};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_349 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_286};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_351 = { 11 | NIM_STRLIT_FLAG, "unreachable" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_352 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_351};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_353 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_351};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_357 = { 11 | NIM_STRLIT_FLAG, "number has " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_358 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_357};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_359 = { 31 | NIM_STRLIT_FLAG, " digits but type only supports " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_360 = {31, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_359};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_361 = { 13 | NIM_STRLIT_FLAG, " digits: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_362 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_361};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_363 = { 25 | NIM_STRLIT_FLAG, "number out of range: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_364 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_363};
extern TNimTypeV2 NTIv2__TMksqY4dIpMVlFPAvYw2NA_;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_365 = { 21 | NIM_STRLIT_FLAG, "number out of range: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_366 = {21, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_365};
extern TNimTypeV2 NTIv2__YUzEEs8pGqG7cYmcRoc5rw_;
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_367 = { 17 | NIM_STRLIT_FLAG, "invalid integer: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_368 = {17, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_367};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_369 = {21, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_365};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_370 = {17, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_367};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_371 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_363};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_372 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_289};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_373 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_363};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_374 = { 58 | NIM_STRLIT_FLAG, "invalid token: no whitespace between number and identifier" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_375 = {58, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_374};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_378 = {
0x00, 0x26, 0x00, 0x00, 0x01, 0x11, 0x00, 0x08,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_380 = {58, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_374};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_381 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_242};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_382 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_244};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_384 = { 8 | NIM_STRLIT_FLAG, "keyword " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_385 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_384};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_386 = { 9 | NIM_STRLIT_FLAG, "tkInvalid" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_387 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_386};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_388 = { 5 | NIM_STRLIT_FLAG, "[EOF]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_389 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_388};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_390 = { 8 | NIM_STRLIT_FLAG, "tkSymbol" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_391 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_390};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_392 = { 4 | NIM_STRLIT_FLAG, "addr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_393 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_392};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_394 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_395 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_394};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_396 = { 2 | NIM_STRLIT_FLAG, "as" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_397 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_396};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_398 = { 3 | NIM_STRLIT_FLAG, "asm" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_399 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_398};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_400 = { 4 | NIM_STRLIT_FLAG, "bind" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_401 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_400};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_402 = { 5 | NIM_STRLIT_FLAG, "block" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_403 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_402};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_404 = { 5 | NIM_STRLIT_FLAG, "break" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_405 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_404};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_406 = { 4 | NIM_STRLIT_FLAG, "case" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_407 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_406};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_408 = { 4 | NIM_STRLIT_FLAG, "cast" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_409 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_408};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_410 = { 7 | NIM_STRLIT_FLAG, "concept" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_411 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_410};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_412 = { 5 | NIM_STRLIT_FLAG, "const" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_413 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_412};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_414 = { 8 | NIM_STRLIT_FLAG, "continue" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_415 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_414};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_416 = { 9 | NIM_STRLIT_FLAG, "converter" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_417 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_416};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_418 = { 5 | NIM_STRLIT_FLAG, "defer" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_419 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_418};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_420 = { 7 | NIM_STRLIT_FLAG, "discard" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_421 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_420};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_422 = { 8 | NIM_STRLIT_FLAG, "distinct" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_423 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_422};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_424 = { 3 | NIM_STRLIT_FLAG, "div" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_425 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_424};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_426 = { 2 | NIM_STRLIT_FLAG, "do" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_427 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_426};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_428 = { 4 | NIM_STRLIT_FLAG, "elif" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_429 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_428};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_430 = { 4 | NIM_STRLIT_FLAG, "else" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_431 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_430};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_432 = { 3 | NIM_STRLIT_FLAG, "end" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_433 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_432};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_434 = { 4 | NIM_STRLIT_FLAG, "enum" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_435 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_434};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_436 = { 6 | NIM_STRLIT_FLAG, "except" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_437 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_436};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_438 = { 6 | NIM_STRLIT_FLAG, "export" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_439 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_438};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_440 = { 7 | NIM_STRLIT_FLAG, "finally" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_441 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_440};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_442 = { 3 | NIM_STRLIT_FLAG, "for" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_443 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_442};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_444 = { 4 | NIM_STRLIT_FLAG, "from" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_445 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_444};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_446 = { 4 | NIM_STRLIT_FLAG, "func" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_447 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_446};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_448 = { 2 | NIM_STRLIT_FLAG, "if" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_449 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_448};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_450 = { 6 | NIM_STRLIT_FLAG, "import" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_451 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_450};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_452 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_453 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_452};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_454 = { 7 | NIM_STRLIT_FLAG, "include" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_455 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_454};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_456 = { 9 | NIM_STRLIT_FLAG, "interface" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_457 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_456};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_458 = { 2 | NIM_STRLIT_FLAG, "is" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_459 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_458};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_460 = { 5 | NIM_STRLIT_FLAG, "isnot" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_461 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_460};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_462 = { 8 | NIM_STRLIT_FLAG, "iterator" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_463 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_462};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_464 = { 3 | NIM_STRLIT_FLAG, "let" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_465 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_464};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_466 = { 5 | NIM_STRLIT_FLAG, "macro" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_467 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_466};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_468 = { 6 | NIM_STRLIT_FLAG, "method" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_469 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_468};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_470 = { 5 | NIM_STRLIT_FLAG, "mixin" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_471 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_470};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_472 = { 3 | NIM_STRLIT_FLAG, "mod" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_473 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_472};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_474 = { 3 | NIM_STRLIT_FLAG, "nil" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_475 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_474};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_476 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_477 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_476};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_478 = { 5 | NIM_STRLIT_FLAG, "notin" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_479 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_478};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_480 = { 6 | NIM_STRLIT_FLAG, "object" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_481 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_480};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_482 = { 2 | NIM_STRLIT_FLAG, "of" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_483 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_482};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_484 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_485 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_484};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_486 = { 3 | NIM_STRLIT_FLAG, "out" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_487 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_486};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_488 = { 4 | NIM_STRLIT_FLAG, "proc" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_489 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_488};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_490 = { 3 | NIM_STRLIT_FLAG, "ptr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_491 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_490};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_492 = { 5 | NIM_STRLIT_FLAG, "raise" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_493 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_492};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_494 = { 3 | NIM_STRLIT_FLAG, "ref" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_495 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_494};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_496 = { 6 | NIM_STRLIT_FLAG, "return" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_497 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_496};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_498 = { 3 | NIM_STRLIT_FLAG, "shl" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_499 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_498};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_500 = { 3 | NIM_STRLIT_FLAG, "shr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_501 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_500};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_502 = { 6 | NIM_STRLIT_FLAG, "static" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_503 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_502};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_504 = { 8 | NIM_STRLIT_FLAG, "template" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_505 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_504};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_506 = { 3 | NIM_STRLIT_FLAG, "try" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_507 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_506};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_508 = { 5 | NIM_STRLIT_FLAG, "tuple" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_509 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_508};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_510 = { 4 | NIM_STRLIT_FLAG, "type" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_511 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_510};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_512 = { 5 | NIM_STRLIT_FLAG, "using" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_513 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_512};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_514 = { 3 | NIM_STRLIT_FLAG, "var" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_515 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_514};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_516 = { 4 | NIM_STRLIT_FLAG, "when" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_517 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_516};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_518 = { 5 | NIM_STRLIT_FLAG, "while" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_519 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_518};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_520 = { 3 | NIM_STRLIT_FLAG, "xor" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_521 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_520};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_522 = { 5 | NIM_STRLIT_FLAG, "yield" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_523 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_522};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_524 = { 8 | NIM_STRLIT_FLAG, "tkIntLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_525 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_524};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_526 = { 9 | NIM_STRLIT_FLAG, "tkInt8Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_527 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_526};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_528 = { 10 | NIM_STRLIT_FLAG, "tkInt16Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_529 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_528};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_530 = { 10 | NIM_STRLIT_FLAG, "tkInt32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_531 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_530};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_532 = { 10 | NIM_STRLIT_FLAG, "tkInt64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_533 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_532};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_534 = { 9 | NIM_STRLIT_FLAG, "tkUIntLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_535 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_534};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_536 = { 10 | NIM_STRLIT_FLAG, "tkUInt8Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_537 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_536};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_538 = { 11 | NIM_STRLIT_FLAG, "tkUInt16Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_539 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_538};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_540 = { 11 | NIM_STRLIT_FLAG, "tkUInt32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_541 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_540};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_542 = { 11 | NIM_STRLIT_FLAG, "tkUInt64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_543 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_542};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_544 = { 10 | NIM_STRLIT_FLAG, "tkFloatLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_545 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_544};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_546 = { 12 | NIM_STRLIT_FLAG, "tkFloat32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_547 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_546};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_548 = { 12 | NIM_STRLIT_FLAG, "tkFloat64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_549 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_548};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_550 = { 13 | NIM_STRLIT_FLAG, "tkFloat128Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_551 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_550};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_552 = { 8 | NIM_STRLIT_FLAG, "tkStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_553 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_552};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_554 = { 9 | NIM_STRLIT_FLAG, "tkRStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_555 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_554};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_556 = { 14 | NIM_STRLIT_FLAG, "tkTripleStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_557 = {14, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_556};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_558 = { 9 | NIM_STRLIT_FLAG, "tkGStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_559 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_558};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_560 = { 15 | NIM_STRLIT_FLAG, "tkGTripleStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_561 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_560};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_562 = { 9 | NIM_STRLIT_FLAG, "tkCharLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_563 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_562};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_564 = { 11 | NIM_STRLIT_FLAG, "tkCustomLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_565 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_564};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_566 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_567 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_566};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_568 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_569 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_568};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_570 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_571 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_570};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_572 = { 1 | NIM_STRLIT_FLAG, "]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_573 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_572};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_574 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_575 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_574};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_576 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_577 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_576};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_578 = { 2 | NIM_STRLIT_FLAG, "[." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_579 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_578};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_580 = { 2 | NIM_STRLIT_FLAG, ".]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_581 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_580};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_582 = { 2 | NIM_STRLIT_FLAG, "{." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_583 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_582};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_584 = { 2 | NIM_STRLIT_FLAG, ".}" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_585 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_584};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_586 = { 2 | NIM_STRLIT_FLAG, "(." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_587 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_586};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_588 = { 2 | NIM_STRLIT_FLAG, ".)" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_589 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_588};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_590 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_591 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_590};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_592 = { 1 | NIM_STRLIT_FLAG, ";" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_593 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_592};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_594 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_595 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_594};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_596 = { 2 | NIM_STRLIT_FLAG, "::" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_597 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_596};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_598 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_599 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_598};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_600 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_601 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_600};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_602 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_603 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_602};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_604 = { 2 | NIM_STRLIT_FLAG, "[:" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_605 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_604};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_606 = { 5 | NIM_STRLIT_FLAG, "tkOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_607 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_606};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_608 = { 9 | NIM_STRLIT_FLAG, "tkComment" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_609 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_608};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_610 = { 1 | NIM_STRLIT_FLAG, "`" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_611 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_610};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_612 = { 8 | NIM_STRLIT_FLAG, "tkSpaces" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_613 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_612};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_614 = { 10 | NIM_STRLIT_FLAG, "tkInfixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_615 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_614};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_616 = { 11 | NIM_STRLIT_FLAG, "tkPrefixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_617 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_616};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_618 = { 12 | NIM_STRLIT_FLAG, "tkPostfixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_619 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_618};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_620 = { 15 | NIM_STRLIT_FLAG, "tkHideableStart" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_621 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_620};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_622 = { 13 | NIM_STRLIT_FLAG, "tkHideableEnd" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_623 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_622};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_624 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_625 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_624};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_626 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_82};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_6 = {{68, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_7},
((NI)204),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_84 = {{68, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_7},
((NI)927),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_288 = {{68, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_7},
((NI)392),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_348 = {{68, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_7},
((NI)497),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_350 = {{68, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_7},
((NI)514),
((NI)27)}
;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static NIM_CONST NU32 TM__4JpEWnGrmRM8CRqL3P2O1Q_2[3] = {3701606400, 1699789568, 3173339136};
N_LIB_PRIVATE TNimTypeV2 NTIv2__pr0lUFd9b8B8UI5LygxHiDA_ = {.destructor = (void*)rttiDestroy__OOZOOZOOZcompilerZlexer_u2158, .size = sizeof(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA), .align = (NI16) NIM_ALIGNOF(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA), .depth = 2, .display = TM__4JpEWnGrmRM8CRqL3P2O1Q_2, .traceImpl = (void*)eqtrace___OOZOOZOOZcompilerZlexer_u318, .flags = 0};
extern NIM_THREADVAR Exception* currException__system_u3686;
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3185(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3555(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZlexer_u306)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZoptions_u1565((&(*(*dest_p0).config)));
		nimRawDispose((*dest_p0).config, ((NI)8));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLast((*dest_p0).cache);
		if (!T8_) goto LA9_;
		eqdestroy___OOZOOZOOZcompilerZidents_u275((&(*(*dest_p0).cache)));
		nimRawDispose((*dest_p0).cache, ((NI)8));
	}
LA9_: ;
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastCyclicDyn((*dest_p0).errorHandler.ClE_0);
		if (!T13_) goto LA14_;
		nimDestroyAndDispose((*dest_p0).errorHandler.ClE_0);
	}
LA14_: ;
	{
		NIM_BOOL T18_;
		T18_ = (NIM_BOOL)0;
		T18_ = nimDecRefIsLastCyclicDyn((*dest_p0).Sup.stream);
		if (!T18_) goto LA19_;
		nimDestroyAndDispose((*dest_p0).Sup.stream);
	}
LA19_: ;
	if ((*dest_p0).Sup.bufStorage.p && !((*dest_p0).Sup.bufStorage.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Sup.bufStorage.p);
}
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__OOZOOZOOZcompilerZlexer_u2158)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___OOZOOZOOZcompilerZlexer_u306(((tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA*) (dest_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) + (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, add__system_u3076)(tyObject_CellSeq__ssWvVk43J2HePNvNGK2tCw* s_p0, void** c_p1, TNimTypeV2* t_p2) {
	void** colontmp_;
	TNimTypeV2* colontmp__2;
	{
		if (!((*s_p0).cap <= (*s_p0).len)) goto LA3_;
		resize__system_u3084(s_p0);
	}
LA3_: ;
	colontmp_ = c_p1;
	colontmp__2 = t_p2;
	(*s_p0).d[(*s_p0).len].Field0 = colontmp_;
	(*s_p0).d[(*s_p0).len].Field1 = colontmp__2;
	(*s_p0).len = pluspercent___system_u793((*s_p0).len, ((NI)1));
}
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1) {
	void** p_1;
	p_1 = ((void**) (q_p0));
	{
		tyObject_GcEnv__1z8AJ0tfLlYlFBizZRHD7A* j_1;
		if (!!(((*p_1) == NIM_NIL))) goto LA3_;
		j_1 = ((tyObject_GcEnv__1z8AJ0tfLlYlFBizZRHD7A*) (env_p1));
		add__system_u3076((&(*j_1).traceStack), p_1, (*((TNimTypeV2**) ((*p_1)))));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___OOZOOZOOZcompilerZlexer_u318)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* dest_p0, void* env_p1) {
	nimTraceRefDyn(&(*dest_p0).Sup.stream, env_p1);
	nimTraceRefDyn((&(*dest_p0).errorHandler.ClE_0), env_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___OOZOOZOOZcompilerZlexer_u524)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* dest_p0) {
	if ((*dest_p0).literal.p && !((*dest_p0).literal.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).literal.p);
}
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).ident);
		if (!T3_) goto LA4_;
		eqdestroy___OOZOOZOOZcompilerZidents_u174((&(*(*dest_p0).ident)));
		nimRawDispose((*dest_p0).ident, ((NI)8));
	}
LA4_: ;
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___OOZOOZOOZcompilerZlexer_u521)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* dest_p0) {
	(*dest_p0).tokType = 0;
	(*dest_p0).base = 0;
	nimZeroMem((void*)(&(*dest_p0).spacing), sizeof(tySet_tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg));
	(*dest_p0).indent = 0;
	(*dest_p0).ident = 0;
	(*dest_p0).iNumber = 0;
	(*dest_p0).fNumber = 0;
	(*dest_p0).literal.len = 0; (*dest_p0).literal.p = NIM_NIL;
	(*dest_p0).line = 0;
	(*dest_p0).col = 0;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__OOZOOZOOZcompilerZlexer_u255)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* lex_p0, NI32 fileIdx_p1, tyObject_TLLStream__SBuFBW9b2EpSkuka9b9cYZHgQ* inputstream_p2, tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* cache_p3, tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw* config_p4) {
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_3;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	openBaseLexer__OOZOOZOOZcompilerZnimlexbase_u25(&lex_p0->Sup, inputstream_p2, ((NI)8192));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*lex_p0).fileIdx = fileIdx_p1;
	(*lex_p0).indentAhead = ((NI)-1);
	(*lex_p0).currLineIndent = ((NI)0);
	if (nimAddInt((*lex_p0).Sup.lineNumber, (*inputstream_p2).lineOffset, &TM__4JpEWnGrmRM8CRqL3P2O1Q_3)) { raiseOverflow(); goto BeforeRet_;
	};
	(*lex_p0).Sup.lineNumber = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_3);
	eqcopy___OOZOOZOOZcompilerZidents_u342(&(*lex_p0).cache, cache_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___OOZOOZOOZcompilerZoptions_u1943(&(*lex_p0).config, config_p4);
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) - (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__OOZOOZOOZcompilerZlexer_u389)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_p1, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p2, NimStringV2 arg_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*L_p0).errorHandler.ClP_0 == 0)) goto LA3_;
		liMessage__OOZOOZOOZcompilerZmsgs_u1230((*L_p0).config, info_p1, msg_p2, arg_p3, ((tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ)0), (&TM__4JpEWnGrmRM8CRqL3P2O1Q_6), NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		(*L_p0).errorHandler.ClE_0? (*L_p0).errorHandler.ClP_0((*L_p0).config, info_p1, msg_p2, arg_p3, (*L_p0).errorHandler.ClE_0):((TM__4JpEWnGrmRM8CRqL3P2O1Q_8)((*L_p0).errorHandler.ClP_0))((*L_p0).config, info_p1, msg_p2, arg_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__OOZOOZOOZcompilerZlexer_u409)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NI pos_p2, NimStringV2 arg_p3) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (nimSubInt(pos_p2, (*L_p0).Sup.lineStart, &TM__4JpEWnGrmRM8CRqL3P2O1Q_5)) { raiseOverflow(); goto BeforeRet_;
	};
	info_1 = newLineInfo__OOZOOZOOZcompilerZmsgs_u416((*L_p0).fileIdx, (*L_p0).Sup.lineNumber, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__OOZOOZOOZcompilerZlexer_u389((&(*L_p0)), info_1, msg_p1, arg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__OOZOOZOOZcompilerZlexer_u1291)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI pos_p1) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch (((NU8)((*L_p0).Sup.buf[pos_p1]))) {
	case 13:
	{
		NI colX60gensym97__1;
		colX60gensym97__1 = getColNumber__OOZOOZOOZcompilerZnimlexbase_u34((&(*L_p0).Sup), pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = handleCR__OOZOOZOOZcompilerZnimlexbase_u37(&L_p0->Sup, pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 10:
	{
		NI colX60gensym98__1;
		colX60gensym98__1 = getColNumber__OOZOOZOOZcompilerZnimlexbase_u34((&(*L_p0).Sup), pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = handleLF__OOZOOZOOZcompilerZnimlexbase_u40(&L_p0->Sup, pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = pos_p1;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__OOZOOZOOZcompilerZlexer_u1671)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, NI start_p2, NIM_BOOL isDoc_p3) {
	NI pos_1;
	NI toStrip_1;
	NI nesting_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = start_p2;
	toStrip_1 = ((NI)0);
	{
		if (!isDoc_p3) goto LA3_;
		toStrip_1 = getColNumber__OOZOOZOOZcompilerZnimlexbase_u34((&(*L_p0).Sup), pos_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_15;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_16;
				if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA6;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_15)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_15);
				if (nimAddInt(toStrip_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_16)) { raiseOverflow(); goto BeforeRet_;
				};
				toStrip_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_16);
			} LA6: ;
		}
		{
			while (1) {
				if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)))) goto LA8;
				pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				toStrip_1 = ((NI)0);
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_17;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_18;
						if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA10;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_17)) { raiseOverflow(); goto BeforeRet_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_17);
						if (nimAddInt(toStrip_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_18)) { raiseOverflow(); goto BeforeRet_;
						};
						toStrip_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_18);
					} LA10: ;
				}
			} LA8: ;
		}
	}
LA3_: ;
	nesting_1 = ((NI)0);
	{
		while (1) {
			switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
			case 35:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_24;
				{
					if (!isDoc_p3) goto LA16_;
					{
						NIM_BOOL T20_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_19;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_20;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_21;
						T20_ = (NIM_BOOL)0;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_19)) { raiseOverflow(); goto BeforeRet_;
						};
						T20_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_19)]) == (NU8)(35));
						if (!(T20_)) goto LA21_;
						if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_20)) { raiseOverflow(); goto BeforeRet_;
						};
						T20_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_20)]) == (NU8)(91));
LA21_: ;
						if (!T20_) goto LA22_;
						if (nimAddInt(nesting_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_21)) { raiseOverflow(); goto BeforeRet_;
						};
						nesting_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_21);
					}
LA22_: ;
					nimAddCharV1((&(*tok_p1).literal), 35);
				}
				goto LA14_;
LA16_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_22;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_23;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_22)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_22)]) == (NU8)(91))) goto LA25_;
					if (nimAddInt(nesting_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_23)) { raiseOverflow(); goto BeforeRet_;
					};
					nesting_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_23);
				}
				goto LA14_;
LA25_: ;
LA14_: ;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_24)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_24);
			}
			break;
			case 93:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_32;
				{
					if (!isDoc_p3) goto LA30_;
					{
						NIM_BOOL T34_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_25;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_26;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_28;
						T34_ = (NIM_BOOL)0;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_25)) { raiseOverflow(); goto BeforeRet_;
						};
						T34_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_25)]) == (NU8)(35));
						if (!(T34_)) goto LA35_;
						if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_26)) { raiseOverflow(); goto BeforeRet_;
						};
						T34_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_26)]) == (NU8)(35));
LA35_: ;
						if (!T34_) goto LA36_;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_27;
							if (!(nesting_1 == ((NI)0))) goto LA40_;
							if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_27)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_27);
							goto LA11;
						}
LA40_: ;
						if (nimSubInt(nesting_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_28)) { raiseOverflow(); goto BeforeRet_;
						};
						nesting_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_28);
					}
LA36_: ;
					nimAddCharV1((&(*tok_p1).literal), 93);
				}
				goto LA28_;
LA30_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_29;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_31;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_29)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_29)]) == (NU8)(35))) goto LA43_;
					{
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_30;
						if (!(nesting_1 == ((NI)0))) goto LA47_;
						if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_30)) { raiseOverflow(); goto BeforeRet_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_30);
						goto LA11;
					}
LA47_: ;
					if (nimSubInt(nesting_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_31)) { raiseOverflow(); goto BeforeRet_;
					};
					nesting_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_31);
				}
				goto LA28_;
LA43_: ;
LA28_: ;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_32)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_32);
			}
			break;
			case 13:
			case 10:
			{
				pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					NI c_1;
					if (!isDoc_p3) goto LA52_;
					prepareAdd((&(*tok_p1).literal), 1);
appendString((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_34);
					c_1 = toStrip_1;
					{
						while (1) {
							NIM_BOOL T56_;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_35;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_36;
							T56_ = (NIM_BOOL)0;
							T56_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32));
							if (!(T56_)) goto LA57_;
							T56_ = (((NI)0) < c_1);
LA57_: ;
							if (!T56_) goto LA55;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_35)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_35);
							if (nimSubInt(c_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_36)) { raiseOverflow(); goto BeforeRet_;
							};
							c_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_36);
						} LA55: ;
					}
				}
LA52_: ;
			}
			break;
			case 0:
			{
				lexMessagePos__OOZOOZOOZcompilerZlexer_u409(L_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), pos_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_38);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA11;
			}
			break;
			default:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_39;
				{
					NIM_BOOL T62_;
					T62_ = (NIM_BOOL)0;
					T62_ = isDoc_p3;
					if (T62_) goto LA63_;
					T62_ = NIM_FALSE;
LA63_: ;
					if (!T62_) goto LA64_;
					nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
				}
LA64_: ;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_39)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_39);
			}
			break;
			}
		}
	} LA11: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skip__OOZOOZOOZcompilerZlexer_u1831)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI pos_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	(*tok_p1).spacing &= ~(((NU8)1) << (((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0))) & 7));
	{
		while (1) {
			switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
			case 32:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_4;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_4)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_4);
				(*tok_p1).spacing |= ((NU8)1)<<(((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0))) & 7);
			}
			break;
			case 9:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_11;
				lexMessagePos__OOZOOZOOZcompilerZlexer_u409(L_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), pos_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_10);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_11)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_11);
			}
			break;
			case 13:
			case 10:
			{
				NI indent_1;
				pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				indent_1 = ((NI)0);
				{
					while (1) {
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_12;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_13;
							if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA10_;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_12)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_12);
							if (nimAddInt(indent_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_13)) { raiseOverflow(); goto BeforeRet_;
							};
							indent_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_13);
						}
						goto LA8_;
LA10_: ;
						{
							NIM_BOOL T13_;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_14;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_40;
							T13_ = (NIM_BOOL)0;
							T13_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(35));
							if (!(T13_)) goto LA14_;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_14)) { raiseOverflow(); goto BeforeRet_;
							};
							T13_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_14)]) == (NU8)(91));
LA14_: ;
							if (!T13_) goto LA15_;
							if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_40)) { raiseOverflow(); goto BeforeRet_;
							};
							skipMultiLineComment__OOZOOZOOZcompilerZlexer_u1671(L_p0, tok_p1, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_40), NIM_FALSE);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							pos_1 = (*L_p0).Sup.bufpos;
						}
						goto LA8_;
LA15_: ;
						{
							goto LA6;
						}
LA8_: ;
					}
				} LA6: ;
				(*tok_p1).spacing &= ~(((NU8)1) << (((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)0))) & 7));
				{
					NIM_BOOL T20_;
					NIM_BOOL T22_;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_41;
					T20_ = (NIM_BOOL)0;
					T20_ = ((NU8)(32) < (NU8)((*L_p0).Sup.buf[pos_1]));
					if (!(T20_)) goto LA21_;
					T22_ = (NIM_BOOL)0;
					T22_ = !(((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(35)));
					if (T22_) goto LA23_;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_41)) { raiseOverflow(); goto BeforeRet_;
					};
					T22_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_41)]) == (NU8)(35));
LA23_: ;
					T20_ = T22_;
LA21_: ;
					if (!T20_) goto LA24_;
					(*tok_p1).indent = indent_1;
					(*L_p0).currLineIndent = indent_1;
					goto LA1;
				}
LA24_: ;
			}
			break;
			case 35:
			{
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_42;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_42)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_42)]) == (NU8)(35))) goto LA29_;
					goto LA1;
				}
LA29_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_43;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_44;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_43)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_43)]) == (NU8)(91))) goto LA33_;
					if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_44)) { raiseOverflow(); goto BeforeRet_;
					};
					skipMultiLineComment__OOZOOZOOZcompilerZlexer_u1671(L_p0, tok_p1, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_44), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos_1 = (*L_p0).Sup.bufpos;
				}
				goto LA31_;
LA33_: ;
				{
					{
						while (1) {
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_45;
							if (!!((((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(0))))) goto LA37;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_45)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_45);
						} LA37: ;
					}
				}
LA31_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
static N_INLINE(NI, emarkamp___pureZhashes_u4)(NI h_p0, NI val_p1) {
	NI result;
	NU h_2;
	NU val_2;
	NU res_1;
	h_2 = ((NU) (h_p0));
	val_2 = ((NU) (val_p1));
	res_1 = (NU)((NU64)(h_2) + (NU64)(val_2));
	res_1 = (NU)((NU64)(res_1) + (NU64)((NU)((NU64)(res_1) << (NU64)(((NI)10) & (64 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU64)(res_1) >> (NU64)(((NI)6) & (64 - 1))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA, getLineInfo__OOZOOZOOZcompilerZlexer_u386)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA));
	T1_ = (NI)0;
	T1_ = getColNumber__OOZOOZOOZcompilerZnimlexbase_u34((&(*L_p0).Sup), (*L_p0).Sup.bufpos);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newLineInfo__OOZOOZOOZcompilerZmsgs_u416((*L_p0).fileIdx, (*L_p0).Sup.lineNumber, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__OOZOOZOOZcompilerZlexer_u399)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, NimStringV2 arg_p2) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = getLineInfo__OOZOOZOOZcompilerZlexer_u386(L_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__OOZOOZOOZcompilerZlexer_u389(L_p0, T1_, msg_p1, arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__mvuhCheBMFBYvdgIMGELfQ, unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426)(NCSTRING buf_p0, NI pos_p1) {
	tyTuple__mvuhCheBMFBYvdgIMGELfQ result;
	NI8 colontmp_;
	tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__2;
{	colontmp_ = ((NI8)0);
	colontmp__2 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	switch (((NU8)(buf_p0[pos_p1]))) {
	case 226:
	{
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_53;
			if (nimAddInt(pos_p1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_53)) { raiseOverflow(); goto BeforeRet_;
			};
			if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_53)]) == (NU8)(136))) goto LA4_;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_54;
				NI8 colontmp__3;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__4;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_54)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_54)]) == (NU8)(152))) goto LA8_;
				colontmp__3 = ((NI8)3);
				colontmp__4 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__3;
				result.Field1 = colontmp__4;
			}
			goto LA6_;
LA8_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_55;
				NI8 colontmp__5;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__6;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_55)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_55)]) == (NU8)(153))) goto LA11_;
				colontmp__5 = ((NI8)3);
				colontmp__6 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__5;
				result.Field1 = colontmp__6;
			}
			goto LA6_;
LA11_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_56;
				NI8 colontmp__7;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__8;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_56)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_56)]) == (NU8)(167))) goto LA14_;
				colontmp__7 = ((NI8)3);
				colontmp__8 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__7;
				result.Field1 = colontmp__8;
			}
			goto LA6_;
LA14_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_57;
				NI8 colontmp__9;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__10;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_57)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_57)]) == (NU8)(168))) goto LA17_;
				colontmp__9 = ((NI8)3);
				colontmp__10 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__9;
				result.Field1 = colontmp__10;
			}
			goto LA6_;
LA17_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_58;
				NI8 colontmp__11;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__12;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_58)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_58)]) == (NU8)(169))) goto LA20_;
				colontmp__11 = ((NI8)3);
				colontmp__12 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__11;
				result.Field1 = colontmp__12;
			}
			goto LA6_;
LA20_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_59;
				NI8 colontmp__13;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__14;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_59)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_59)]) == (NU8)(170))) goto LA23_;
				colontmp__13 = ((NI8)3);
				colontmp__14 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__13;
				result.Field1 = colontmp__14;
			}
			goto LA6_;
LA23_: ;
LA6_: ;
		}
		goto LA2_;
LA4_: ;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_60;
			if (nimAddInt(pos_p1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_60)) { raiseOverflow(); goto BeforeRet_;
			};
			if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_60)]) == (NU8)(138))) goto LA26_;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_61;
				NI8 colontmp__15;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__16;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_61)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_61)]) == (NU8)(147))) goto LA30_;
				colontmp__15 = ((NI8)3);
				colontmp__16 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__15;
				result.Field1 = colontmp__16;
			}
			goto LA28_;
LA30_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_62;
				NI8 colontmp__17;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__18;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_62)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_62)]) == (NU8)(148))) goto LA33_;
				colontmp__17 = ((NI8)3);
				colontmp__18 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__17;
				result.Field1 = colontmp__18;
			}
			goto LA28_;
LA33_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_63;
				NI8 colontmp__19;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__20;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_63)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_63)]) == (NU8)(149))) goto LA36_;
				colontmp__19 = ((NI8)3);
				colontmp__20 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__19;
				result.Field1 = colontmp__20;
			}
			goto LA28_;
LA36_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_64;
				NI8 colontmp__21;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__22;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_64)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_64)]) == (NU8)(150))) goto LA39_;
				colontmp__21 = ((NI8)3);
				colontmp__22 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__21;
				result.Field1 = colontmp__22;
			}
			goto LA28_;
LA39_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_65;
				NI8 colontmp__23;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__24;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_65)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_65)]) == (NU8)(151))) goto LA42_;
				colontmp__23 = ((NI8)3);
				colontmp__24 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__23;
				result.Field1 = colontmp__24;
			}
			goto LA28_;
LA42_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_66;
				NI8 colontmp__25;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__26;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_66)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_66)]) == (NU8)(152))) goto LA45_;
				colontmp__25 = ((NI8)3);
				colontmp__26 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__25;
				result.Field1 = colontmp__26;
			}
			goto LA28_;
LA45_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_67;
				NI8 colontmp__27;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__28;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_67)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_67)]) == (NU8)(153))) goto LA48_;
				colontmp__27 = ((NI8)3);
				colontmp__28 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__27;
				result.Field1 = colontmp__28;
			}
			goto LA28_;
LA48_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_68;
				NI8 colontmp__29;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__30;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_68)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_68)]) == (NU8)(155))) goto LA51_;
				colontmp__29 = ((NI8)3);
				colontmp__30 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__29;
				result.Field1 = colontmp__30;
			}
			goto LA28_;
LA51_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_69;
				NI8 colontmp__31;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__32;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_69)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_69)]) == (NU8)(158))) goto LA54_;
				colontmp__31 = ((NI8)3);
				colontmp__32 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__31;
				result.Field1 = colontmp__32;
			}
			goto LA28_;
LA54_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_70;
				NI8 colontmp__33;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__34;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_70)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_70)]) == (NU8)(159))) goto LA57_;
				colontmp__33 = ((NI8)3);
				colontmp__34 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
				result.Field0 = colontmp__33;
				result.Field1 = colontmp__34;
			}
			goto LA28_;
LA57_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_71;
				NI8 colontmp__35;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__36;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_71)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_71)]) == (NU8)(160))) goto LA60_;
				colontmp__35 = ((NI8)3);
				colontmp__36 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__35;
				result.Field1 = colontmp__36;
			}
			goto LA28_;
LA60_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_72;
				NI8 colontmp__37;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__38;
				if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_72)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_72)]) == (NU8)(161))) goto LA63_;
				colontmp__37 = ((NI8)3);
				colontmp__38 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
				result.Field0 = colontmp__37;
				result.Field1 = colontmp__38;
			}
			goto LA28_;
LA63_: ;
LA28_: ;
		}
		goto LA2_;
LA26_: ;
		{
			NIM_BOOL T66_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_73;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_74;
			NI8 colontmp__39;
			tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__40;
			T66_ = (NIM_BOOL)0;
			if (nimAddInt(pos_p1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_73)) { raiseOverflow(); goto BeforeRet_;
			};
			T66_ = ((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_73)]) == (NU8)(152));
			if (!(T66_)) goto LA67_;
			if (nimAddInt(pos_p1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_74)) { raiseOverflow(); goto BeforeRet_;
			};
			T66_ = ((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_74)]) == (NU8)(133));
LA67_: ;
			if (!T66_) goto LA68_;
			colontmp__39 = ((NI8)3);
			colontmp__40 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
			result.Field0 = colontmp__39;
			result.Field1 = colontmp__40;
		}
		goto LA2_;
LA68_: ;
LA2_: ;
	}
	break;
	case 194:
	{
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_75;
			NI8 colontmp__41;
			tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__42;
			if (nimAddInt(pos_p1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_75)) { raiseOverflow(); goto BeforeRet_;
			};
			if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_75)]) == (NU8)(177))) goto LA73_;
			colontmp__41 = ((NI8)2);
			colontmp__42 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)1);
			result.Field0 = colontmp__41;
			result.Field1 = colontmp__42;
		}
LA73_: ;
	}
	break;
	case 195:
	{
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_76;
			NI8 colontmp__43;
			tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g colontmp__44;
			if (nimAddInt(pos_p1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_76)) { raiseOverflow(); goto BeforeRet_;
			};
			if (!((NU8)(buf_p0[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_76)]) == (NU8)(151))) goto LA78_;
			colontmp__43 = ((NI8)2);
			colontmp__44 = ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0);
			result.Field0 = colontmp__43;
			result.Field1 = colontmp__44;
		}
LA78_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, emarkdollar___pureZhashes_u19)(NI h_p0) {
	NI result;
	NU h_2;
	NU res_1;
	h_2 = ((NU) (h_p0));
	res_1 = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI)3) & (64 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU64)(res_1) >> (NU64)(((NI)11) & (64 - 1))));
	res_1 = (NU)((NU64)(res_1) + (NU64)((NU)((NU64)(res_1) << (NU64)(((NI)15) & (64 - 1)))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__OOZOOZOOZcompilerZlexer_u1473)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI h_1;
	NI pos_1;
	NIM_BOOL suspicious_1;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* T20_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_78;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* T21_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = ((NI)0);
	pos_1 = (*L_p0).Sup.bufpos;
	suspicious_1 = NIM_FALSE;
	{
		while (1) {
			NIM_CHAR c_1;
			c_1 = (*L_p0).Sup.buf[pos_1];
			switch (((NU8)(c_1))) {
			case 97 ... 122:
			case 48 ... 57:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_46;
				h_1 = emarkamp___pureZhashes_u4(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_46)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_46);
			}
			break;
			case 65 ... 90:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_47;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_48;
				if (nimAddInt(((NU8)(c_1)), ((NI)32), &TM__4JpEWnGrmRM8CRqL3P2O1Q_47)) { raiseOverflow(); goto BeforeRet_;
				};
				if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_47)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_47)) > ((NI)255)){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_47), ((NI)0), ((NI)255)); goto BeforeRet_;
				}
				c_1 = ((NIM_CHAR) (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_47))));
				h_1 = emarkamp___pureZhashes_u4(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_48)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_48);
				suspicious_1 = NIM_TRUE;
			}
			break;
			case 95:
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_52;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_49;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_49)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!!((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_49)])) <= ((NU8)(255))))) goto LA8_;
					lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_51);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA8_: ;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_52)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_52);
				suspicious_1 = NIM_TRUE;
			}
			break;
			case 128 ... 255:
			{
				{
					NIM_BOOL T13_;
					tyTuple__mvuhCheBMFBYvdgIMGELfQ T15_;
					T13_ = (NIM_BOOL)0;
					T13_ = (((NU8)(c_1)) == ((NU8)(226)) || ((NU8)(c_1)) == ((NU8)(194)) || ((NU8)(c_1)) == ((NU8)(195)));
					if (!(T13_)) goto LA14_;
					T15_ = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426((*L_p0).Sup.buf, pos_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T13_ = !((T15_.Field0 == ((NI8)0)));
LA14_: ;
					if (!T13_) goto LA16_;
					goto LA1;
				}
				goto LA11_;
LA16_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_77;
					h_1 = emarkamp___pureZhashes_u4(h_1, ((NU8)(c_1)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_77)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_77);
				}
LA11_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	h_1 = emarkdollar___pureZhashes_u19(h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T20_ = NIM_NIL;
	T20_ = (*L_p0).cache;
	if (nimSubInt(pos_1, (*L_p0).Sup.bufpos, &TM__4JpEWnGrmRM8CRqL3P2O1Q_78)) { raiseOverflow(); goto BeforeRet_;
	};
	T21_ = NIM_NIL;
	T21_ = getIdent__OOZOOZOOZcompilerZidents_u95(T20_, ((NCSTRING) ((&(*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_78), h_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZidents_u156(T21_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZidents_u165(&(*tok_p1).ident, T21_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T24_;
		T24_ = (NIM_BOOL)0;
		T24_ = ((*(*tok_p1).ident).id < ((NI)1));
		if (T24_) goto LA25_;
		T24_ = (((NI)66) < (*(*tok_p1).ident).id);
LA25_: ;
		if (!T24_) goto LA26_;
		(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2);
	}
	goto LA22_;
LA26_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_79;
		if (nimAddInt((*(*tok_p1).ident).id, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_79)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_79)) < ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_79)) > ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_79), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)); goto BeforeRet_;
		}
		(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_79)));
		{
			NIM_BOOL T31_;
			tySet_tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg T33_;
			NimStringV2 mX60gensym145__1;
			NimStringV2 colontmpD_;
			tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g colontmpD__2;
			tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g colontmpD__3;
			tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g colontmpD__4;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T37_;
			tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msgX60gensym145__1;
			tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T46_;
			T31_ = (NIM_BOOL)0;
			T31_ = suspicious_1;
			if (!(T31_)) goto LA32_;
			T33_ = 0;
			T31_ = !(((229376 & (*(*L_p0).config).globalOptions) == T33_));
LA32_: ;
			if (!T31_) goto LA34_;
			mX60gensym145__1.len = 0; mX60gensym145__1.p = NIM_NIL;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2 = (tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0;
			colontmpD__3 = (tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0;
			colontmpD__4 = (tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)0;
			T37_[0] = (*(*tok_p1).ident).s;
			colontmpD_ = nsuNormalize((*(*tok_p1).ident).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			T37_[1] = colontmpD_;
			T37_[2] = TM__4JpEWnGrmRM8CRqL3P2O1Q_83;
			mX60gensym145__1 = nsuFormatOpenArray(TM__4JpEWnGrmRM8CRqL3P2O1Q_81, T37_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				if (!(((*(*L_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)16)))&63U)))!=0)) goto LA40_;
				colontmpD__2 = ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17);
				msgX60gensym145__1 = colontmpD__2;
			}
			goto LA38_;
LA40_: ;
			{
				if (!(((*(*L_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__EmqdljhsMjyPLrsxWOhMOg)17)))&63U)))!=0)) goto LA43_;
				colontmpD__3 = ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)85);
				msgX60gensym145__1 = colontmpD__3;
			}
			goto LA38_;
LA43_: ;
			{
				colontmpD__4 = ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)107);
				msgX60gensym145__1 = colontmpD__4;
			}
LA38_: ;
			T46_ = getLineInfo__OOZOOZOOZcompilerZlexer_u386((&(*L_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			liMessage__OOZOOZOOZcompilerZmsgs_u1230((*L_p0).config, T46_, msgX60gensym145__1, mX60gensym145__1, ((tyEnum_TErrorHandling__TVDY9cjniDpHSXHIbcThXrQ)0), (&TM__4JpEWnGrmRM8CRqL3P2O1Q_84), NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				LA36_:;
			}
			{
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				if (mX60gensym145__1.p && !(mX60gensym145__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(mX60gensym145__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA34_: ;
	}
LA22_: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
static N_INLINE(void, endOperator__OOZOOZOOZcompilerZlexer_u1564)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, NI pos_p2, NI hash_p3) {
	NI h_1;
	tyObject_IdentCachecolonObjectType___kM30JRennovNjSy87Q0tZg* T1_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_89;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = emarkdollar___pureZhashes_u19(hash_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = (*L_p0).cache;
	if (nimSubInt(pos_p2, (*L_p0).Sup.bufpos, &TM__4JpEWnGrmRM8CRqL3P2O1Q_89)) { raiseOverflow(); goto BeforeRet_;
	};
	T2_ = NIM_NIL;
	T2_ = getIdent__OOZOOZOOZcompilerZidents_u95(T1_, ((NCSTRING) ((&(*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_89), h_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZidents_u156(T2_); goto BeforeRet_;}
	eqsink___OOZOOZOOZcompilerZidents_u165(&(*tok_p1).ident, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*(*tok_p1).ident).id < ((NI)67));
		if (T5_) goto LA6_;
		T5_ = (((NI)71) < (*(*tok_p1).ident).id);
LA6_: ;
		if (!T5_) goto LA7_;
		(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110);
	}
	goto LA3_;
LA7_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_90;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_91;
		if (nimSubInt((*(*tok_p1).ident).id, ((NI)67), &TM__4JpEWnGrmRM8CRqL3P2O1Q_90)) { raiseOverflow(); goto BeforeRet_;
		};
		if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_90), ((NI)104), &TM__4JpEWnGrmRM8CRqL3P2O1Q_91)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_91)) < ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_91)) > ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_91), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)); goto BeforeRet_;
		}
		(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_91)));
	}
LA3_: ;
	(*L_p0).Sup.bufpos = pos_p2;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getOperator__OOZOOZOOZcompilerZlexer_u1573)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI pos_1;
	NI h_1;
	NIM_BOOL trailing_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	h_1 = ((NI)0);
	{
		while (1) {
			NIM_CHAR c_1;
			c_1 = (*L_p0).Sup.buf[pos_1];
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_86;
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_85[(NU)((((NU8)(c_1))))>>3] &(1U<<((NU)((((NU8)(c_1))))&7U)))!=0)) goto LA5_;
				h_1 = emarkamp___pureZhashes_u4(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_86)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_86);
			}
			goto LA3_;
LA5_: ;
			{
				NI8 oprLen_1;
				tyTuple__mvuhCheBMFBYvdgIMGELfQ T10_;
				if (!(((NU8)(c_1)) == ((NU8)(226)) || ((NU8)(c_1)) == ((NU8)(194)) || ((NU8)(c_1)) == ((NU8)(195)))) goto LA8_;
				T10_ = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426((*L_p0).Sup.buf, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				oprLen_1 = T10_.Field0;
				{
					if (!(oprLen_1 == ((NI8)0))) goto LA13_;
					goto LA1;
				}
LA13_: ;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = ((NI) (oprLen_1));
					i_2 = ((NI)0);
					{
						while (1) {
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_87;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_88;
							if (!(i_2 < colontmp_)) goto LA17;
							i_1 = i_2;
							h_1 = emarkamp___pureZhashes_u4(h_1, ((NU8)((*L_p0).Sup.buf[pos_1])));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_87)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_87);
							if (nimAddInt(i_2, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_88)) { raiseOverflow(); goto BeforeRet_;
							};
							i_2 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_88);
						} LA17: ;
					}
				}
			}
			goto LA3_;
LA8_: ;
			{
				goto LA1;
			}
LA3_: ;
		}
	} LA1: ;
	endOperator__OOZOOZOOZcompilerZlexer_u1564(L_p0, tok_p1, pos_1, h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*tok_p1).spacing = ((*tok_p1).spacing & ~ 6);
	trailing_1 = NIM_FALSE;
	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_92;
			if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA20;
			if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_92)) { raiseOverflow(); goto BeforeRet_;
			};
			pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_92);
			trailing_1 = NIM_TRUE;
		} LA20: ;
	}
	{
		if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(0)))) goto LA23_;
		(*tok_p1).spacing |= ((NU8)1)<<(((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)2))) & 7);
	}
	goto LA21_;
LA23_: ;
	{
		if (!trailing_1) goto LA26_;
		(*tok_p1).spacing |= ((NU8)1)<<(((((tyEnum_TokenSpacing__qVjGgblH7LYE7ShSh9aYb9bg)1))) & 7);
	}
	goto LA21_;
LA26_: ;
LA21_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, scanComment__OOZOOZOOZcompilerZlexer_u1763)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI pos_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_98;
	NI toStrip_1;
	NIM_BOOL stripInit_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111);
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_93;
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_93)) { raiseOverflow(); goto BeforeRet_;
		};
		if (!!(((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_93)]) == (NU8)(35)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__4JpEWnGrmRM8CRqL3P2O1Q_95);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_96;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_97;
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_96)) { raiseOverflow(); goto BeforeRet_;
		};
		if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_96)]) == (NU8)(91))) goto LA7_;
		if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_97)) { raiseOverflow(); goto BeforeRet_;
		};
		skipMultiLineComment__OOZOOZOOZcompilerZlexer_u1671(L_p0, tok_p1, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_97), NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_98)) { raiseOverflow(); goto BeforeRet_;
	};
	pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_98);
	toStrip_1 = ((NI)0);
	stripInit_1 = NIM_FALSE;
	{
		while (1) {
			NI indent_1;
			{
				if (!!(stripInit_1)) goto LA13_;
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_99;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_100;
						if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA16;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_99)) { raiseOverflow(); goto BeforeRet_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_99);
						if (nimAddInt(toStrip_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_100)) { raiseOverflow(); goto BeforeRet_;
						};
						toStrip_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_100);
					} LA16: ;
				}
				{
					if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)))) goto LA19_;
					toStrip_1 = ((NI)0);
				}
				goto LA17_;
LA19_: ;
				{
					stripInit_1 = NIM_TRUE;
				}
LA17_: ;
			}
LA13_: ;
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_101;
					if (!!((((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(0))))) goto LA23;
					nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_101)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_101);
				} LA23: ;
			}
			pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			indent_1 = ((NI)0);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_102;
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_103;
					if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA25;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_102)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_102);
					if (nimAddInt(indent_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_103)) { raiseOverflow(); goto BeforeRet_;
					};
					indent_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_103);
				} LA25: ;
			}
			{
				NIM_BOOL T28_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_104;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_106;
				T28_ = (NIM_BOOL)0;
				T28_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(35));
				if (!(T28_)) goto LA29_;
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_104)) { raiseOverflow(); goto BeforeRet_;
				};
				T28_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_104)]) == (NU8)(35));
LA29_: ;
				if (!T28_) goto LA30_;
				prepareAdd((&(*tok_p1).literal), 1);
appendString((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_105);
				if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_106)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_106);
				{
					NI c_1;
					if (!stripInit_1) goto LA34_;
					c_1 = toStrip_1;
					{
						while (1) {
							NIM_BOOL T38_;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_107;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_108;
							T38_ = (NIM_BOOL)0;
							T38_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32));
							if (!(T38_)) goto LA39_;
							T38_ = (((NI)0) < c_1);
LA39_: ;
							if (!T38_) goto LA37;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_107)) { raiseOverflow(); goto BeforeRet_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_107);
							if (nimSubInt(c_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_108)) { raiseOverflow(); goto BeforeRet_;
							};
							c_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_108);
						} LA37: ;
					}
				}
LA34_: ;
			}
			goto LA26_;
LA30_: ;
			{
				{
					if (!((NU8)(32) < (NU8)((*L_p0).Sup.buf[pos_1]))) goto LA43_;
					(*L_p0).indentAhead = indent_1;
				}
LA43_: ;
				goto LA9;
			}
LA26_: ;
		}
	} LA9: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1) {
	(*(*dest_p0).p).data[(*dest_p0).len] = c_p1;
	(*dest_p0).len += ((NI)1);
	(*(*dest_p0).p).data[(*dest_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__OOZOOZOOZcompilerZlexer_u950)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI* xi_p1, NI position_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))) {
	case 48 ... 57:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_150;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_151;
		if (nimSubInt(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])), ((NI)48), &TM__4JpEWnGrmRM8CRqL3P2O1Q_150)) { raiseOverflow(); goto BeforeRet_;
		};
		(*xi_p1) = (NI)((NI)((NU64)((*xi_p1)) << (NU64)(((NI)4) & (64 - 1))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_150));
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_151)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_151);
	}
	break;
	case 97 ... 102:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_152;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_153;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_154;
		if (nimSubInt(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])), ((NI)97), &TM__4JpEWnGrmRM8CRqL3P2O1Q_152)) { raiseOverflow(); goto BeforeRet_;
		};
		if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_152), ((NI)10), &TM__4JpEWnGrmRM8CRqL3P2O1Q_153)) { raiseOverflow(); goto BeforeRet_;
		};
		(*xi_p1) = (NI)((NI)((NU64)((*xi_p1)) << (NU64)(((NI)4) & (64 - 1))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_153));
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_154)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_154);
	}
	break;
	case 65 ... 70:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_155;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_156;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_157;
		if (nimSubInt(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])), ((NI)65), &TM__4JpEWnGrmRM8CRqL3P2O1Q_155)) { raiseOverflow(); goto BeforeRet_;
		};
		if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_155), ((NI)10), &TM__4JpEWnGrmRM8CRqL3P2O1Q_156)) { raiseOverflow(); goto BeforeRet_;
		};
		(*xi_p1) = (NI)((NI)((NU64)((*xi_p1)) << (NU64)(((NI)4) & (64 - 1))) | (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_156));
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_157)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_157);
	}
	break;
	case 34:
	case 39:
	{
		{
			NimStringV2 colontmpD_;
			NimStringV2 T10_;
			if (!(position_p2 <= ((NI)1))) goto LA7_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			T10_.len = 0; T10_.p = NIM_NIL;
			T10_ = rawNewString(56);
appendString((&T10_), TM__4JpEWnGrmRM8CRqL3P2O1Q_159);
appendChar((&T10_), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
appendString((&T10_), TM__4JpEWnGrmRM8CRqL3P2O1Q_161);
			colontmpD_ = T10_;
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_162;
			if (!(position_p2 == ((NI)0))) goto LA15_;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_162)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_162);
		}
LA15_: ;
	}
	break;
	default:
	{
		NimStringV2 colontmpD__2;
		NimStringV2 T19_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_165;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T19_.len = 0; T19_.p = NIM_NIL;
		T19_ = rawNewString(56);
appendString((&T19_), TM__4JpEWnGrmRM8CRqL3P2O1Q_163);
appendChar((&T19_), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
appendString((&T19_), TM__4JpEWnGrmRM8CRqL3P2O1Q_164);
		colontmpD__2 = T19_;
		lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_165)) { raiseOverflow(); goto LA18_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_165);
		{
			LA18_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2493(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1291)(NimStringV2 s_p0, tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_173;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_174;
{	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	if (nimSubInt(x_p1.b, a_1, &TM__4JpEWnGrmRM8CRqL3P2O1Q_173)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_173), ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_174)) { raiseOverflow(); goto BeforeRet_;
	};
	L_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_174);
	if ((L_1) < ((NI)0) || (L_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_175;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_176;
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= result.len){ raiseIndexError2(i_1,result.len-1); goto BeforeRet_;
				}
				nimPrepareStrMutationV2((&result));
				if (nimAddInt(i_1, a_1, &TM__4JpEWnGrmRM8CRqL3P2O1Q_175)) { raiseOverflow(); goto BeforeRet_;
				};
				if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_175) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_175) >= s_p0.len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_175),s_p0.len-1); goto BeforeRet_;
				}
				result.p->data[i_1] = s_p0.p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_175)];
				if (nimAddInt(i_2, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_176)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_176);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ, dotdot___stdZstrbasics_u48)(NI a_p0, NI b_p1) {
	tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__OOZOOZOOZcompilerZlexer_u1047)(NimStringV2* s_p0, NI i_p1) {
	NU i_2;
	NI pos_1;
{	i_2 = ((NU) (i_p1));
	pos_1 = (*s_p0).len;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_180;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_181;
		if (!((NU64)(i_2) <= (NU64)(((NU)127)))) goto LA3_;
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_180)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_180)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_181)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if (i_2 > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_181)] = ((NIM_CHAR) (((NI) (i_2))));
	}
	goto LA1_;
LA3_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_182;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_183;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_184;
		if (!((NU64)(i_2) <= (NU64)(((NU)2047)))) goto LA6_;
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_182)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_182)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_182)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_182), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_182)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_183)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_183) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_183) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_183),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) | ((NU)192)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_183)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) | ((NU)192))))));
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_184)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_184) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_184) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_184),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_184)] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA6_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_185;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_186;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_187;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_188;
		if (!((NU64)(i_2) <= (NU64)(((NU)65535)))) goto LA9_;
		if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_185)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_185)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_185)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_185), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_185)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_186)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_186) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_186) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_186),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) | ((NU)224)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_186)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) | ((NU)224))))));
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_187)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_187)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_188)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_188) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_188) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_188),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_188)] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA9_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_189;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_190;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_191;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_192;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_193;
		if (!((NU64)(i_2) <= (NU64)(((NU)2097151)))) goto LA12_;
		if (nimAddInt(pos_1, ((NI)4), &TM__4JpEWnGrmRM8CRqL3P2O1Q_189)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_189)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_189)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_189), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_189)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_190)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_190) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_190) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_190),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) | ((NU)240)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_190)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) | ((NU)240))))));
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_191)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_191) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_191) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_191),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_191)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_192)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_192)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_193)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_193) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_193) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_193),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_193)] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA12_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_194;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_195;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_196;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_197;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_198;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_199;
		if (!((NU64)(i_2) <= (NU64)(((NU)67108863)))) goto LA15_;
		if (nimAddInt(pos_1, ((NI)5), &TM__4JpEWnGrmRM8CRqL3P2O1Q_194)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_194)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_195)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_195) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_195) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_195),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)24) & (64 - 1))) | ((NU)248)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_195)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)24) & (64 - 1))) | ((NU)248))))));
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_196)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_196) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_196) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_196),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_196)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_197)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_197) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_197) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_197),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_197)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_198)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_198) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_198) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_198),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_198)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)4), &TM__4JpEWnGrmRM8CRqL3P2O1Q_199)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_199) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_199) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_199),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_199)] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA15_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_200;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_201;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_202;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_203;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_204;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_205;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_206;
		if (!((NU64)(i_2) <= (NU64)(((NU)2147483647)))) goto LA18_;
		if (nimAddInt(pos_1, ((NI)6), &TM__4JpEWnGrmRM8CRqL3P2O1Q_200)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_200)) < ((NI)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_200)) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_200), ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
		}
		setLengthStrV2((&(*s_p0)), ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_200)));
		if (nimAddInt(pos_1, ((NI)0), &TM__4JpEWnGrmRM8CRqL3P2O1Q_201)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_201) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_201) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_201),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)30) & (64 - 1))) | ((NU)252)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_201)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)30) & (64 - 1))) | ((NU)252))))));
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_202)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_202) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_202) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_202),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)24) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_202)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)24) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_203)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_203)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)18) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_204)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_204) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_204) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_204),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_204)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)12) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)4), &TM__4JpEWnGrmRM8CRqL3P2O1Q_205)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_205) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_205) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_205),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_205)] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU64)(i_2) >> (NU64)(((NI)6) & (64 - 1))) & ((NU)63)) | ((NU)128))))));
		if (nimAddInt(pos_1, ((NI)5), &TM__4JpEWnGrmRM8CRqL3P2O1Q_206)) { raiseOverflow(); goto BeforeRet_;
		};
		if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_206) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_206) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_206),(*s_p0).len-1); goto BeforeRet_;
		}
		nimPrepareStrMutationV2((&(*s_p0)));
		if ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128)) > (NU)(((NI)255))){ raiseRangeErrorNoArgs(); goto BeforeRet_;
		}
		(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_206)] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA18_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__OOZOOZOOZcompilerZlexer_u415)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NIM_CHAR first_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_207;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(first_p1));
	if (!(T1_)) goto LA2_;
	if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_207)) { raiseOverflow(); goto BeforeRet_;
	};
	T1_ = ((second_p2[(NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_207)]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_207)]))))&7U)))!=0);
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NF, toFloat__system_u1705)(NI i_p0) {
	NF result;
	result = ((NF) (i_p0));
	return result;
}
static N_INLINE(NF, abs__system_u5188)(NF x_p0) {
	NF result;
	result = (NF)0;
	result = fabs(x_p0);
	return result;
}
static N_INLINE(NIM_BOOL, nimMulInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	NF floatProd_1;
	NF T1_;
	NF T2_;
	NF resAsFloat_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) * (NU64)(((NU) (b_p1))))));
	T1_ = (NF)0;
	T1_ = toFloat__system_u1705(a_p0);
	T2_ = (NF)0;
	T2_ = toFloat__system_u1705(b_p1);
	floatProd_1 = ((NF)(T1_) * (NF)(T2_));
	resAsFloat_1 = toFloat__system_u1705(r_1);
	{
		if (!(resAsFloat_1 == floatProd_1)) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA3_;
LA5_: ;
	{
		{
			NF T10_;
			NF T11_;
			T10_ = (NF)0;
			T10_ = abs__system_u5188(((NF)(resAsFloat_1) - (NF)(floatProd_1)));
			T11_ = (NF)0;
			T11_ = abs__system_u5188(floatProd_1);
			if (!(((NF)(32.0) * (NF)(T10_)) <= T11_)) goto LA12_;
			(*res_p2) = r_1;
		}
		goto LA8_;
LA12_: ;
		{
			result = NIM_TRUE;
		}
LA8_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__OOZOOZOOZcompilerZlexer_u1029)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NI* xi_p1) {
{	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_210;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_211;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_212;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_213;
			if (!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(57)))) goto LA2;
			if (nimMulInt((*xi_p1), ((NI)10), &TM__4JpEWnGrmRM8CRqL3P2O1Q_210)) { raiseOverflow(); goto BeforeRet_;
			};
			if (nimSubInt(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])), ((NI)48), &TM__4JpEWnGrmRM8CRqL3P2O1Q_211)) { raiseOverflow(); goto BeforeRet_;
			};
			if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_210), (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_211), &TM__4JpEWnGrmRM8CRqL3P2O1Q_212)) { raiseOverflow(); goto BeforeRet_;
			};
			(*xi_p1) = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_212);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_213)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_213);
		} LA2: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__OOZOOZOOZcompilerZlexer_u1172)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_134;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_134)) { raiseOverflow(); goto BeforeRet_;
	};
	(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_134);
	switch (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))) {
	case 110:
	case 78:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_135;
		nimAddCharV1((&(*tok_p1).literal), 10);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_135)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_135);
	}
	break;
	case 112:
	case 80:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_138;
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88))) goto LA5_;
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_137);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA5_: ;
		prepareAdd((&(*tok_p1).literal), (*(*L_p0).config).target.tnl.len + 0);
appendString((&(*tok_p1).literal), (*(*L_p0).config).target.tnl);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_138)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_138);
	}
	break;
	case 114:
	case 82:
	case 99:
	case 67:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_139;
		nimAddCharV1((&(*tok_p1).literal), 13);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_139)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_139);
	}
	break;
	case 108:
	case 76:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_140;
		nimAddCharV1((&(*tok_p1).literal), 10);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_140)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_140);
	}
	break;
	case 102:
	case 70:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_141;
		nimAddCharV1((&(*tok_p1).literal), 12);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_141)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_141);
	}
	break;
	case 101:
	case 69:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_142;
		nimAddCharV1((&(*tok_p1).literal), 27);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_142)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_142);
	}
	break;
	case 97:
	case 65:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_143;
		nimAddCharV1((&(*tok_p1).literal), 7);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_143)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_143);
	}
	break;
	case 98:
	case 66:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_144;
		nimAddCharV1((&(*tok_p1).literal), 8);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_144)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_144);
	}
	break;
	case 118:
	case 86:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_145;
		nimAddCharV1((&(*tok_p1).literal), 11);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_145)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_145);
	}
	break;
	case 116:
	case 84:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_146;
		nimAddCharV1((&(*tok_p1).literal), 9);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_146)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_146);
	}
	break;
	case 39:
	case 34:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_147;
		nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_147)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_147);
	}
	break;
	case 92:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_148;
		nimAddCharV1((&(*tok_p1).literal), 92);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_148)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_148);
	}
	break;
	case 120:
	case 88:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_149;
		NI xi_1;
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_149)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_149);
		xi_1 = ((NI)0);
		handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_1), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_1), ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if ((xi_1) < ((NI)0) || (xi_1) > ((NI)255)){ raiseRangeErrorI(xi_1, ((NI)0), ((NI)255)); goto BeforeRet_;
		}
		nimAddCharV1((&(*tok_p1).literal), ((NIM_CHAR) ((xi_1))));
	}
	break;
	case 117:
	case 85:
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_168;
		NI xi_2;
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88))) goto LA21_;
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_167);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA21_: ;
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_168)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_168);
		xi_2 = ((NI)0);
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_169;
			NI start_1;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_172;
			if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(123))) goto LA25_;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_169)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_169);
			start_1 = (*L_p0).Sup.bufpos;
			{
				while (1) {
					if (!!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(125)))) goto LA28;
					handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_2), ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA28: ;
			}
			{
				if (!(start_1 == (*L_p0).Sup.bufpos)) goto LA31_;
				lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_171);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA31_: ;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_172)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_172);
			{
				NimStringV2 hex_1;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_177;
				tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ T38_;
				NimStringV2 T39_;
				if (!(((NI)1114111) < xi_2)) goto LA35_;
				hex_1.len = 0; hex_1.p = NIM_NIL;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				colontmpD_ = cstrToNimstr((*L_p0).Sup.buf);
				if (nimSubInt((*L_p0).Sup.bufpos, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_177)) { raiseOverflow(); goto LA37_;
				};
				T38_ = dotdot___stdZstrbasics_u48(start_1, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_177));
				hex_1 = X5BX5D___pureZstrutils_u1291(colontmpD_, T38_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				T39_.len = 0; T39_.p = NIM_NIL;
				T39_ = rawNewString(hex_1.len + 56);
appendString((&T39_), TM__4JpEWnGrmRM8CRqL3P2O1Q_179);
appendString((&T39_), hex_1);
				colontmpD__2 = T39_;
				lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					LA37_:;
				}
				{
					if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
					if (hex_1.p && !(hex_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(hex_1.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA35_: ;
		}
		goto LA23_;
LA25_: ;
		{
			handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_2), ((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_2), ((NI)2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_2), ((NI)3));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__OOZOOZOOZcompilerZlexer_u950(L_p0, (&xi_2), ((NI)4));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA23_: ;
		addUnicodeCodePoint__OOZOOZOOZcompilerZlexer_u1047((&(*tok_p1).literal), xi_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 48 ... 57:
	{
		NI xi_3;
		{
			NIM_BOOL T46_;
			T46_ = (NIM_BOOL)0;
			T46_ = matchTwoChars__OOZOOZOOZcompilerZlexer_u415((&(*L_p0)), 48, TM__4JpEWnGrmRM8CRqL3P2O1Q_208);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T46_) goto LA47_;
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)21), TM__4JpEWnGrmRM8CRqL3P2O1Q_209);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA47_: ;
		xi_3 = ((NI)0);
		handleDecChars__OOZOOZOOZcompilerZlexer_u1029(L_p0, (&xi_3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(xi_3 <= ((NI)255))) goto LA51_;
			if ((xi_3) < ((NI)0) || (xi_3) > ((NI)255)){ raiseRangeErrorI(xi_3, ((NI)0), ((NI)255)); goto BeforeRet_;
			}
			nimAddCharV1((&(*tok_p1).literal), ((NIM_CHAR) ((xi_3))));
		}
		goto LA49_;
LA51_: ;
		{
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_215);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA49_: ;
	}
	break;
	default:
	{
		lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_216);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getString__OOZOOZOOZcompilerZlexer_u1308)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw mode_p2) {
	NI pos_1;
	NI line_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_115;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	line_1 = (*L_p0).Sup.lineNumber;
	if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_115)) { raiseOverflow(); goto BeforeRet_;
	};
	pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_115);
	{
		NIM_BOOL T3_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_116;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_117;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(34));
		if (!(T3_)) goto LA4_;
		if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_116)) { raiseOverflow(); goto BeforeRet_;
		};
		T3_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_116)]) == (NU8)(34));
LA4_: ;
		if (!T3_) goto LA5_;
		(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)85);
		if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_117)) { raiseOverflow(); goto BeforeRet_;
		};
		pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_117);
		{
			NI newpos_1;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_118;
			if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(32)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(9)))) goto LA9_;
			if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_118)) { raiseOverflow(); goto BeforeRet_;
			};
			newpos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_118);
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_119;
					if (!(((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(32)) || ((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(9)))) goto LA12;
					if (nimAddInt(newpos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_119)) { raiseOverflow(); goto BeforeRet_;
					};
					newpos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_119);
				} LA12: ;
			}
			{
				if (!(((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(10)))) goto LA15_;
				pos_1 = newpos_1;
			}
LA15_: ;
		}
LA9_: ;
		pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
				case 34:
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_124;
					{
						NIM_BOOL T22_;
						NIM_BOOL T23_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_120;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_121;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_122;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_123;
						T22_ = (NIM_BOOL)0;
						T23_ = (NIM_BOOL)0;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_120)) { raiseOverflow(); goto BeforeRet_;
						};
						T23_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_120)]) == (NU8)(34));
						if (!(T23_)) goto LA24_;
						if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_121)) { raiseOverflow(); goto BeforeRet_;
						};
						T23_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_121)]) == (NU8)(34));
LA24_: ;
						T22_ = T23_;
						if (!(T22_)) goto LA25_;
						if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_122)) { raiseOverflow(); goto BeforeRet_;
						};
						T22_ = !(((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_122)]) == (NU8)(34)));
LA25_: ;
						if (!T22_) goto LA26_;
						if (nimAddInt(pos_1, ((NI)3), &TM__4JpEWnGrmRM8CRqL3P2O1Q_123)) { raiseOverflow(); goto BeforeRet_;
						};
						(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_123);
						goto LA17;
					}
LA26_: ;
					nimAddCharV1((&(*tok_p1).literal), 34);
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_124)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_124);
				}
				break;
				case 13:
				case 10:
				{
					pos_1 = handleCRLF__OOZOOZOOZcompilerZlexer_u1291(L_p0, pos_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					prepareAdd((&(*tok_p1).literal), 1);
appendString((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_125);
				}
				break;
				case 0:
				{
					NI line2_1;
					line2_1 = (*L_p0).Sup.lineNumber;
					(*L_p0).Sup.lineNumber = line_1;
					lexMessagePos__OOZOOZOOZcompilerZlexer_u409(L_p0, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), (*L_p0).Sup.lineStart, TM__4JpEWnGrmRM8CRqL3P2O1Q_127);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					(*L_p0).Sup.lineNumber = line2_1;
					(*L_p0).Sup.bufpos = pos_1;
					goto LA17;
				}
				break;
				default:
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_128;
					nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_128)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_128);
				}
				break;
				}
			}
		} LA17: ;
	}
	goto LA1_;
LA5_: ;
	{
		{
			if (!!((mode_p2 == ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0)))) goto LA34_;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)84);
		}
		goto LA32_;
LA34_: ;
		{
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)83);
		}
LA32_: ;
		{
			while (1) {
				NIM_CHAR c_1;
				c_1 = (*L_p0).Sup.buf[pos_1];
				{
					if (!((NU8)(c_1) == (NU8)(34))) goto LA41_;
					{
						NIM_BOOL T45_;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_129;
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_130;
						T45_ = (NIM_BOOL)0;
						T45_ = !((mode_p2 == ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0)));
						if (!(T45_)) goto LA46_;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_129)) { raiseOverflow(); goto BeforeRet_;
						};
						T45_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_129)]) == (NU8)(34));
LA46_: ;
						if (!T45_) goto LA47_;
						if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_130)) { raiseOverflow(); goto BeforeRet_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_130);
						nimAddCharV1((&(*tok_p1).literal), 34);
					}
					goto LA43_;
LA47_: ;
					{
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_131;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_131)) { raiseOverflow(); goto BeforeRet_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_131);
						goto LA37;
					}
LA43_: ;
				}
				goto LA39_;
LA41_: ;
				{
					if (!(((NU8)(c_1)) == ((NU8)(13)) || ((NU8)(c_1)) == ((NU8)(10)) || ((NU8)(c_1)) == ((NU8)(0)))) goto LA51_;
					lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_133);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA37;
				}
				goto LA39_;
LA51_: ;
				{
					NIM_BOOL T54_;
					T54_ = (NIM_BOOL)0;
					T54_ = ((NU8)(c_1) == (NU8)(92));
					if (!(T54_)) goto LA55_;
					T54_ = (mode_p2 == ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0));
LA55_: ;
					if (!T54_) goto LA56_;
					(*L_p0).Sup.bufpos = pos_1;
					getEscapedChar__OOZOOZOOZcompilerZlexer_u1172(L_p0, tok_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos_1 = (*L_p0).Sup.bufpos;
				}
				goto LA39_;
LA56_: ;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_217;
					nimAddCharV1((&(*tok_p1).literal), c_1);
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_217)) { raiseOverflow(); goto BeforeRet_;
					};
					pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_217);
				}
LA39_: ;
			}
		} LA37: ;
		(*L_p0).Sup.bufpos = pos_1;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__OOZOOZOOZcompilerZlexer_u1391)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NI startPos_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_248;
	NIM_CHAR c_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	startPos_1 = (*L_p0).Sup.bufpos;
	if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_248)) { raiseOverflow(); goto BeforeRet_;
	};
	(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_248);
	c_1 = (*L_p0).Sup.buf[(*L_p0).Sup.bufpos];
	switch (((NU8)(c_1))) {
	case 0 ... 31:
	case 39:
	{
		NimStringV2 T2_;
		lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_250);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T2_.len = 0; T2_.p = NIM_NIL;
		T2_ = nimCharToStr(c_1);
		eqsink___system_u2760((&(*tok_p1).literal), T2_);
	}
	break;
	case 92:
	{
		getEscapedChar__OOZOOZOOZcompilerZlexer_u1172(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NimStringV2 T5_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_251;
		T5_.len = 0; T5_.p = NIM_NIL;
		T5_ = nimCharToStr(c_1);
		eqsink___system_u2760((&(*tok_p1).literal), T5_);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_251)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_251);
	}
	break;
	}
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_252;
		if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(39))) goto LA8_;
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_252)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_252);
	}
	goto LA6_;
LA8_: ;
	{
		{
			NIM_BOOL T13_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_253;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_256;
			T13_ = (NIM_BOOL)0;
			T13_ = (((NI)0) < startPos_1);
			if (!(T13_)) goto LA14_;
			if (nimSubInt(startPos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_253)) { raiseOverflow(); goto BeforeRet_;
			};
			T13_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_253)]) == (NU8)(96));
LA14_: ;
			if (!T13_) goto LA15_;
			eqsink___system_u2760((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_255);
			if (nimAddInt(startPos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_256)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_256);
		}
		goto LA11_;
LA15_: ;
		{
			lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_258);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, matchChars__OOZOOZOOZcompilerZlexer_u477)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2) {
	NI pos_1;
{	pos_1 = (*L_p0).Sup.bufpos;
	{
		while (1) {
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_264;
			if (!((chars_p2[(NU)((((NU8)((*L_p0).Sup.buf[pos_1]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[pos_1]))))&7U)))!=0)) goto LA2;
			nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
			if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_264)) { raiseOverflow(); goto BeforeRet_;
			};
			pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_264);
		} LA2: ;
	}
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, NimStringV2 msg_p1, NI startpos_p2, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msgKind_p3) {
	tyObject_Token__0RfaoeiXz87H212JyhBKLA t_1;
	NimStringV2 colontmpD_;
	NI msgPos_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&t_1), sizeof(tyObject_Token__0RfaoeiXz87H212JyhBKLA));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	msgPos_1 = (*L_p0).Sup.bufpos;
	nimZeroMem((void*)(&t_1), sizeof(tyObject_Token__0RfaoeiXz87H212JyhBKLA));
	t_1.literal = TM__4JpEWnGrmRM8CRqL3P2O1Q_263;
	(*L_p0).Sup.bufpos = startpos_p2;
	matchChars__OOZOOZOOZcompilerZlexer_u477(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_265);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_266;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_267;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(45)));
		if (!(T4_)) goto LA5_;
		if (nimSubInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_266)) { raiseOverflow(); goto LA1_;
		};
		T4_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_266)])) == ((NU8)(101)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_266)])) == ((NU8)(69)));
LA5_: ;
		if (!T4_) goto LA6_;
		nimAddCharV1((&t_1.literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_267)) { raiseOverflow(); goto LA1_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_267);
		matchChars__OOZOOZOOZcompilerZlexer_u477(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_265);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_268;
		if (!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(95)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(46)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(39)))) goto LA10_;
		nimAddCharV1((&t_1.literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_268)) { raiseOverflow(); goto LA1_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_268);
		matchChars__OOZOOZOOZcompilerZlexer_u477(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_208);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA10_: ;
	(*L_p0).Sup.bufpos = msgPos_1;
	colontmpD_ = nsuFormatSingleElem(msg_p1, t_1.literal);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), msgKind_p3, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		eqdestroy___OOZOOZOOZcompilerZlexer_u524((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2) {
	NI result;
	NI pos_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	result = ((NI)0);
	{
		while (1) {
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_272;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_273;
				if (!((chars_p2[(NU)((((NU8)((*L_p0).Sup.buf[pos_1]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[pos_1]))))&7U)))!=0)) goto LA5_;
				nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_272)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_272);
				if (nimAddInt(result, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_273)) { raiseOverflow(); goto BeforeRet_;
				};
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_273 < 0 || TM__4JpEWnGrmRM8CRqL3P2O1Q_273 > IL64(9223372036854775807)){ raiseOverflow(); goto BeforeRet_;
				}
				result = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_273);
			}
			goto LA3_;
LA5_: ;
			{
				goto LA1;
			}
LA3_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_277;
				if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95))) goto LA10_;
				{
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_274;
					if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_274)) { raiseOverflow(); goto BeforeRet_;
					};
					if (!!(((chars_p2[(NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_274)]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_274)]))))&7U)))!=0))) goto LA14_;
					lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_276);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA14_: ;
				nimAddCharV1((&(*tok_p1).literal), 95);
				if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_277)) { raiseOverflow(); goto BeforeRet_;
				};
				pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_277);
			}
LA10_: ;
		}
	} LA1: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDivInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a_p0 == ((NI)(IL64(-9223372036854775807) - IL64(1))));
		if (!(T3_)) goto LA4_;
		T3_ = (b_p1 == ((NI)-1));
LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_FALSE;
		(*res_p2) = (NI)(a_p0 / b_p1);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBitWidth__OOZOOZOOZcompilerZlexer_u556)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q base_p1, tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType_p2, NI numDigits_p3, NI startpos_p4) {
	NI colontmpD_;
	NI colontmpD__2;
	NI colontmpD__3;
	NI colontmpD__4;
	NI colontmpD__5;
	NI colontmpD__6;
	NI colontmpD__7;
	NI bitsPerDigit_1;
	NI bitWidth_1;
	NI maxDigits_1;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_354;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_355;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_356;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = (NI)0;
	colontmpD__2 = (NI)0;
	colontmpD__3 = (NI)0;
	colontmpD__4 = (NI)0;
	colontmpD__5 = (NI)0;
	colontmpD__6 = (NI)0;
	colontmpD__7 = (NI)0;
	switch (base_p1) {
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)1):
	{
		colontmpD_ = ((NI)1);
		bitsPerDigit_1 = colontmpD_;
	}
	break;
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)2):
	{
		colontmpD__2 = ((NI)3);
		bitsPerDigit_1 = colontmpD__2;
	}
	break;
	case ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)3):
	{
		colontmpD__3 = ((NI)4);
		bitsPerDigit_1 = colontmpD__3;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u28(TM__4JpEWnGrmRM8CRqL3P2O1Q_352);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	switch (tokType_p2) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
	{
		colontmpD__4 = ((NI)8);
		bitWidth_1 = colontmpD__4;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
	{
		colontmpD__5 = ((NI)16);
		bitWidth_1 = colontmpD__5;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
	{
		colontmpD__6 = ((NI)32);
		bitWidth_1 = colontmpD__6;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78):
	{
		colontmpD__7 = ((NI)64);
		bitWidth_1 = colontmpD__7;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u28(TM__4JpEWnGrmRM8CRqL3P2O1Q_353);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	if (nimAddInt(bitWidth_1, bitsPerDigit_1, &TM__4JpEWnGrmRM8CRqL3P2O1Q_354)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimSubInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_354), ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_355)) { raiseOverflow(); goto BeforeRet_;
	};
	if (bitsPerDigit_1 == 0){ raiseDivByZero(); goto BeforeRet_;
	}
	if (nimDivInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_355), bitsPerDigit_1, &TM__4JpEWnGrmRM8CRqL3P2O1Q_356)) { raiseOverflow(); goto BeforeRet_;
	};
	maxDigits_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_356);
	{
		NimStringV2 colontmpD__8;
		NimStringV2 colontmpD__9;
		NimStringV2 colontmpD__10;
		NimStringV2 T15_;
		if (!(maxDigits_1 < numDigits_p3)) goto LA12_;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		T15_.len = 0; T15_.p = NIM_NIL;
		colontmpD__8 = dollar___systemZdollars_u14(numDigits_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__9 = dollar___systemZdollars_u14(maxDigits_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_ = rawNewString(colontmpD__8.len + colontmpD__9.len + 55);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_358);
appendString((&T15_), colontmpD__8);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_360);
appendString((&T15_), colontmpD__9);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_362);
		colontmpD__10 = T15_;
		lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, colontmpD__10, startpos_p4, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)84));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
			if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
			if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA12_: ;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3686;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3719(&currException__system_u3686, (*currException__system_u3686).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, getNumber__OOZOOZOOZcompilerZlexer_u445)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* result_p1) {
	NI64 xi_1;
	NIM_BOOL isBase10_1;
	NI numDigits_1;
	NIM_BOOL isPositive_1;
	NI startpos_1;
	NI endpos_1;
	NI postPos_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	xi_1 = (NI64)0;
	isBase10_1 = NIM_TRUE;
	numDigits_1 = ((NI)0);
	(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69);
	eqsink___system_u2760((&(*result_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_259);
	(*result_p1).base = ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)0);
	isPositive_1 = NIM_TRUE;
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_260;
		if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(45))) goto LA3_;
		nimAddCharV1((&(*result_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_260)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_260);
		isPositive_1 = NIM_FALSE;
	}
LA3_: ;
	startpos_1 = (*L_p0).Sup.bufpos;
	{
		NIM_BOOL T7_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_261;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_262;
		T7_ = (NIM_BOOL)0;
		T7_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(48));
		if (!(T7_)) goto LA8_;
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_261)) { raiseOverflow(); goto BeforeRet_;
		};
		T7_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) >= ((NU8)(66)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) <= ((NU8)(67)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) == ((NU8)(79)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) == ((NU8)(88)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) >= ((NU8)(98)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) <= ((NU8)(99)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) == ((NU8)(111)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_261)])) == ((NU8)(120)));
LA8_: ;
		if (!T7_) goto LA9_;
		isBase10_1 = NIM_FALSE;
		nimAddCharV1((&(*result_p1).literal), 48);
		if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_262)) { raiseOverflow(); goto BeforeRet_;
		};
		(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_262);
		switch (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))) {
		case 99:
		case 67:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_271;
			lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_270, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)24));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimAddCharV1((&(*result_p1).literal), 99);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_271)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_271);
			numDigits_1 = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_278);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 79:
		{
			lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_280, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 120:
		case 88:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_281;
			nimAddCharV1((&(*result_p1).literal), 120);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_281)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_281);
			numDigits_1 = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_282);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 111:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_283;
			nimAddCharV1((&(*result_p1).literal), 111);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_283)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_283);
			numDigits_1 = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_278);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 98:
		case 66:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_284;
			nimAddCharV1((&(*result_p1).literal), 98);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_284)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_284);
			numDigits_1 = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_285);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T17_;
			T17_ = getLineInfo__OOZOOZOOZcompilerZlexer_u386((&(*L_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			internalErrorImpl__OOZOOZOOZcompilerZmsgs_u1601((*L_p0).config, T17_, TM__4JpEWnGrmRM8CRqL3P2O1Q_287, (&TM__4JpEWnGrmRM8CRqL3P2O1Q_288));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
		{
			if (!(numDigits_1 == ((NI)0))) goto LA20_;
			lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_290, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA20_: ;
	}
	goto LA5_;
LA9_: ;
	{
		NI T23_;
		T23_ = (NI)0;
		T23_ = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_208);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T23_);
		{
			NIM_BOOL T26_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_291;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_292;
			NI T30_;
			T26_ = (NIM_BOOL)0;
			T26_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
			if (!(T26_)) goto LA27_;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_291)) { raiseOverflow(); goto BeforeRet_;
			};
			T26_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_291)])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_291)])) <= ((NU8)(57)));
LA27_: ;
			if (!T26_) goto LA28_;
			(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79);
			nimAddCharV1((&(*result_p1).literal), 46);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_292)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_292);
			T30_ = (NI)0;
			T30_ = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_208);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(void)(T30_);
		}
LA28_: ;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_293;
			NI T39_;
			if (!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(101)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(69)))) goto LA33_;
			(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79);
			nimAddCharV1((&(*result_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_293)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_293);
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_294;
				if (!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(43)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(45)))) goto LA37_;
				nimAddCharV1((&(*result_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_294)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_294);
			}
LA37_: ;
			T39_ = (NI)0;
			T39_ = matchUnderscoreChars__OOZOOZOOZcompilerZlexer_u448(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_208);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(void)(T39_);
		}
LA33_: ;
	}
LA5_: ;
	endpos_1 = (*L_p0).Sup.bufpos;
	postPos_1 = endpos_1;
	{
		NI errPos_1;
		NIM_BOOL customLitPossible_1;
		if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_295[(NU)((((NU8)((*L_p0).Sup.buf[postPos_1]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[postPos_1]))))&7U)))!=0)) goto LA42_;
		errPos_1 = postPos_1;
		customLitPossible_1 = NIM_FALSE;
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_296;
			if (!((NU8)((*L_p0).Sup.buf[postPos_1]) == (NU8)(39))) goto LA46_;
			if (nimAddInt(postPos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_296)) { raiseOverflow(); goto BeforeRet_;
			};
			postPos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_296);
			customLitPossible_1 = NIM_TRUE;
		}
LA46_: ;
		{
			NimStringV2 suffix_1;
			NimStringV2 suffixAsLower_1;
			if (!(((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(255)))) goto LA50_;
			suffix_1.len = 0; suffix_1.p = NIM_NIL;
			suffixAsLower_1.len = 0; suffixAsLower_1.p = NIM_NIL;
			suffix_1 = rawNewString(((NI)10));
			{
				while (1) {
					NI TM__4JpEWnGrmRM8CRqL3P2O1Q_297;
					nimAddCharV1((&suffix_1), (*L_p0).Sup.buf[postPos_1]);
					if (nimAddInt(postPos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_297)) { raiseOverflow(); goto LA52_;
					};
					postPos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_297);
					{
						if (!!((((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(95)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(255))))) goto LA57_;
						goto LA53;
					}
LA57_: ;
				}
			} LA53: ;
			suffixAsLower_1 = nsuToLowerAsciiStr(suffix_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
			switch (hashString(suffixAsLower_1) & 15) {
			case 1: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_301)) goto LA59_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_313)) goto LA64_;
break;
			case 2: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_307)) goto LA61_;
break;
			case 3: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_323)) goto LA69_;
break;
			case 5: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_303)) goto LA60_;
break;
			case 6: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_305)) goto LA60_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_321)) goto LA68_;
break;
			case 7: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_311)) goto LA63_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_319)) goto LA67_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_325)) goto LA70_;
break;
			case 9: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_317)) goto LA66_;
break;
			case 10: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_309)) goto LA62_;
break;
			case 13: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_315)) goto LA65_;
break;
			case 14: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_299)) goto LA59_;
break;
			}
			goto LA71_;
			LA59_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)80);
			}
			goto LA72_;
			LA60_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81);
			}
			goto LA72_;
			LA61_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)82);
			}
			goto LA72_;
			LA62_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70);
			}
			goto LA72_;
			LA63_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71);
			}
			goto LA72_;
			LA64_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72);
			}
			goto LA72_;
			LA65_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73);
			}
			goto LA72_;
			LA66_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74);
			}
			goto LA72_;
			LA67_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75);
			}
			goto LA72_;
			LA68_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76);
			}
			goto LA72_;
			LA69_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77);
			}
			goto LA72_;
			LA70_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78);
			}
			goto LA72_;
			LA71_: ;
			{
				{
					if (!customLitPossible_1) goto LA88_;
					(*result_p1).iNumber = ((NI64) ((*result_p1).literal.len));
					nimAddCharV1((&(*result_p1).literal), 39);
					prepareAdd((&(*result_p1).literal), suffix_1.len + 0);
appendString((&(*result_p1).literal), suffix_1);
					(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89);
				}
				goto LA86_;
LA88_: ;
				{
					lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_327, errPos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				}
LA86_: ;
			}
LA72_: ;
			{
				LA52_:;
			}
			{
				if (suffixAsLower_1.p && !(suffixAsLower_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(suffixAsLower_1.p);
}
				if (suffix_1.p && !(suffix_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(suffix_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA48_;
LA50_: ;
		{
			lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_328, errPos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA48_: ;
	}
LA42_: ;
	{
		NIM_BOOL T96_;
		NIM_BOOL T98_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_329;
		T96_ = (NIM_BOOL)0;
		T96_ = (((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(39)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(70)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(88)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(95)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[postPos_1])) <= ((NU8)(102)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(111)) || ((NU8)((*L_p0).Sup.buf[postPos_1])) == ((NU8)(120)));
		if (T96_) goto LA97_;
		T98_ = (NIM_BOOL)0;
		T98_ = ((NU8)((*L_p0).Sup.buf[postPos_1]) == (NU8)(46));
		if (!(T98_)) goto LA99_;
		if (nimAddInt(postPos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_329)) { raiseOverflow(); goto BeforeRet_;
		};
		T98_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_329)])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_329)])) <= ((NU8)(57)));
LA99_: ;
		T96_ = T98_;
LA97_: ;
		if (!T96_) goto LA100_;
		lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_330, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA100_: ;
	{
		NI pos_1;
		if (!!(((*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89)))) goto LA104_;
		(*L_p0).Sup.bufpos = startpos_1;
		pos_1 = startpos_1;
		{
			NIM_BOOL T109_;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_331;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_332;
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_333;
			T109_ = (NIM_BOOL)0;
			T109_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(48));
			if (!(T109_)) goto LA110_;
			if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_331)) { raiseOverflow(); goto LA106_;
			};
			T109_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(88)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(120)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(111)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(98)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(66)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(99)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_331)])) == ((NU8)(67)));
LA110_: ;
			if (!T109_) goto LA111_;
			if (nimAddInt(pos_1, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_332)) { raiseOverflow(); goto LA106_;
			};
			pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_332);
			xi_1 = IL64(0);
			if (nimSubInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_333)) { raiseOverflow(); goto LA106_;
			};
			switch (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_333)]))) {
			case 98:
			case 66:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)1);
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_335;
						if (!(pos_1 < endpos_1)) goto LA115;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_334;
							if (!!(((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95)))) goto LA118_;
							if (nimSubInt(((NU8)((*L_p0).Sup.buf[pos_1])), ((NI)48), &TM__4JpEWnGrmRM8CRqL3P2O1Q_334)) { raiseOverflow(); goto LA106_;
							};
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)1) & (64 - 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_334))));
						}
LA118_: ;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_335)) { raiseOverflow(); goto LA106_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_335);
					} LA115: ;
				}
			}
			break;
			case 111:
			case 99:
			case 67:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)2);
				{
					while (1) {
						NI TM__4JpEWnGrmRM8CRqL3P2O1Q_337;
						if (!(pos_1 < endpos_1)) goto LA122;
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_336;
							if (!!(((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95)))) goto LA125_;
							if (nimSubInt(((NU8)((*L_p0).Sup.buf[pos_1])), ((NI)48), &TM__4JpEWnGrmRM8CRqL3P2O1Q_336)) { raiseOverflow(); goto LA106_;
							};
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)3) & (64 - 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_336))));
						}
LA125_: ;
						if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_337)) { raiseOverflow(); goto LA106_;
						};
						pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_337);
					} LA122: ;
				}
			}
			break;
			case 120:
			case 88:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)3);
				{
					while (1) {
						if (!(pos_1 < endpos_1)) goto LA129;
						switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
						case 95:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_338;
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_338)) { raiseOverflow(); goto LA106_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_338);
						}
						break;
						case 48 ... 57:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_339;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_340;
							if (nimSubInt(((NU8)((*L_p0).Sup.buf[pos_1])), ((NI)48), &TM__4JpEWnGrmRM8CRqL3P2O1Q_339)) { raiseOverflow(); goto LA106_;
							};
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_339))));
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_340)) { raiseOverflow(); goto LA106_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_340);
						}
						break;
						case 97 ... 102:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_341;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_342;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_343;
							if (nimSubInt(((NU8)((*L_p0).Sup.buf[pos_1])), ((NI)97), &TM__4JpEWnGrmRM8CRqL3P2O1Q_341)) { raiseOverflow(); goto LA106_;
							};
							if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_341), ((NI)10), &TM__4JpEWnGrmRM8CRqL3P2O1Q_342)) { raiseOverflow(); goto LA106_;
							};
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_342))));
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_343)) { raiseOverflow(); goto LA106_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_343);
						}
						break;
						case 65 ... 70:
						{
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_344;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_345;
							NI TM__4JpEWnGrmRM8CRqL3P2O1Q_346;
							if (nimSubInt(((NU8)((*L_p0).Sup.buf[pos_1])), ((NI)65), &TM__4JpEWnGrmRM8CRqL3P2O1Q_344)) { raiseOverflow(); goto LA106_;
							};
							if (nimAddInt((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_344), ((NI)10), &TM__4JpEWnGrmRM8CRqL3P2O1Q_345)) { raiseOverflow(); goto LA106_;
							};
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_345))));
							if (nimAddInt(pos_1, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_346)) { raiseOverflow(); goto LA106_;
							};
							pos_1 = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_346);
						}
						break;
						default:
						{
							goto LA128;
						}
						break;
						}
					} LA129: ;
				} LA128: ;
			}
			break;
			default:
			{
				tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T136_;
				T136_ = getLineInfo__OOZOOZOOZcompilerZlexer_u386((&(*L_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				internalErrorImpl__OOZOOZOOZcompilerZmsgs_u1601((*L_p0).config, T136_, TM__4JpEWnGrmRM8CRqL3P2O1Q_347, (&TM__4JpEWnGrmRM8CRqL3P2O1Q_348));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
			break;
			}
			switch ((*result_p1).tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73):
			{
				NI64 T138_;
				T138_ = (NI64)0;
				{
					if (!isPositive_1) goto LA141_;
					(*result_p1).iNumber = xi_1;
				}
				goto LA139_;
LA141_: ;
				{
					if (xi_1 == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -(xi_1);
				}
LA139_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
			{
				NI64 T145_;
				T145_ = (NI64)0;
				{
					if (!isPositive_1) goto LA148_;
					(*result_p1).iNumber = (NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)56) & (64 - 1)))) >> (NU64)(((NI)56) & (64 - 1)));
				}
				goto LA146_;
LA148_: ;
				{
					if ((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)56) & (64 - 1)))) >> (NU64)(((NI)56) & (64 - 1))) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)56) & (64 - 1)))) >> (NU64)(((NI)56) & (64 - 1))));
				}
LA146_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
			{
				NI64 T152_;
				T152_ = (NI64)0;
				{
					if (!isPositive_1) goto LA155_;
					(*result_p1).iNumber = (NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)48) & (64 - 1)))) >> (NU64)(((NI)48) & (64 - 1)));
				}
				goto LA153_;
LA155_: ;
				{
					if ((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)48) & (64 - 1)))) >> (NU64)(((NI)48) & (64 - 1))) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)48) & (64 - 1)))) >> (NU64)(((NI)48) & (64 - 1))));
				}
LA153_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
			{
				NI64 T159_;
				T159_ = (NI64)0;
				{
					if (!isPositive_1) goto LA162_;
					(*result_p1).iNumber = (NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)32) & (64 - 1)))) >> (NU64)(((NI)32) & (64 - 1)));
				}
				goto LA160_;
LA162_: ;
				{
					if ((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)32) & (64 - 1)))) >> (NU64)(((NI)32) & (64 - 1))) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)32) & (64 - 1)))) >> (NU64)(((NI)32) & (64 - 1))));
				}
LA160_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78):
			{
				NI64 T166_;
				T166_ = (NI64)0;
				{
					if (!isPositive_1) goto LA169_;
					(*result_p1).iNumber = xi_1;
				}
				goto LA167_;
LA169_: ;
				{
					if (xi_1 == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -(xi_1);
				}
LA167_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
			{
				NI64 T173_;
				T173_ = (NI64)0;
				{
					if (!isPositive_1) goto LA176_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(255));
				}
				goto LA174_;
LA176_: ;
				{
					if ((NI64)(xi_1 & IL64(255)) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(255)));
				}
LA174_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
			{
				NI64 T180_;
				T180_ = (NI64)0;
				{
					if (!isPositive_1) goto LA183_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(65535));
				}
				goto LA181_;
LA183_: ;
				{
					if ((NI64)(xi_1 & IL64(65535)) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(65535)));
				}
LA181_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
			{
				NI64 T187_;
				T187_ = (NI64)0;
				{
					if (!isPositive_1) goto LA190_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(4294967295));
				}
				goto LA188_;
LA190_: ;
				{
					if ((NI64)(xi_1 & IL64(4294967295)) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); goto LA106_;
					}
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(4294967295)));
				}
LA188_: ;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)80):
			{
				NF32 colontmpD_;
				NF32 colontmpD__2;
				NF32 T194_;
				colontmpD_ = (NF32)0;
				colontmpD__2 = (NF32)0;
				T194_ = (NF32)0;
				{
					if (!isPositive_1) goto LA197_;
					colontmpD_ = (*((NF32*) ((&xi_1))));
					T194_ = colontmpD_;
				}
				goto LA195_;
LA197_: ;
				{
					colontmpD__2 = -((*((NF32*) ((&xi_1)))));
					T194_ = colontmpD__2;
				}
LA195_: ;
				(*result_p1).fNumber = ((NF) (T194_));
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79):
			{
				NF T201_;
				T201_ = (NF)0;
				{
					if (!isPositive_1) goto LA204_;
					(*result_p1).fNumber = (*((NF*) ((&xi_1))));
				}
				goto LA202_;
LA204_: ;
				{
					(*result_p1).fNumber = -((*((NF*) ((&xi_1)))));
				}
LA202_: ;
			}
			break;
			default:
			{
				tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA T208_;
				T208_ = getLineInfo__OOZOOZOOZcompilerZlexer_u386((&(*L_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				internalErrorImpl__OOZOOZOOZcompilerZmsgs_u1601((*L_p0).config, T208_, TM__4JpEWnGrmRM8CRqL3P2O1Q_349, (&TM__4JpEWnGrmRM8CRqL3P2O1Q_350));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
			break;
			}
			{
				NIM_BOOL T211_;
				NIM_BOOL T212_;
				T211_ = (NIM_BOOL)0;
				T212_ = (NIM_BOOL)0;
				T212_ = !(((*result_p1).base == ((tyEnum_NumericalBase__S2Pf8C28L7Ch8LvRxz9bs6Q)0)));
				if (!(T212_)) goto LA213_;
				T212_ = ((*result_p1).tokType >= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69) && (*result_p1).tokType <= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78));
LA213_: ;
				T211_ = T212_;
				if (!(T211_)) goto LA214_;
				T211_ = (((NI)0) < numDigits_1);
LA214_: ;
				if (!T211_) goto LA215_;
				checkBitWidth__OOZOOZOOZcompilerZlexer_u556(L_p0, (*result_p1).base, (*result_p1).tokType, numDigits_1, startpos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
LA215_: ;
			{
				NIM_BOOL colontmpD__3;
				NIM_BOOL colontmpD__4;
				NIM_BOOL colontmpD__5;
				NIM_BOOL colontmpD__6;
				NIM_BOOL colontmpD__7;
				NIM_BOOL outOfRange_1;
				if (!!(((*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79) || (*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)80) || (*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81) || (*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)82)))) goto LA219_;
				colontmpD__3 = (NIM_BOOL)0;
				colontmpD__4 = (NIM_BOOL)0;
				colontmpD__5 = (NIM_BOOL)0;
				colontmpD__6 = (NIM_BOOL)0;
				colontmpD__7 = (NIM_BOOL)0;
				switch ((*result_p1).tokType) {
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
				{
					colontmpD__3 = !(((*result_p1).iNumber == xi_1));
					outOfRange_1 = colontmpD__3;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
				{
					colontmpD__4 = (IL64(255) < xi_1);
					outOfRange_1 = colontmpD__4;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
				{
					colontmpD__5 = (IL64(65535) < xi_1);
					outOfRange_1 = colontmpD__5;
				}
				break;
				case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
				{
					colontmpD__6 = (IL64(4294967295) < xi_1);
					outOfRange_1 = colontmpD__6;
				}
				break;
				default:
				{
					colontmpD__7 = NIM_FALSE;
					outOfRange_1 = colontmpD__7;
				}
				break;
				}
				{
					if (!outOfRange_1) goto LA228_;
					lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_364, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
					if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				}
LA228_: ;
			}
LA219_: ;
		}
		goto LA107_;
LA111_: ;
		{
			NIM_BOOL colontmpD__8;
			NIM_BOOL colontmpD__9;
			NIM_BOOL colontmpD__10;
			NIM_BOOL colontmpD__11;
			NIM_BOOL colontmpD__12;
			NIM_BOOL colontmpD__13;
			NIM_BOOL colontmpD__14;
			NIM_BOOL outOfRange_2;
			colontmpD__8 = (NIM_BOOL)0;
			colontmpD__9 = (NIM_BOOL)0;
			colontmpD__10 = (NIM_BOOL)0;
			colontmpD__11 = (NIM_BOOL)0;
			colontmpD__12 = (NIM_BOOL)0;
			colontmpD__13 = (NIM_BOOL)0;
			colontmpD__14 = (NIM_BOOL)0;
			switch ((*result_p1).tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)82):
			{
				NF T232_;
				T232_ = (NF)0;
				T232_ = nsuParseFloat((*result_p1).literal);
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				(*result_p1).fNumber = T232_;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78):
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74):
			{
				NU64 iNumber_1;
				NI len_1;
				NI T235_;
				iNumber_1 = 0ULL;
				len_1 = ((NI)0);
				T235_ = (NI)0;
				T235_ = parseBiggestUInt__pureZparseutils_u991((*result_p1).literal, (&iNumber_1), ((NI)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA234_;
				len_1 = T235_;
				if (NIM_UNLIKELY(*nimErr_)) {
					LA234_:;
					if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1287918080)) {
						tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA* T239_;
						NimStringV2 T240_;
						*nimErr_ = NIM_FALSE;
						T239_ = NIM_NIL;
						T239_ = (tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA*) nimNewObj(sizeof(tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA), NIM_ALIGNOF(tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA));
						(*T239_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__TMksqY4dIpMVlFPAvYw2NA_);
						(*T239_).Sup.Sup.Sup.name = "OverflowDefect";
						T240_.len = 0; T240_.p = NIM_NIL;
						T240_ = rawNewString((*result_p1).literal.len + 21);
appendString((&T240_), TM__4JpEWnGrmRM8CRqL3P2O1Q_366);
appendString((&T240_), (*result_p1).literal);
						(*T239_).Sup.Sup.Sup.message = T240_;
						(*T239_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
						popCurrentException();
						raiseExceptionEx((Exception*)T239_, "OverflowDefect", "getNumber", "lexer.nim", 548);
goto LA237_;
						popCurrentException();
						LA237_:;
					}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				{
					tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T245_;
					NimStringV2 T246_;
					if (!!((len_1 == (*result_p1).literal.len))) goto LA243_;
					T245_ = NIM_NIL;
					T245_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
					(*T245_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
					(*T245_).Sup.Sup.name = "ValueError";
					T246_.len = 0; T246_.p = NIM_NIL;
					T246_ = rawNewString((*result_p1).literal.len + 17);
appendString((&T246_), TM__4JpEWnGrmRM8CRqL3P2O1Q_368);
appendString((&T246_), (*result_p1).literal);
					(*T245_).Sup.Sup.message = T246_;
					(*T245_).Sup.Sup.parent = ((Exception*) NIM_NIL);
					raiseExceptionEx((Exception*)T245_, "ValueError", "getNumber", "lexer.nim", 550);
goto LA106_;
				}
LA243_: ;
				(*result_p1).iNumber = ((NI64) (iNumber_1));
			}
			break;
			default:
			{
				NI64 iNumber_2;
				NI len_2;
				NI T249_;
				iNumber_2 = IL64(0);
				len_2 = ((NI)0);
				T249_ = (NI)0;
				T249_ = parseBiggestInt__pureZparseutils_u976((*result_p1).literal, (&iNumber_2), ((NI)0));
				if (NIM_UNLIKELY(*nimErr_)) goto LA248_;
				len_2 = T249_;
				if (NIM_UNLIKELY(*nimErr_)) {
					LA248_:;
					if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1287918080)) {
						tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA* T253_;
						NimStringV2 T254_;
						*nimErr_ = NIM_FALSE;
						T253_ = NIM_NIL;
						T253_ = (tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA*) nimNewObj(sizeof(tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA), NIM_ALIGNOF(tyObject_OverflowDefect__TMksqY4dIpMVlFPAvYw2NA));
						(*T253_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__TMksqY4dIpMVlFPAvYw2NA_);
						(*T253_).Sup.Sup.Sup.name = "OverflowDefect";
						T254_.len = 0; T254_.p = NIM_NIL;
						T254_ = rawNewString((*result_p1).literal.len + 21);
appendString((&T254_), TM__4JpEWnGrmRM8CRqL3P2O1Q_369);
appendString((&T254_), (*result_p1).literal);
						(*T253_).Sup.Sup.Sup.message = T254_;
						(*T253_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
						popCurrentException();
						raiseExceptionEx((Exception*)T253_, "OverflowDefect", "getNumber", "lexer.nim", 558);
goto LA251_;
						popCurrentException();
						LA251_:;
					}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				{
					tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T259_;
					NimStringV2 T260_;
					if (!!((len_2 == (*result_p1).literal.len))) goto LA257_;
					T259_ = NIM_NIL;
					T259_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
					(*T259_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
					(*T259_).Sup.Sup.name = "ValueError";
					T260_.len = 0; T260_.p = NIM_NIL;
					T260_ = rawNewString((*result_p1).literal.len + 17);
appendString((&T260_), TM__4JpEWnGrmRM8CRqL3P2O1Q_370);
appendString((&T260_), (*result_p1).literal);
					(*T259_).Sup.Sup.message = T260_;
					(*T259_).Sup.Sup.parent = ((Exception*) NIM_NIL);
					raiseExceptionEx((Exception*)T259_, "ValueError", "getNumber", "lexer.nim", 560);
goto LA106_;
				}
LA257_: ;
				(*result_p1).iNumber = iNumber_2;
			}
			break;
			}
			switch ((*result_p1).tokType) {
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
			{
				NIM_BOOL T262_;
				T262_ = (NIM_BOOL)0;
				T262_ = (IL64(127) < (*result_p1).iNumber);
				if (T262_) goto LA263_;
				T262_ = ((*result_p1).iNumber < IL64(-128));
LA263_: ;
				colontmpD__8 = T262_;
				outOfRange_2 = colontmpD__8;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
			{
				NIM_BOOL T265_;
				T265_ = (NIM_BOOL)0;
				T265_ = (IL64(255) < (*result_p1).iNumber);
				if (T265_) goto LA266_;
				T265_ = ((*result_p1).iNumber < IL64(0));
LA266_: ;
				colontmpD__9 = T265_;
				outOfRange_2 = colontmpD__9;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
			{
				NIM_BOOL T268_;
				T268_ = (NIM_BOOL)0;
				T268_ = (IL64(32767) < (*result_p1).iNumber);
				if (T268_) goto LA269_;
				T268_ = ((*result_p1).iNumber < IL64(-32768));
LA269_: ;
				colontmpD__10 = T268_;
				outOfRange_2 = colontmpD__10;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
			{
				NIM_BOOL T271_;
				T271_ = (NIM_BOOL)0;
				T271_ = (IL64(65535) < (*result_p1).iNumber);
				if (T271_) goto LA272_;
				T271_ = ((*result_p1).iNumber < IL64(0));
LA272_: ;
				colontmpD__11 = T271_;
				outOfRange_2 = colontmpD__11;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
			{
				NIM_BOOL T274_;
				T274_ = (NIM_BOOL)0;
				T274_ = (IL64(2147483647) < (*result_p1).iNumber);
				if (T274_) goto LA275_;
				T274_ = ((*result_p1).iNumber < IL64(-2147483648));
LA275_: ;
				colontmpD__12 = T274_;
				outOfRange_2 = colontmpD__12;
			}
			break;
			case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
			{
				NIM_BOOL T277_;
				T277_ = (NIM_BOOL)0;
				T277_ = (IL64(4294967295) < (*result_p1).iNumber);
				if (T277_) goto LA278_;
				T277_ = ((*result_p1).iNumber < IL64(0));
LA278_: ;
				colontmpD__13 = T277_;
				outOfRange_2 = colontmpD__13;
			}
			break;
			default:
			{
				colontmpD__14 = NIM_FALSE;
				outOfRange_2 = colontmpD__14;
			}
			break;
			}
			{
				if (!outOfRange_2) goto LA282_;
				lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_371, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
LA282_: ;
		}
LA107_: ;
		{
			if (!((*result_p1).tokType == ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69))) goto LA286_;
			{
				NIM_BOOL T290_;
				T290_ = (NIM_BOOL)0;
				T290_ = (IL64(2147483647) < (*result_p1).iNumber);
				if (T290_) goto LA291_;
				T290_ = ((*result_p1).iNumber < IL64(-2147483648));
LA291_: ;
				if (!T290_) goto LA292_;
				(*result_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73);
			}
LA292_: ;
		}
LA286_: ;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA106_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1287918080)) {
				*nimErr_ = NIM_FALSE;
				lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_372, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
				if (NIM_UNLIKELY(*nimErr_)) goto LA295_;
				popCurrentException();
				LA295_:;
			}
			else 			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 3375147264)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 299688960)) {
				*nimErr_ = NIM_FALSE;
				lexMessageLitNum__OOZOOZOOZcompilerZlexer_u491(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_373, startpos_1, ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17));
				if (NIM_UNLIKELY(*nimErr_)) goto LA297_;
				popCurrentException();
				LA297_:;
			}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA104_: ;
	(*L_p0).Sup.bufpos = postPos_1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__OOZOOZOOZcompilerZlexer_u1880)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p1) {
	NIM_CHAR c_1;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	reset__OOZOOZOOZcompilerZlexer_u1884(tok_p1);
	{
		if (!(((NI)0) <= (*L_p0).indentAhead)) goto LA3_;
		(*tok_p1).indent = (*L_p0).indentAhead;
		(*L_p0).currLineIndent = (*L_p0).indentAhead;
		(*L_p0).indentAhead = ((NI)-1);
	}
	goto LA1_;
LA3_: ;
	{
		(*tok_p1).indent = ((NI)-1);
	}
LA1_: ;
	skip__OOZOOZOOZcompilerZlexer_u1831(L_p0, tok_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	c_1 = (*L_p0).Sup.buf[(*L_p0).Sup.bufpos];
	(*tok_p1).line = (*L_p0).Sup.lineNumber;
	T6_ = (NI)0;
	T6_ = getColNumber__OOZOOZOOZcompilerZnimlexbase_u34((&(*L_p0).Sup), (*L_p0).Sup.bufpos);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*tok_p1).col = T6_;
	{
		if (!(((NU8)(c_1)) >= ((NU8)(65)) && ((NU8)(c_1)) <= ((NU8)(81)) || ((NU8)(c_1)) >= ((NU8)(83)) && ((NU8)(c_1)) <= ((NU8)(90)) || ((NU8)(c_1)) >= ((NU8)(97)) && ((NU8)(c_1)) <= ((NU8)(113)) || ((NU8)(c_1)) >= ((NU8)(115)) && ((NU8)(c_1)) <= ((NU8)(122)) || ((NU8)(c_1)) >= ((NU8)(128)) && ((NU8)(c_1)) <= ((NU8)(193)) || ((NU8)(c_1)) >= ((NU8)(196)) && ((NU8)(c_1)) <= ((NU8)(225)) || ((NU8)(c_1)) >= ((NU8)(227)) && ((NU8)(c_1)) <= ((NU8)(255)))) goto LA9_;
		getSymbol__OOZOOZOOZcompilerZlexer_u1473(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA7_;
LA9_: ;
	{
		switch (((NU8)(c_1))) {
		case 194 ... 195:
		case 226:
		{
			{
				tyTuple__mvuhCheBMFBYvdgIMGELfQ T15_;
				T15_ = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426((*L_p0).Sup.buf, (*L_p0).Sup.bufpos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!!((T15_.Field0 == ((NI8)0)))) goto LA16_;
				getOperator__OOZOOZOOZcompilerZlexer_u1573(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA13_;
LA16_: ;
			{
				getSymbol__OOZOOZOOZcompilerZlexer_u1473(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA13_: ;
		}
		break;
		case 35:
		{
			scanComment__OOZOOZOOZcompilerZlexer_u1763(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 42:
		{
			{
				NIM_BOOL T23_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_109;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_110;
				NI h_1;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_111;
				T23_ = (NIM_BOOL)0;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_109)) { raiseOverflow(); goto BeforeRet_;
				};
				T23_ = ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_109)]) == (NU8)(58));
				if (!(T23_)) goto LA24_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_110)) { raiseOverflow(); goto BeforeRet_;
				};
				T23_ = !(((TM__4JpEWnGrmRM8CRqL3P2O1Q_85[(NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_110)]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_110)]))))&7U)))!=0));
LA24_: ;
				if (!T23_) goto LA25_;
				h_1 = emarkamp___pureZhashes_u4(((NI)0), ((NI)42));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_111)) { raiseOverflow(); goto BeforeRet_;
				};
				endOperator__OOZOOZOOZcompilerZlexer_u1564(L_p0, tok_p1, (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_111), h_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA21_;
LA25_: ;
			{
				getOperator__OOZOOZOOZcompilerZlexer_u1573(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA21_: ;
		}
		break;
		case 44:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_112;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_112)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_112);
		}
		break;
		case 114:
		case 82:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_113;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_114;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_113)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_113)]) == (NU8)(34))) goto LA32_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_114)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_114);
				getString__OOZOOZOOZcompilerZlexer_u1308(L_p0, tok_p1, ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA30_;
LA32_: ;
			{
				getSymbol__OOZOOZOOZcompilerZlexer_u1473(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA30_: ;
		}
		break;
		case 40:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_218;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_218)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_218);
			{
				NIM_BOOL T38_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_219;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_220;
				T38_ = (NIM_BOOL)0;
				T38_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T38_)) goto LA39_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_219)) { raiseOverflow(); goto BeforeRet_;
				};
				T38_ = !(((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_219)]) == (NU8)(46)));
LA39_: ;
				if (!T38_) goto LA40_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)100);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_220)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_220);
			}
			goto LA36_;
LA40_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90);
			}
LA36_: ;
		}
		break;
		case 41:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_221;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_221)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_221);
		}
		break;
		case 91:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_222;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_222)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_222);
			{
				NIM_BOOL T47_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_223;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_224;
				T47_ = (NIM_BOOL)0;
				T47_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T47_)) goto LA48_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_223)) { raiseOverflow(); goto BeforeRet_;
				};
				T47_ = !(((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_223)]) == (NU8)(46)));
LA48_: ;
				if (!T47_) goto LA49_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)96);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_224)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_224);
			}
			goto LA45_;
LA49_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_225;
				if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(58))) goto LA52_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)109);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_225)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_225);
			}
			goto LA45_;
LA52_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92);
			}
LA45_: ;
		}
		break;
		case 93:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_226;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_226)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_226);
		}
		break;
		case 46:
		{
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_227;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_228;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_227)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_227)]) == (NU8)(93))) goto LA59_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)97);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_228)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_228);
			}
			goto LA57_;
LA59_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_229;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_230;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_229)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_229)]) == (NU8)(125))) goto LA62_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_230)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_230);
			}
			goto LA57_;
LA62_: ;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_231;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_232;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_231)) { raiseOverflow(); goto BeforeRet_;
				};
				if (!((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_231)]) == (NU8)(41))) goto LA65_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)101);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_232)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_232);
			}
			goto LA57_;
LA65_: ;
			{
				getOperator__OOZOOZOOZcompilerZlexer_u1573(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA57_: ;
		}
		break;
		case 123:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_233;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_233)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_233);
			{
				NIM_BOOL T71_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_234;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_235;
				T71_ = (NIM_BOOL)0;
				T71_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T71_)) goto LA72_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_234)) { raiseOverflow(); goto BeforeRet_;
				};
				T71_ = !(((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_234)]) == (NU8)(46)));
LA72_: ;
				if (!T71_) goto LA73_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98);
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_235)) { raiseOverflow(); goto BeforeRet_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_235);
			}
			goto LA69_;
LA73_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94);
			}
LA69_: ;
		}
		break;
		case 125:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_236;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_236)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_236);
		}
		break;
		case 59:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_237;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_237)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_237);
		}
		break;
		case 96:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_238;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112);
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_238)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_238);
		}
		break;
		case 95:
		{
			NI TM__4JpEWnGrmRM8CRqL3P2O1Q_239;
			if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_239)) { raiseOverflow(); goto BeforeRet_;
			};
			(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_239);
			{
				tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* T84_;
				if (!!((((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) == ((NU8)(95)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) <= ((NU8)(255))))) goto LA82_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2);
				T84_ = NIM_NIL;
				T84_ = getIdent__OOZOOZOOZcompilerZidents_u207((*L_p0).cache, TM__4JpEWnGrmRM8CRqL3P2O1Q_241);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___OOZOOZOOZcompilerZidents_u156(T84_); goto BeforeRet_;}
				eqsink___OOZOOZOOZcompilerZidents_u165(&(*tok_p1).ident, T84_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA80_;
LA82_: ;
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NimStringV2 T87_;
				NimStringV2 T88_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T87_.len = 0; T87_.p = NIM_NIL;
				T87_ = nimCharToStr(c_1);
				eqsink___system_u2760((&(*tok_p1).literal), T87_);
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0);
				T88_.len = 0; T88_.p = NIM_NIL;
				colontmpD_ = dollar___systemZdollars_u14(((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				T88_ = rawNewString(colontmpD_.len + 20);
appendString((&T88_), TM__4JpEWnGrmRM8CRqL3P2O1Q_243);
appendChar((&T88_), c_1);
appendString((&T88_), TM__4JpEWnGrmRM8CRqL3P2O1Q_245);
appendString((&T88_), colontmpD_);
appendChar((&T88_), 41);
				colontmpD__2 = T88_;
				lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				{
					LA86_:;
				}
				{
					if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA80_: ;
		}
		break;
		case 34:
		{
			tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw colontmpD__3;
			tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw colontmpD__4;
			tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw mode_1;
			colontmpD__3 = (tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0;
			colontmpD__4 = (tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0;
			{
				NIM_BOOL T94_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_246;
				T94_ = (NIM_BOOL)0;
				T94_ = (((NI)0) < (*L_p0).Sup.bufpos);
				if (!(T94_)) goto LA95_;
				if (nimSubInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_246)) { raiseOverflow(); goto BeforeRet_;
				};
				T94_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_246)])) <= ((NU8)(255)));
LA95_: ;
				if (!T94_) goto LA96_;
				colontmpD__3 = ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)2);
				mode_1 = colontmpD__3;
			}
			goto LA92_;
LA96_: ;
			{
				colontmpD__4 = ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)0);
				mode_1 = colontmpD__4;
			}
LA92_: ;
			getString__OOZOOZOOZcompilerZlexer_u1308(L_p0, tok_p1, mode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_247;
				if (!(mode_1 == ((tyEnum_StringMode__SXSW7IgFh5SVJGdku9bISHw)2))) goto LA101_;
				if (nimAddInt((*tok_p1).tokType, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_247)) { raiseOverflow(); goto BeforeRet_;
				};
				if (TM__4JpEWnGrmRM8CRqL3P2O1Q_247 < 0 || TM__4JpEWnGrmRM8CRqL3P2O1Q_247 > 118){ raiseOverflow(); goto BeforeRet_;
				}
				(*tok_p1).tokType = (tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)(TM__4JpEWnGrmRM8CRqL3P2O1Q_247);
			}
LA101_: ;
		}
		break;
		case 39:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88);
			getCharacter__OOZOOZOOZcompilerZlexer_u1391(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88);
		}
		break;
		case 48 ... 57:
		{
			NIM_CHAR c_2;
			getNumber__OOZOOZOOZcompilerZlexer_u445(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			c_2 = (*L_p0).Sup.buf[(*L_p0).Sup.bufpos];
			{
				if (!(((NU8)(c_2)) >= ((NU8)(48)) && ((NU8)(c_2)) <= ((NU8)(57)) || ((NU8)(c_2)) >= ((NU8)(65)) && ((NU8)(c_2)) <= ((NU8)(90)) || ((NU8)(c_2)) == ((NU8)(95)) || ((NU8)(c_2)) >= ((NU8)(97)) && ((NU8)(c_2)) <= ((NU8)(122)) || ((NU8)(c_2)) >= ((NU8)(128)) && ((NU8)(c_2)) <= ((NU8)(255)))) goto LA107_;
				{
					NIM_BOOL T111_;
					tyTuple__mvuhCheBMFBYvdgIMGELfQ T113_;
					T111_ = (NIM_BOOL)0;
					T111_ = (((NU8)(c_2)) == ((NU8)(226)) || ((NU8)(c_2)) == ((NU8)(194)) || ((NU8)(c_2)) == ((NU8)(195)));
					if (!(T111_)) goto LA112_;
					T113_ = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426((*L_p0).Sup.buf, (*L_p0).Sup.bufpos);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T111_ = !((T113_.Field0 == ((NI8)0)));
LA112_: ;
					if (!T111_) goto LA114_;
				}
				goto LA109_;
LA114_: ;
				{
					lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_375);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA109_: ;
			}
LA107_: ;
		}
		break;
		case 45:
		{
			{
				NIM_BOOL T120_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_376;
				NIM_BOOL T122_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_377;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_379;
				NIM_CHAR c_3;
				T120_ = (NIM_BOOL)0;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_376)) { raiseOverflow(); goto BeforeRet_;
				};
				T120_ = (((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_376)])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_376)])) <= ((NU8)(57)));
				if (!(T120_)) goto LA121_;
				T122_ = (NIM_BOOL)0;
				if (nimSubInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_377)) { raiseOverflow(); goto BeforeRet_;
				};
				T122_ = ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_377) == ((NI)0));
				if (T122_) goto LA123_;
				if (nimSubInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_379)) { raiseOverflow(); goto BeforeRet_;
				};
				T122_ = ((TM__4JpEWnGrmRM8CRqL3P2O1Q_378[(NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_379)]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_379)]))))&7U)))!=0);
LA123_: ;
				T120_ = T122_;
LA121_: ;
				if (!T120_) goto LA124_;
				getNumber__OOZOOZOOZcompilerZlexer_u445(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				c_3 = (*L_p0).Sup.buf[(*L_p0).Sup.bufpos];
				{
					if (!(((NU8)(c_3)) >= ((NU8)(48)) && ((NU8)(c_3)) <= ((NU8)(57)) || ((NU8)(c_3)) >= ((NU8)(65)) && ((NU8)(c_3)) <= ((NU8)(90)) || ((NU8)(c_3)) == ((NU8)(95)) || ((NU8)(c_3)) >= ((NU8)(97)) && ((NU8)(c_3)) <= ((NU8)(122)) || ((NU8)(c_3)) >= ((NU8)(128)) && ((NU8)(c_3)) <= ((NU8)(255)))) goto LA128_;
					{
						NIM_BOOL T132_;
						tyTuple__mvuhCheBMFBYvdgIMGELfQ T134_;
						T132_ = (NIM_BOOL)0;
						T132_ = (((NU8)(c_3)) == ((NU8)(226)) || ((NU8)(c_3)) == ((NU8)(194)) || ((NU8)(c_3)) == ((NU8)(195)));
						if (!(T132_)) goto LA133_;
						T134_ = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426((*L_p0).Sup.buf, (*L_p0).Sup.bufpos);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T132_ = !((T134_.Field0 == ((NI8)0)));
LA133_: ;
						if (!T132_) goto LA135_;
					}
					goto LA130_;
LA135_: ;
					{
						lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_380);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA130_: ;
				}
LA128_: ;
			}
			goto LA118_;
LA124_: ;
			{
				getOperator__OOZOOZOOZcompilerZlexer_u1573(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA118_: ;
		}
		break;
		default:
		{
			{
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_85[(NU)((((NU8)(c_1))))>>3] &(1U<<((NU)((((NU8)(c_1))))&7U)))!=0)) goto LA142_;
				getOperator__OOZOOZOOZcompilerZlexer_u1573(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA140_;
LA142_: ;
			{
				if (!((NU8)(c_1) == (NU8)(0))) goto LA145_;
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1);
				(*tok_p1).indent = ((NI)0);
			}
			goto LA140_;
LA145_: ;
			{
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				NimStringV2 T149_;
				NimStringV2 T150_;
				NI TM__4JpEWnGrmRM8CRqL3P2O1Q_383;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				T149_.len = 0; T149_.p = NIM_NIL;
				T149_ = nimCharToStr(c_1);
				eqsink___system_u2760((&(*tok_p1).literal), T149_);
				(*tok_p1).tokType = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0);
				T150_.len = 0; T150_.p = NIM_NIL;
				colontmpD__5 = dollar___systemZdollars_u14(((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA148_;
				T150_ = rawNewString(colontmpD__5.len + 20);
appendString((&T150_), TM__4JpEWnGrmRM8CRqL3P2O1Q_381);
appendChar((&T150_), c_1);
appendString((&T150_), TM__4JpEWnGrmRM8CRqL3P2O1Q_382);
appendString((&T150_), colontmpD__5);
appendChar((&T150_), 41);
				colontmpD__6 = T150_;
				lexMessage__OOZOOZOOZcompilerZlexer_u399((&(*L_p0)), ((tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g)17), colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA148_;
				if (nimAddInt((*L_p0).Sup.bufpos, ((NI)1), &TM__4JpEWnGrmRM8CRqL3P2O1Q_383)) { raiseOverflow(); goto LA148_;
				};
				(*L_p0).Sup.bufpos = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_383);
				{
					LA148_:;
				}
				{
					if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
					if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA140_: ;
		}
		break;
		}
	}
LA7_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__OOZOOZOOZcompilerZlexer_u403)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* L_p0, tyEnum_TMsgKind__pCKnCkdazBSZAewKQ9a3R5g msg_p1, tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p2, NimStringV2 arg_p3) {
	tyObject_TLineInfo__kiDjTapnw5C9b3hMkuXAcnA info_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	info_1 = newLineInfo__OOZOOZOOZcompilerZmsgs_u416((*L_p0).fileIdx, (*tok_p2).line, (*tok_p2).col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__OOZOOZOOZcompilerZlexer_u389(L_p0, info_1, msg_p1, arg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__OOZOOZOOZcompilerZlexer_u201)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g kind_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3) <= kind_p0);
	if (!(T1_)) goto LA2_;
	T1_ = (kind_p0 <= ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u139)(tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_387;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_389;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)2):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_391;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)3):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_393;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)4):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_395;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)5):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_397;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)6):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_399;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)7):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_401;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)8):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_403;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)9):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_405;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)10):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_407;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)11):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_409;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)12):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_411;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)13):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_413;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)14):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_415;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)15):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_417;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)16):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_419;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)17):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_421;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)18):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_423;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)19):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_425;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)20):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_427;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)21):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_429;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)22):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_431;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)23):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_433;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)24):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_435;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)25):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_437;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)26):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_439;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)27):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_441;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)28):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_443;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)29):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_445;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)30):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_447;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)31):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_449;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)32):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_451;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_453;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)34):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_455;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)35):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_457;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)36):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_459;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)37):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_461;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)38):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_463;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)39):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_465;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)40):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_467;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)41):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_469;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)42):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_471;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)43):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_473;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)44):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_475;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)45):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_477;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)46):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_479;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)47):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_481;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_483;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)49):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_485;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)50):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_487;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)51):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_489;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_491;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)53):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_493;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_495;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)55):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_497;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)56):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_499;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)57):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_501;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)58):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_503;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)59):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_505;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)60):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_507;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)61):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_509;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)62):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_511;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)63):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_513;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)64):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_515;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)65):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_517;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)66):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_519;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)67):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_521;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)68):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_523;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_525;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)70):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_527;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)71):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_529;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)72):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_531;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_533;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)74):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_535;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)75):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_537;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)76):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_539;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)77):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_541;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)78):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_543;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_545;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)80):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_547;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_549;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)82):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_551;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)83):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_553;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)84):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_555;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)85):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_557;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)86):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_559;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)87):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_561;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_563;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)89):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_565;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_567;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)91):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_569;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)92):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_571;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)93):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_573;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)94):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_575;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)95):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_577;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)96):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_579;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)97):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_581;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)98):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_583;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)99):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_585;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)100):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_587;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)101):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_589;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)102):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_591;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)103):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_593;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_595;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)105):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_597;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)106):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_599;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)107):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_601;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_603;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)109):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_605;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_607;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_609;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_611;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)113):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_613;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)114):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_615;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)115):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_617;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)116):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_619;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)117):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_621;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_623;
	}
	break;
	default:
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_625;
	}
	break;
	}
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___OOZOOZOOZcompilerZidents_u367)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* a_p0, tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* b_p1) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = (b_p1 == 0);
LA4_: ;
		if (!T3_) goto LA5_;
		result = (a_p0 == b_p1);
	}
	goto LA1_;
LA5_: ;
	{
		result = ((*a_p0).id == (*b_p1).id);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZOOZOOZcompilerZlexer_u237)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	switch ((*tok_p0).tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)69) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)73):
	{
		result = dollar___systemZdollars_u34((*tok_p0).iNumber);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)79) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)81):
	{
		result = dollar___system_u4780((*tok_p0).fNumber);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)83) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)88):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)111):
	{
		eqcopy___system_u2754((&result), (*tok_p0).literal);
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)90) ... ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)104):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)1):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)112):
	{
		result = dollar___OOZOOZOOZcompilerZlexer_u139((*tok_p0).tokType);
	}
	break;
	default:
	{
		NimStringV2 T7_;
		T7_.len = 0; T7_.p = NIM_NIL;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = eqeq___OOZOOZOOZcompilerZidents_u367((*tok_p0).ident, ((tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T10_)) goto LA11_;
			eqcopy___system_u2754((&result), (*(*tok_p0).ident).s);
		}
		goto LA8_;
LA11_: ;
		{
			result = TM__4JpEWnGrmRM8CRqL3P2O1Q_626;
		}
LA8_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prettyTok__OOZOOZOOZcompilerZlexer_u246)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		NimStringV2 T7_;
		T4_ = (NIM_BOOL)0;
		T4_ = isKeyword__OOZOOZOOZcompilerZlexer_u201((*tok_p0).tokType);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString((*(*tok_p0).ident).s.len + 8);
appendString((&T7_), TM__4JpEWnGrmRM8CRqL3P2O1Q_385);
appendString((&T7_), (*(*tok_p0).ident).s);
		result = T7_;
	}
	goto LA2_;
LA5_: ;
	{
		result = dollar___OOZOOZOOZcompilerZlexer_u237(tok_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8571)(NimStringV2* s_p0, NI i_p1) {
	NIM_CHAR* result;
	NI TM__4JpEWnGrmRM8CRqL3P2O1Q_627;
{	result = (NIM_CHAR*)0;
	nimPrepareStrMutationV2((&(*s_p0)));
	if (nimSubInt((*s_p0).len, i_p1, &TM__4JpEWnGrmRM8CRqL3P2O1Q_627)) { raiseOverflow(); goto BeforeRet_;
	};
	if ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_627) < 0 || (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_627) >= (*s_p0).len){ raiseIndexError2((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_627),(*s_p0).len-1); goto BeforeRet_;
	}
	result = (&(*s_p0).p->data[(NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_627)]);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0) {
	NCSTRING result;
	{
		if (!(s_p0.len == ((NI)0))) goto LA3_;
		result = "";
	}
	goto LA1_;
LA3_: ;
	{
		result = ((NCSTRING) ((*s_p0.p).data));
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__OOZOOZOOZcompilerZlexer_u1651)(tyObject_Token__0RfaoeiXz87H212JyhBKLA* tok_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch ((*tok_p0).tokType) {
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110):
	{
		NIM_CHAR relevantChar_1;
		if (((NI)0) < 0 || ((NI)0) >= (*(*tok_p0).ident).s.len){ raiseIndexError2(((NI)0),(*(*tok_p0).ident).s.len-1); goto BeforeRet_;
		}
		relevantChar_1 = (*(*tok_p0).ident).s.p->data[((NI)0)];
		{
			NIM_BOOL T4_;
			NIM_BOOL T5_;
			NIM_CHAR* T7_;
			NIM_CHAR* T9_;
			T4_ = (NIM_BOOL)0;
			T5_ = (NIM_BOOL)0;
			T5_ = (((NI)1) < (*(*tok_p0).ident).s.len);
			if (!(T5_)) goto LA6_;
			T7_ = (NIM_CHAR*)0;
			T7_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T5_ = ((NU8)((*T7_)) == (NU8)(62));
LA6_: ;
			T4_ = T5_;
			if (!(T4_)) goto LA8_;
			T9_ = (NIM_CHAR*)0;
			T9_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T4_ = (((NU8)((*T9_))) == ((NU8)(45)) || ((NU8)((*T9_))) == ((NU8)(126)) || ((NU8)((*T9_))) == ((NU8)(61)));
LA8_: ;
			if (!T4_) goto LA10_;
			result = ((NI)0);
			goto BeforeRet_;
		}
LA10_: ;
		switch (((NU8)(relevantChar_1))) {
		case 36:
		case 94:
		{
			NI T13_;
			T13_ = (NI)0;
			{
				NIM_CHAR* T16_;
				T16_ = (NIM_CHAR*)0;
				T16_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T16_)) == (NU8)(61))) goto LA17_;
				result = ((NI)1);
			}
			goto LA14_;
LA17_: ;
			{
				result = ((NI)10);
			}
LA14_: ;
		}
		break;
		case 42:
		case 37:
		case 47:
		case 92:
		{
			NI T21_;
			T21_ = (NI)0;
			{
				NIM_CHAR* T24_;
				T24_ = (NIM_CHAR*)0;
				T24_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T24_)) == (NU8)(61))) goto LA25_;
				result = ((NI)1);
			}
			goto LA22_;
LA25_: ;
			{
				result = ((NI)9);
			}
LA22_: ;
		}
		break;
		case 126:
		{
			result = ((NI)8);
		}
		break;
		case 43:
		case 45:
		case 124:
		{
			NI T30_;
			T30_ = (NI)0;
			{
				NIM_CHAR* T33_;
				T33_ = (NIM_CHAR*)0;
				T33_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T33_)) == (NU8)(61))) goto LA34_;
				result = ((NI)1);
			}
			goto LA31_;
LA34_: ;
			{
				result = ((NI)8);
			}
LA31_: ;
		}
		break;
		case 38:
		{
			NI T38_;
			T38_ = (NI)0;
			{
				NIM_CHAR* T41_;
				T41_ = (NIM_CHAR*)0;
				T41_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T41_)) == (NU8)(61))) goto LA42_;
				result = ((NI)1);
			}
			goto LA39_;
LA42_: ;
			{
				result = ((NI)7);
			}
LA39_: ;
		}
		break;
		case 61:
		case 60:
		case 62:
		case 33:
		{
			result = ((NI)5);
		}
		break;
		case 46:
		{
			NI T47_;
			T47_ = (NI)0;
			{
				NIM_CHAR* T50_;
				T50_ = (NIM_CHAR*)0;
				T50_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T50_)) == (NU8)(61))) goto LA51_;
				result = ((NI)1);
			}
			goto LA48_;
LA51_: ;
			{
				result = ((NI)6);
			}
LA48_: ;
		}
		break;
		case 63:
		{
			result = ((NI)2);
		}
		break;
		case 194 ... 195:
		case 226:
		{
			{
				NIM_CHAR* T58_;
				T58_ = (NIM_CHAR*)0;
				T58_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T58_)) == (NU8)(61))) goto LA59_;
				result = ((NI)1);
			}
			goto LA56_;
LA59_: ;
			{
				tyTuple__mvuhCheBMFBYvdgIMGELfQ tmpTuple_1;
				NI8 len_1;
				tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g pred_1;
				tmpTuple_1 = unicodeOprLen__OOZOOZOOZcompilerZlexer_u1426(nimToCStringConv((*(*tok_p0).ident).s), ((NI)0));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				len_1 = tmpTuple_1.Field0;
				pred_1 = tmpTuple_1.Field1;
				{
					NI T66_;
					if (!!((len_1 == ((NI8)0)))) goto LA64_;
					T66_ = (NI)0;
					{
						if (!(pred_1 == ((tyEnum_UnicodeOprPred__BTpIK6LZuDKcw9a6mc2UC2g)0))) goto LA69_;
						result = ((NI)9);
					}
					goto LA67_;
LA69_: ;
					{
						result = ((NI)8);
					}
LA67_: ;
				}
				goto LA62_;
LA64_: ;
				{
					result = ((NI)2);
				}
LA62_: ;
			}
LA56_: ;
		}
		break;
		default:
		{
			NI T74_;
			T74_ = (NI)0;
			{
				NIM_CHAR* T77_;
				T77_ = (NIM_CHAR*)0;
				T77_ = X5BX5D___system_u8571((&(*(*tok_p0).ident).s), ((NI)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!((NU8)((*T77_)) == (NU8)(61))) goto LA78_;
				result = ((NI)1);
			}
			goto LA75_;
LA78_: ;
			{
				result = ((NI)2);
			}
LA75_: ;
		}
		break;
		}
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)19):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)43):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)56):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)57):
	{
		result = ((NI)9);
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)108):
	{
		result = ((NI)6);
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)33):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)46):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)36):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)37):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)48):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)5):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)29):
	{
		result = ((NI)5);
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)4):
	{
		result = ((NI)4);
	}
	break;
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)49):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)67):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)52):
	case ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)54):
	{
		result = ((NI)3);
	}
	break;
	default:
	{
		result = ((NI)-10);
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__OOZOOZOOZcompilerZlexer_u375)(tyObject_Lexer__pr0lUFd9b8B8UI5LygxHiDA* lex_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_628;
		if (!!(((*lex_p0).config == ((tyObject_ConfigRefcolonObjectType___WEVIgmckGyO0Rv9cbVqxUQw*) NIM_NIL)))) goto LA3_;
		if (nimAddInt((*(*lex_p0).config).linesCompiled, (*lex_p0).Sup.lineNumber, &TM__4JpEWnGrmRM8CRqL3P2O1Q_628)) { raiseOverflow(); goto BeforeRet_;
		};
		(*(*lex_p0).config).linesCompiled = (NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_628);
	}
LA3_: ;
	closeBaseLexer__OOZOOZOOZcompilerZnimlexbase_u29(&lex_p0->Sup);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3403)(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ s_p0, NI value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__OOZOOZOOZcompilerZlexer_u2125)(tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* ident_p0) {
	NI result;
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g colontmpD_;
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g colontmpD__2;
	tyObject_Token__0RfaoeiXz87H212JyhBKLA tok_1;
	tyObject_TIdent__dfGofgHRLZgz9aF6YlFTsqg* colontmpD__3;
	tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g tokType_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	colontmpD_ = (tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0;
	colontmpD__2 = (tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0;
	nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__0RfaoeiXz87H212JyhBKLA));
	{
		tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ T3_;
		NIM_BOOL T4_;
		NI TM__4JpEWnGrmRM8CRqL3P2O1Q_629;
		T3_ = dotdot___stdZstrbasics_u48(((NI)1), ((NI)66));
		T4_ = (NIM_BOOL)0;
		T4_ = contains__pureZtimes_u3403(T3_, (*ident_p0).id);
		if (!T4_) goto LA5_;
		if (nimAddInt((*ident_p0).id, ((NI)2), &TM__4JpEWnGrmRM8CRqL3P2O1Q_629)) { raiseOverflow(); goto BeforeRet_;
		};
		if (((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_629)) < ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0) || ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_629)) > ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)){ raiseRangeErrorI((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_629), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)0), ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)118)); goto BeforeRet_;
		}
		colontmpD_ = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g) ((NI)(TM__4JpEWnGrmRM8CRqL3P2O1Q_629)));
		tokType_1 = colontmpD_;
	}
	goto LA1_;
LA5_: ;
	{
		colontmpD__2 = ((tyEnum_TokType__rA9cc6YOHsEyGZVlRnIgR4g)110);
		tokType_1 = colontmpD__2;
	}
LA1_: ;
	nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__0RfaoeiXz87H212JyhBKLA));
	colontmpD__3 = eqdup___OOZOOZOOZcompilerZidents_u162(ident_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	tok_1.ident = colontmpD__3;
	tok_1.tokType = tokType_1;
	result = getPrecedence__OOZOOZOOZcompilerZlexer_u1651((&tok_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___OOZOOZOOZcompilerZlexer_u524((&tok_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___OOZOOZOOZcompilerZparser_u1892)(tyProc__pZyCb85IttgsT24JoT50Ow* dest_p0, tyProc__pZyCb85IttgsT24JoT50Ow src_p1) {
	void* colontmp_;
	colontmp_ = (*dest_p0).ClE_0;
	(*dest_p0).ClE_0 = src_p1.ClE_0;
	(*dest_p0).ClP_0 = src_p1.ClP_0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn(colontmp_);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose(colontmp_);
	}
LA4_: ;
}
