/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.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__vtOgGjZ65sMaH6Mnf64SNw tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw;
typedef struct RootObj RootObj;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
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__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w;
typedef struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg;
typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q;
typedef struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg;
typedef struct tyTuple__DTRsWi2kgTewbhN2TT5mbA tyTuple__DTRsWi2kgTewbhN2TT5mbA;
typedef struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tyObject_Token__pst9a89bCqNyggpo6gRF7jhA;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__4oI2L88jMnyLfUji9cUVc7A tyTuple__4oI2L88jMnyLfUji9cUVc7A;
typedef struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA;
typedef struct Exception Exception;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ tySequence__S89cE01OvNjsN9c71FKsSrqQ;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content;
typedef struct tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ;
typedef struct tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw;
typedef struct tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g;
typedef struct tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA;
typedef struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA;
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__GDnGTjNyvwISJbkIvAst3A {
	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__bW0Cb4KmUu6wcIZW6Cp0nw {
	RootObj Sup;
	NI bufpos;
	NCSTRING buf;
	NimStringV2 bufStorage;
	NI bufLen;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stream;
	NI lineNumber;
	NI sentinel;
	NI lineStart;
	NI offsetBase;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, void* ClE_0);
void* ClE_0;
} tyProc__urLEtt9bmeGdJpEukhLR9a1A;
struct tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw {
	tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw Sup;
	NI32 fileIdx;
	NI indentAhead;
	NI currLineIndent;
	tyProc__urLEtt9bmeGdJpEukhLR9a1A errorHandler;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw 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__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* tyArray__s9a2jZbmN9cnqFaNnzUrYEjg[8192];
struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA {
	tyArray__s9a2jZbmN9cnqFaNnzUrYEjg buckets;
	NI wordCounter;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idAnon;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* idDelegator;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* emptyIdent;
};
struct tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg {
	NI len;
	NI cap;
	tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d;
};
struct tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg {
	NI len;
	NI cap;
	tyTuple__DTRsWi2kgTewbhN2TT5mbA* d;
};
struct tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w {
	tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg traceStack;
	tyObject_CellSeq__IHvIqxITv1yMjJj8lwLrhg toFree;
	NI freed;
	NI touched;
	NI edges;
	NI rcSum;
	NIM_BOOL keepThreshold;
};
struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q {
	void** Field0;
	TNimTypeV2* Field1;
};
typedef NU8 tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, void* buf_p1, NI bufLen_p2, void* ClE_0);
void* ClE_0;
} tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__HzVCwACFYM9cx9aV62PdjtuA;
struct tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg {
	RootObj Sup;
	tyEnum_TLLStreamKind__zJDOAevuyfVWFMJ82eilbQ kind;
	FILE* f;
	NimStringV2 s;
	NI rd;
	NI wr;
	NI lineOffset;
	tyProc__WBr0JFZ9bbIGwzgqNYcBJtQ repl;
	tyProc__HzVCwACFYM9cx9aV62PdjtuA onPrompt;
};
typedef NU8 tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA;
typedef NU8 tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ;
typedef NU8 tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
struct tyObject_Token__pst9a89bCqNyggpo6gRF7jhA {
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType;
	tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base;
	tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg spacing;
	NI indent;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
	NI64 iNumber;
	NF fNumber;
	NimStringV2 literal;
	NI line;
	NI col;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef N_CLOSURE_PTR(void, TM__4JpEWnGrmRM8CRqL3P2O1Q_5) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3);
typedef NU8 tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g;
struct tyTuple__4oI2L88jMnyLfUji9cUVc7A {
	NI8 Field0;
	tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g Field1;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag;
struct tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA {
	NI a;
	NI b;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ {
  NI len; tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__S89cE01OvNjsN9c71FKsSrqQ trace;
	Exception* up;
};
struct tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g {
	Exception Sup;
};
struct tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw {
	tyObject_Defect__WFlDaIWu7hFOKoGSG7uH7g Sup;
};
struct tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ {
	tyObject_ArithmeticDefect__49cCBvfvNnJwGij66u4MOTw Sup;
};
struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg {
	Exception Sup;
};
struct tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA {
	tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg Sup;
};
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ 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__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw 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__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content { NI cap; tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__lexer_u2196)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lexer_u308)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3128)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* 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___idents_u274)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3498)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___lexer_u320)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* dest_p0, void* env_p1);
static N_INLINE(void, nimTraceRefDyn)(void* q_p0, void* env_p1);
static N_INLINE(void, add__system_u3019)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2);
N_LIB_PRIVATE N_NIMCALL(void, resize__system_u3027)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_u257)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4);
N_LIB_PRIVATE N_NIMCALL(void, openBaseLexer__nimlexbase_u26)(tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw* L_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p1, NI bufLen_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_u341)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA** dest_p0, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u2138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg** dest_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p1);
N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_u404)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(void, reset__lexer_u1922)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* obj_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u173)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA dest_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, skip__lexer_u1869)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessagePos__lexer_u411)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NI pos_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, newLineInfo__msgs_u419)(NI32 fileInfoIdx_p0, NI line_p1, NI col_p2);
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__lexer_u391)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__lexer_u1331)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__nimlexbase_u35)(tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__nimlexbase_u38)(tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__nimlexbase_u41)(tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw* L_p0, NI pos_p1);
N_LIB_PRIVATE N_NIMCALL(void, skipMultiLineComment__lexer_u1711)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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_u1742)(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__lexer_u1513)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
static N_INLINE(NI, emarkamp___pureZhashes_u5)(NI h_p0, NI val_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_u401)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u388)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__4oI2L88jMnyLfUji9cUVc7A, unicodeOprLen__lexer_u1466)(NCSTRING buf_p0, NI pos_p1);
static N_INLINE(NI, emarkdollar___pureZhashes_u20)(NI h_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___idents_u164)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u96)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NCSTRING identifier_p1, NI length_p2, NI h_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u155)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* 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__lexer_u1613)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
static N_INLINE(void, endOperator__lexer_u1604)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, NI pos_p2, NI hash_p3);
N_LIB_PRIVATE N_NIMCALL(void, scanComment__lexer_u1803)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, getString__lexer_u1348)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag mode_p2);
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__lexer_u1212)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__lexer_u990)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* 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_u1286)(NimStringV2 s_p0, tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA x_p1);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__lexer_u1087)(NimStringV2* s_p0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__lexer_u417)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NIM_CHAR first_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second_p2);
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__lexer_u1069)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NI* xi_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, getIdent__idents_u206)(tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* ic_p0, NimStringV2 identifier_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(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_u9)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__lexer_u1431)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1);
N_LIB_PRIVATE N_NIMCALL(void, getNumber__lexer_u447)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* result_p1);
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__lexer_u493)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NimStringV2 msg_p1, NI startpos_p2, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msgKind_p3);
N_LIB_PRIVATE N_NIMCALL(void, matchChars__lexer_u479)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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___lexer_u526)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__lexer_u450)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_u1598)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA 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_u1750)(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__lexer_u558)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base_p1, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType_p2, NI numDigits_p3, NI startpos_p4);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u15)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NI, parseBiggestUInt__pureZparseutils_u999)(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_u3662)(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_u984)(NimStringV2 s_p0, NI64* number_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u29)(NI64 xX60gensym4__p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___system_u4731)(NF x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2694)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u141)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA e_p0);
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1);
N_LIB_PRIVATE N_NIMCALL(void, closeBaseLexer__nimlexbase_u30)(tyObject_TBaseLexer__bW0Cb4KmUu6wcIZW6Cp0nw* L_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__lexer_u203)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA kind_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u239)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8100)(NimStringV2* s_p0, NI i_p1);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3356)(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA s_p0, NI value_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*, eqdup___idents_u161)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p0);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__lexer_u1691)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0);
static N_INLINE(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE TNimTypeV2 NTIv2__vtOgGjZ65sMaH6Mnf64SNw_;
static const struct {
  NI cap; NIM_CHAR data[60+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_4 = { 60 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/lexer.nim" };
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_6 = { 40 | NIM_STRLIT_FLAG, "tabs are not allowed, use spaces instead" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_7 = {40, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_6};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_8 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_9 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_8};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_10 = { 33 | NIM_STRLIT_FLAG, "end of multiline comment expected" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_11 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_10};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_12 = { 34 | NIM_STRLIT_FLAG, "invalid token: trailing underscore" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_13 = {34, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_12};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_14 = { 22 | NIM_STRLIT_FLAG, "\'$1\' should be: \'$2\'$3" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_15 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_14};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_16 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_17 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_16};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_19 = {
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 NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_20 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_8};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_21 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_8};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_22 = { 45 | NIM_STRLIT_FLAG, "closing \"\"\" expected, but end of file reached" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_23 = {45, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_22};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_24 = { 18 | NIM_STRLIT_FLAG, "closing \" expected" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_25 = {18, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_24};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_26 = { 35 | NIM_STRLIT_FLAG, "\\p not allowed in character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_27 = {35, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_26};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_28 = { 33 | NIM_STRLIT_FLAG, "expected a hex digit, but found: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_29 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_28};
static const struct {
  NI cap; NIM_CHAR data[22+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_30 = { 22 | NIM_STRLIT_FLAG, "; maybe prepend with 0" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_31 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_30};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_32 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_28};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_33 = {22, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_30};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_34 = { 35 | NIM_STRLIT_FLAG, "\\u not allowed in character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_35 = {35, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_34};
static const struct {
  NI cap; NIM_CHAR data[33+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_36 = { 33 | NIM_STRLIT_FLAG, "Unicode codepoint cannot be empty" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_37 = {33, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_36};
static const struct {
  NI cap; NIM_CHAR data[56+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_38 = { 56 | NIM_STRLIT_FLAG, "Unicode codepoint must be lower than 0x10FFFF, but was: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_39 = {56, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_38};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_40 = {
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_41 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_16};
static const struct {
  NI cap; NIM_CHAR data[26+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_42 = { 26 | NIM_STRLIT_FLAG, "invalid character constant" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_43 = {26, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_42};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_44 = {26, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_42};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_45 = { 1 | NIM_STRLIT_FLAG, "_" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_46 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_45};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_47 = { 15 | NIM_STRLIT_FLAG, "invalid token: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_48 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_47};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_49 = { 3 | NIM_STRLIT_FLAG, " (\\" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_50 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_49};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_51 = { 25 | NIM_STRLIT_FLAG, "invalid character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_52 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_51};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_53 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_54 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_53};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_55 = { 39 | NIM_STRLIT_FLAG, "missing closing \' for character literal" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_56 = {39, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_55};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_57 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_16};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_58 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_16};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_59 = {
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_60 = { 78 | NIM_STRLIT_FLAG, "$1 will soon be invalid for oct literals; Use \'0o\' for octals. \'c\', \'C\' prefix" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_61 = {78, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_60};
static const struct {
  NI cap; NIM_CHAR data[119+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_62 = { 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_63 = {119, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_62};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_64 = {
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_65 = { 69 | NIM_STRLIT_FLAG, "$1 is an invalid int literal; For octal literals use the \'0o\' prefix." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_66 = {69, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_65};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_67 = {
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_68 = {
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_69 = { 9 | NIM_STRLIT_FLAG, "getNumber" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_70 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_69};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_72 = { 20 | NIM_STRLIT_FLAG, "invalid number: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_73 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_72};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_74 = {
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_75 = { 1 | NIM_STRLIT_FLAG, "f" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_76 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_75};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_77 = { 3 | NIM_STRLIT_FLAG, "f32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_78 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_77};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_79 = { 1 | NIM_STRLIT_FLAG, "d" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_80 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_79};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_81 = { 3 | NIM_STRLIT_FLAG, "f64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_82 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_81};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_83 = { 4 | NIM_STRLIT_FLAG, "f128" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_84 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_83};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_85 = { 2 | NIM_STRLIT_FLAG, "i8" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_86 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_85};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_87 = { 3 | NIM_STRLIT_FLAG, "i16" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_88 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_87};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_89 = { 3 | NIM_STRLIT_FLAG, "i32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_90 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_89};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_91 = { 3 | NIM_STRLIT_FLAG, "i64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_92 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_91};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_93 = { 1 | NIM_STRLIT_FLAG, "u" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_94 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_93};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_95 = { 2 | NIM_STRLIT_FLAG, "u8" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_96 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_95};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_97 = { 3 | NIM_STRLIT_FLAG, "u16" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_98 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_97};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_99 = { 3 | NIM_STRLIT_FLAG, "u32" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_100 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_99};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_101 = { 3 | NIM_STRLIT_FLAG, "u64" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_102 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_101};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_103 = { 27 | NIM_STRLIT_FLAG, "invalid number suffix: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_104 = {27, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_103};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_105 = {27, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_103};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_106 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_72};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_107 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_69};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_109 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_69};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_111 = { 11 | NIM_STRLIT_FLAG, "unreachable" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_112 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_111};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_113 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_111};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_114 = { 11 | NIM_STRLIT_FLAG, "number has " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_115 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_114};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_116 = { 31 | NIM_STRLIT_FLAG, " digits but type only supports " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_117 = {31, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_116};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_118 = { 13 | NIM_STRLIT_FLAG, " digits: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_119 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_118};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_120 = { 25 | NIM_STRLIT_FLAG, "number out of range: \'$1\'" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_121 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_120};
extern TNimTypeV2 NTIv2__k9cHpOYdyJ5gzriX3ztGHjQ_;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_122 = { 21 | NIM_STRLIT_FLAG, "number out of range: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_123 = {21, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_122};
extern TNimTypeV2 NTIv2__S29bKZF4TUS33IR7ZXb7fFA_;
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_124 = { 17 | NIM_STRLIT_FLAG, "invalid integer: " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_125 = {17, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_124};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_126 = {21, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_122};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_127 = {17, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_124};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_128 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_120};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_129 = {20, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_72};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_130 = {25, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_120};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_131 = { 58 | NIM_STRLIT_FLAG, "invalid token: no whitespace between number and identifier" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_132 = {58, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_131};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__4JpEWnGrmRM8CRqL3P2O1Q_133 = {
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_134 = {58, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_131};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_135 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_47};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_136 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_49};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_137 = { 9 | NIM_STRLIT_FLAG, "tkInvalid" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_138 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_137};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_139 = { 5 | NIM_STRLIT_FLAG, "[EOF]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_140 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_139};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_141 = { 8 | NIM_STRLIT_FLAG, "tkSymbol" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_142 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_141};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_143 = { 4 | NIM_STRLIT_FLAG, "addr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_144 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_143};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_145 = { 3 | NIM_STRLIT_FLAG, "and" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_146 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_145};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_147 = { 2 | NIM_STRLIT_FLAG, "as" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_148 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_147};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_149 = { 3 | NIM_STRLIT_FLAG, "asm" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_150 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_149};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_151 = { 4 | NIM_STRLIT_FLAG, "bind" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_152 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_151};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_153 = { 5 | NIM_STRLIT_FLAG, "block" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_154 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_153};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_155 = { 5 | NIM_STRLIT_FLAG, "break" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_156 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_155};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_157 = { 4 | NIM_STRLIT_FLAG, "case" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_158 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_157};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_159 = { 4 | NIM_STRLIT_FLAG, "cast" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_160 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_159};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_161 = { 7 | NIM_STRLIT_FLAG, "concept" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_162 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_161};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_163 = { 5 | NIM_STRLIT_FLAG, "const" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_164 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_163};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_165 = { 8 | NIM_STRLIT_FLAG, "continue" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_166 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_165};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_167 = { 9 | NIM_STRLIT_FLAG, "converter" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_168 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_167};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_169 = { 5 | NIM_STRLIT_FLAG, "defer" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_170 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_169};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_171 = { 7 | NIM_STRLIT_FLAG, "discard" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_172 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_171};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_173 = { 8 | NIM_STRLIT_FLAG, "distinct" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_174 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_173};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_175 = { 3 | NIM_STRLIT_FLAG, "div" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_176 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_175};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_177 = { 2 | NIM_STRLIT_FLAG, "do" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_178 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_177};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_179 = { 4 | NIM_STRLIT_FLAG, "elif" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_180 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_179};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_181 = { 4 | NIM_STRLIT_FLAG, "else" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_182 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_181};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_183 = { 3 | NIM_STRLIT_FLAG, "end" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_184 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_183};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_185 = { 4 | NIM_STRLIT_FLAG, "enum" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_186 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_185};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_187 = { 6 | NIM_STRLIT_FLAG, "except" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_188 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_187};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_189 = { 6 | NIM_STRLIT_FLAG, "export" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_190 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_189};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_191 = { 7 | NIM_STRLIT_FLAG, "finally" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_192 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_191};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_193 = { 3 | NIM_STRLIT_FLAG, "for" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_194 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_193};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_195 = { 4 | NIM_STRLIT_FLAG, "from" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_196 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_195};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_197 = { 4 | NIM_STRLIT_FLAG, "func" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_198 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_197};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_199 = { 2 | NIM_STRLIT_FLAG, "if" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_200 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_199};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_201 = { 6 | NIM_STRLIT_FLAG, "import" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_202 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_201};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_203 = { 2 | NIM_STRLIT_FLAG, "in" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_204 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_203};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_205 = { 7 | NIM_STRLIT_FLAG, "include" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_206 = {7, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_205};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_207 = { 9 | NIM_STRLIT_FLAG, "interface" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_208 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_207};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_209 = { 2 | NIM_STRLIT_FLAG, "is" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_210 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_209};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_211 = { 5 | NIM_STRLIT_FLAG, "isnot" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_212 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_211};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_213 = { 8 | NIM_STRLIT_FLAG, "iterator" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_214 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_213};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_215 = { 3 | NIM_STRLIT_FLAG, "let" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_216 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_215};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_217 = { 5 | NIM_STRLIT_FLAG, "macro" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_218 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_217};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_219 = { 6 | NIM_STRLIT_FLAG, "method" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_220 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_219};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_221 = { 5 | NIM_STRLIT_FLAG, "mixin" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_222 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_221};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_223 = { 3 | NIM_STRLIT_FLAG, "mod" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_224 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_223};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_225 = { 3 | NIM_STRLIT_FLAG, "nil" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_226 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_225};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_227 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_228 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_227};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_229 = { 5 | NIM_STRLIT_FLAG, "notin" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_230 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_229};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_231 = { 6 | NIM_STRLIT_FLAG, "object" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_232 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_231};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_233 = { 2 | NIM_STRLIT_FLAG, "of" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_234 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_233};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_235 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_236 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_235};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_237 = { 3 | NIM_STRLIT_FLAG, "out" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_238 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_237};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_239 = { 4 | NIM_STRLIT_FLAG, "proc" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_240 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_239};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_241 = { 3 | NIM_STRLIT_FLAG, "ptr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_242 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_241};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_243 = { 5 | NIM_STRLIT_FLAG, "raise" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_244 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_243};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_245 = { 3 | NIM_STRLIT_FLAG, "ref" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_246 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_245};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_247 = { 6 | NIM_STRLIT_FLAG, "return" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_248 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_247};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_249 = { 3 | NIM_STRLIT_FLAG, "shl" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_250 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_249};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_251 = { 3 | NIM_STRLIT_FLAG, "shr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_252 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_251};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_253 = { 6 | NIM_STRLIT_FLAG, "static" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_254 = {6, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_253};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_255 = { 8 | NIM_STRLIT_FLAG, "template" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_256 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_255};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_257 = { 3 | NIM_STRLIT_FLAG, "try" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_258 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_257};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_259 = { 5 | NIM_STRLIT_FLAG, "tuple" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_260 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_259};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_261 = { 4 | NIM_STRLIT_FLAG, "type" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_262 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_261};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_263 = { 5 | NIM_STRLIT_FLAG, "using" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_264 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_263};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_265 = { 3 | NIM_STRLIT_FLAG, "var" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_266 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_265};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_267 = { 4 | NIM_STRLIT_FLAG, "when" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_268 = {4, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_267};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_269 = { 5 | NIM_STRLIT_FLAG, "while" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_270 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_269};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_271 = { 3 | NIM_STRLIT_FLAG, "xor" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_272 = {3, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_271};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_273 = { 5 | NIM_STRLIT_FLAG, "yield" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_274 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_273};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_275 = { 8 | NIM_STRLIT_FLAG, "tkIntLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_276 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_275};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_277 = { 9 | NIM_STRLIT_FLAG, "tkInt8Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_278 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_277};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_279 = { 10 | NIM_STRLIT_FLAG, "tkInt16Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_280 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_279};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_281 = { 10 | NIM_STRLIT_FLAG, "tkInt32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_282 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_281};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_283 = { 10 | NIM_STRLIT_FLAG, "tkInt64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_284 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_283};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_285 = { 9 | NIM_STRLIT_FLAG, "tkUIntLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_286 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_285};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_287 = { 10 | NIM_STRLIT_FLAG, "tkUInt8Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_288 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_287};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_289 = { 11 | NIM_STRLIT_FLAG, "tkUInt16Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_290 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_289};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_291 = { 11 | NIM_STRLIT_FLAG, "tkUInt32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_292 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_291};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_293 = { 11 | NIM_STRLIT_FLAG, "tkUInt64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_294 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_293};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_295 = { 10 | NIM_STRLIT_FLAG, "tkFloatLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_296 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_295};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_297 = { 12 | NIM_STRLIT_FLAG, "tkFloat32Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_298 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_297};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_299 = { 12 | NIM_STRLIT_FLAG, "tkFloat64Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_300 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_299};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_301 = { 13 | NIM_STRLIT_FLAG, "tkFloat128Lit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_302 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_301};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_303 = { 8 | NIM_STRLIT_FLAG, "tkStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_304 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_303};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_305 = { 9 | NIM_STRLIT_FLAG, "tkRStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_306 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_305};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_307 = { 14 | NIM_STRLIT_FLAG, "tkTripleStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_308 = {14, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_307};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_309 = { 9 | NIM_STRLIT_FLAG, "tkGStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_310 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_309};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_311 = { 15 | NIM_STRLIT_FLAG, "tkGTripleStrLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_312 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_311};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_313 = { 9 | NIM_STRLIT_FLAG, "tkCharLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_314 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_313};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_315 = { 11 | NIM_STRLIT_FLAG, "tkCustomLit" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_316 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_315};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_317 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_318 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_317};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_319 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_320 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_319};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_321 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_322 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_321};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_323 = { 1 | NIM_STRLIT_FLAG, "]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_324 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_323};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_325 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_326 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_325};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_327 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_328 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_327};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_329 = { 2 | NIM_STRLIT_FLAG, "[." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_330 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_329};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_331 = { 2 | NIM_STRLIT_FLAG, ".]" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_332 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_331};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_333 = { 2 | NIM_STRLIT_FLAG, "{." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_334 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_333};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_335 = { 2 | NIM_STRLIT_FLAG, ".}" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_336 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_335};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_337 = { 2 | NIM_STRLIT_FLAG, "(." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_338 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_337};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_339 = { 2 | NIM_STRLIT_FLAG, ".)" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_340 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_339};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_341 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_342 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_341};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_343 = { 1 | NIM_STRLIT_FLAG, ";" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_344 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_343};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_345 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_346 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_345};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_347 = { 2 | NIM_STRLIT_FLAG, "::" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_348 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_347};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_349 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_350 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_349};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_351 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_352 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_351};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_353 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_354 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_353};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_355 = { 2 | NIM_STRLIT_FLAG, "[:" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_356 = {2, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_355};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_357 = { 5 | NIM_STRLIT_FLAG, "tkOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_358 = {5, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_357};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_359 = { 9 | NIM_STRLIT_FLAG, "tkComment" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_360 = {9, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_359};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_361 = { 1 | NIM_STRLIT_FLAG, "`" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_362 = {1, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_361};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_363 = { 8 | NIM_STRLIT_FLAG, "tkSpaces" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_364 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_363};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_365 = { 10 | NIM_STRLIT_FLAG, "tkInfixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_366 = {10, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_365};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_367 = { 11 | NIM_STRLIT_FLAG, "tkPrefixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_368 = {11, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_367};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_369 = { 12 | NIM_STRLIT_FLAG, "tkPostfixOpr" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_370 = {12, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_369};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_371 = { 15 | NIM_STRLIT_FLAG, "tkHideableStart" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_372 = {15, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_371};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_373 = { 13 | NIM_STRLIT_FLAG, "tkHideableEnd" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_374 = {13, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_373};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_375 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_376 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_375};
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_377 = {0, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_16};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__4JpEWnGrmRM8CRqL3P2O1Q_378 = { 8 | NIM_STRLIT_FLAG, "keyword " };
static const NimStringV2 TM__4JpEWnGrmRM8CRqL3P2O1Q_379 = {8, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_378};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_3 = {{60, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_4},
((NI)204),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_18 = {{60, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_4},
((NI)927),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_71 = {{60, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_4},
((NI)392),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_108 = {{60, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_4},
((NI)497),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__4JpEWnGrmRM8CRqL3P2O1Q_110 = {{60, (NimStrPayload*)&TM__4JpEWnGrmRM8CRqL3P2O1Q_4},
((NI)514),
((NI)27)}
;
extern NIM_BOOL nimInErrorMode__system_u4144;
static NIM_CONST NU32 TM__4JpEWnGrmRM8CRqL3P2O1Q_2[3] = {3701606400, 1828876032, 3550484992};
N_LIB_PRIVATE TNimTypeV2 NTIv2__vtOgGjZ65sMaH6Mnf64SNw_ = {.destructor = (void*)rttiDestroy__lexer_u2196, .size = sizeof(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw), .align = (NI16) NIM_ALIGNOF(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw), .depth = 2, .display = TM__4JpEWnGrmRM8CRqL3P2O1Q_2, .traceImpl = (void*)eqtrace___lexer_u320, .flags = 0};
extern Exception* currException__system_u3629;
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3128(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((NI32)((*cell_1).rc) >> (NU32)(((NI)4) & (32 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*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__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3498(result, cell_1, (*((TNimTypeV2**) (p_p0))));
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lexer_u308)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*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___idents_u274((&(*(*dest_p0).cache)));
		nimRawDispose((*dest_p0).cache, ((NI)4));
	}
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_: ;
	eqdestroy___system_u2691((*dest_p0).Sup.bufStorage);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4144);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__lexer_u2196)(void* dest_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqdestroy___lexer_u308((&(*((tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw*) (dest_p0)))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) + (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, add__system_u3019)(tyObject_CellSeq__gW9aeWLFbrNaeUKXqxYBXhg* s_p0, void** c_p1, TNimTypeV2* t_p2) {
	void** colontmp_;
	TNimTypeV2* colontmp__2;
	{
		if (!((*s_p0).cap <= (*s_p0).len)) goto LA3_;
		resize__system_u3027(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_u785((*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__HccVszwojlCZRN46BE9cG8w* j_1;
		if (!!(((*p_1) == NIM_NIL))) goto LA3_;
		j_1 = ((tyObject_GcEnv__HccVszwojlCZRN46BE9cG8w*) (env_p1));
		add__system_u3019((&(*j_1).traceStack), p_1, (*((TNimTypeV2**) ((*p_1)))));
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqtrace___lexer_u320)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* 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, openLexer__lexer_u257)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0, NI32 fileIdx_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	openBaseLexer__nimlexbase_u26(&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);
	(*lex_p0).Sup.lineNumber += (*inputstream_p2).lineOffset;
	eqcopy___idents_u341(&(*lex_p0).cache, cache_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___options_u2138(&(*lex_p0).config, config_p4);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, openLexer__lexer_u371)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0, NimStringV2 filename_p1, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inputstream_p2, tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache_p3, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p4) {
	NI32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__msgs_u404(config_p4, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	openLexer__lexer_u257(lex_p0, T1_, inputstream_p2, cache_p3, config_p4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lexer_u526)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* dest_p0) {
	eqdestroy___system_u2691((*dest_p0).literal);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).ident);
		if (!T3_) goto LA4_;
		eqdestroy___idents_u173((*(*dest_p0).ident));
		nimRawDispose((*dest_p0).ident, ((NI)4));
	}
LA4_: ;
}
static N_INLINE(void, nimSetMem__system_u2172)(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_u2172(p_p0, ((int)0), size_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___lexer_u523)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* dest_p0) {
	(*dest_p0).tokType = 0;
	(*dest_p0).base = 0;
	nimZeroMem((void*)(&(*dest_p0).spacing), sizeof(tySet_tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg));
	(*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;
}
N_LIB_PRIVATE N_NIMCALL(void, dispMessage__lexer_u391)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*L_p0).errorHandler.ClP_0 == 0)) goto LA3_;
		liMessage__msgs_u1227((*L_p0).config, info_p1, msg_p2, arg_p3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__4JpEWnGrmRM8CRqL3P2O1Q_3, 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_5)((*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__lexer_u411)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NI pos_p2, NimStringV2 arg_p3) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	info_1 = newLineInfo__msgs_u419((*L_p0).fileIdx, (*L_p0).Sup.lineNumber, (NI)(pos_p2 - (*L_p0).Sup.lineStart));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__lexer_u391((&(*L_p0)), info_1, msg_p1, arg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCRLF__lexer_u1331)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* 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__nimlexbase_u35((&(*L_p0).Sup), pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = handleCR__nimlexbase_u38(&L_p0->Sup, pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 10:
	{
		NI colX60gensym98__1;
		colX60gensym98__1 = getColNumber__nimlexbase_u35((&(*L_p0).Sup), pos_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = handleLF__nimlexbase_u41(&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_u1742)(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_u1742(((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__lexer_u1711)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__nimlexbase_u35((&(*L_p0).Sup), pos_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA6;
				pos_1 += ((NI)1);
				toStrip_1 += ((NI)1);
			} 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__lexer_u1331(L_p0, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				toStrip_1 = ((NI)0);
				{
					while (1) {
						if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA10;
						pos_1 += ((NI)1);
						toStrip_1 += ((NI)1);
					} LA10: ;
				}
			} LA8: ;
		}
	}
LA3_: ;
	nesting_1 = ((NI)0);
	{
		while (1) {
			switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
			case 35:
			{
				{
					if (!isDoc_p3) goto LA16_;
					{
						NIM_BOOL T20_;
						T20_ = (NIM_BOOL)0;
						T20_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(35));
						if (!(T20_)) goto LA21_;
						T20_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)2))]) == (NU8)(91));
LA21_: ;
						if (!T20_) goto LA22_;
						nesting_1 += ((NI)1);
					}
LA22_: ;
					nimAddCharV1((&(*tok_p1).literal), 35);
				}
				goto LA14_;
LA16_: ;
				{
					if (!((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(91))) goto LA25_;
					nesting_1 += ((NI)1);
				}
				goto LA14_;
LA25_: ;
LA14_: ;
				pos_1 += ((NI)1);
			}
			break;
			case 93:
			{
				{
					if (!isDoc_p3) goto LA30_;
					{
						NIM_BOOL T34_;
						T34_ = (NIM_BOOL)0;
						T34_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(35));
						if (!(T34_)) goto LA35_;
						T34_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)2))]) == (NU8)(35));
LA35_: ;
						if (!T34_) goto LA36_;
						{
							if (!(nesting_1 == ((NI)0))) goto LA40_;
							pos_1 += ((NI)3);
							goto LA11;
						}
LA40_: ;
						nesting_1 -= ((NI)1);
					}
LA36_: ;
					nimAddCharV1((&(*tok_p1).literal), 93);
				}
				goto LA28_;
LA30_: ;
				{
					if (!((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(35))) goto LA43_;
					{
						if (!(nesting_1 == ((NI)0))) goto LA47_;
						pos_1 += ((NI)2);
						goto LA11;
					}
LA47_: ;
					nesting_1 -= ((NI)1);
				}
				goto LA28_;
LA43_: ;
LA28_: ;
				pos_1 += ((NI)1);
			}
			break;
			case 13:
			case 10:
			{
				pos_1 = handleCRLF__lexer_u1331(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_9);
					c_1 = toStrip_1;
					{
						while (1) {
							NIM_BOOL T56_;
							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;
							pos_1 += ((NI)1);
							c_1 -= ((NI)1);
						} LA55: ;
					}
				}
LA52_: ;
			}
			break;
			case 0:
			{
				lexMessagePos__lexer_u411(L_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), pos_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_11);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA11;
			}
			break;
			default:
			{
				{
					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_: ;
				pos_1 += ((NI)1);
			}
			break;
			}
		}
	} LA11: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, skip__lexer_u1869)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	NI pos_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	(*tok_p1).spacing &= ~(((NU8)1) << (((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0))) & 7));
	{
		while (1) {
			switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
			case 32:
			{
				pos_1 += ((NI)1);
				(*tok_p1).spacing |= ((NU8)1)<<(((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)0))) & 7);
			}
			break;
			case 9:
			{
				lexMessagePos__lexer_u411(L_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), pos_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_7);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				pos_1 += ((NI)1);
			}
			break;
			case 13:
			case 10:
			{
				NI indent_1;
				pos_1 = handleCRLF__lexer_u1331(L_p0, pos_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				indent_1 = ((NI)0);
				{
					while (1) {
						{
							if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA10_;
							pos_1 += ((NI)1);
							indent_1 += ((NI)1);
						}
						goto LA8_;
LA10_: ;
						{
							NIM_BOOL T13_;
							T13_ = (NIM_BOOL)0;
							T13_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(35));
							if (!(T13_)) goto LA14_;
							T13_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(91));
LA14_: ;
							if (!T13_) goto LA15_;
							skipMultiLineComment__lexer_u1711(L_p0, tok_p1, (NI)(pos_1 + ((NI)2)), 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__dJZPP3jSNSqIzHC3qEWRHg)0))) & 7));
				{
					NIM_BOOL T20_;
					NIM_BOOL T22_;
					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_;
					T22_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (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:
			{
				{
					if (!((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(35))) goto LA29_;
					goto LA1;
				}
LA29_: ;
				{
					if (!((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(91))) goto LA33_;
					skipMultiLineComment__lexer_u1711(L_p0, tok_p1, (NI)(pos_1 + ((NI)2)), NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos_1 = (*L_p0).Sup.bufpos;
				}
				goto LA31_;
LA33_: ;
				{
					{
						while (1) {
							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;
							pos_1 += ((NI)1);
						} LA37: ;
					}
				}
LA31_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
static N_INLINE(NI, emarkamp___pureZhashes_u5)(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)((NU32)(h_2) + (NU32)(val_2));
	res_1 = (NU)((NU32)(res_1) + (NU32)((NU)((NU32)(res_1) << (NU32)(((NI)10) & (32 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU32)(res_1) >> (NU32)(((NI)6) & (32 - 1))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, getLineInfo__lexer_u388)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	T1_ = (NI)0;
	T1_ = getColNumber__nimlexbase_u35((&(*L_p0).Sup), (*L_p0).Sup.bufpos);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newLineInfo__msgs_u419((*L_p0).fileIdx, (*L_p0).Sup.lineNumber, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessage__lexer_u401)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, NimStringV2 arg_p2) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = getLineInfo__lexer_u388(L_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__lexer_u391(L_p0, T1_, msg_p1, arg_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__4oI2L88jMnyLfUji9cUVc7A, unicodeOprLen__lexer_u1466)(NCSTRING buf_p0, NI pos_p1) {
	tyTuple__4oI2L88jMnyLfUji9cUVc7A result;
	NI8 colontmp_;
	tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__2;
	colontmp_ = ((NI8)0);
	colontmp__2 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	switch (((NU8)(buf_p0[pos_p1]))) {
	case 226:
	{
		{
			if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)1))]) == (NU8)(136))) goto LA4_;
			{
				NI8 colontmp__3;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__4;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(152))) goto LA8_;
				colontmp__3 = ((NI8)3);
				colontmp__4 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__3;
				result.Field1 = colontmp__4;
			}
			goto LA6_;
LA8_: ;
			{
				NI8 colontmp__5;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__6;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(153))) goto LA11_;
				colontmp__5 = ((NI8)3);
				colontmp__6 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__5;
				result.Field1 = colontmp__6;
			}
			goto LA6_;
LA11_: ;
			{
				NI8 colontmp__7;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__8;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(167))) goto LA14_;
				colontmp__7 = ((NI8)3);
				colontmp__8 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__7;
				result.Field1 = colontmp__8;
			}
			goto LA6_;
LA14_: ;
			{
				NI8 colontmp__9;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__10;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(168))) goto LA17_;
				colontmp__9 = ((NI8)3);
				colontmp__10 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__9;
				result.Field1 = colontmp__10;
			}
			goto LA6_;
LA17_: ;
			{
				NI8 colontmp__11;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__12;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(169))) goto LA20_;
				colontmp__11 = ((NI8)3);
				colontmp__12 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__11;
				result.Field1 = colontmp__12;
			}
			goto LA6_;
LA20_: ;
			{
				NI8 colontmp__13;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__14;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(170))) goto LA23_;
				colontmp__13 = ((NI8)3);
				colontmp__14 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__13;
				result.Field1 = colontmp__14;
			}
			goto LA6_;
LA23_: ;
LA6_: ;
		}
		goto LA2_;
LA4_: ;
		{
			if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)1))]) == (NU8)(138))) goto LA26_;
			{
				NI8 colontmp__15;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__16;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(147))) goto LA30_;
				colontmp__15 = ((NI8)3);
				colontmp__16 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__15;
				result.Field1 = colontmp__16;
			}
			goto LA28_;
LA30_: ;
			{
				NI8 colontmp__17;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__18;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(148))) goto LA33_;
				colontmp__17 = ((NI8)3);
				colontmp__18 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__17;
				result.Field1 = colontmp__18;
			}
			goto LA28_;
LA33_: ;
			{
				NI8 colontmp__19;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__20;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(149))) goto LA36_;
				colontmp__19 = ((NI8)3);
				colontmp__20 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__19;
				result.Field1 = colontmp__20;
			}
			goto LA28_;
LA36_: ;
			{
				NI8 colontmp__21;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__22;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(150))) goto LA39_;
				colontmp__21 = ((NI8)3);
				colontmp__22 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__21;
				result.Field1 = colontmp__22;
			}
			goto LA28_;
LA39_: ;
			{
				NI8 colontmp__23;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__24;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(151))) goto LA42_;
				colontmp__23 = ((NI8)3);
				colontmp__24 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__23;
				result.Field1 = colontmp__24;
			}
			goto LA28_;
LA42_: ;
			{
				NI8 colontmp__25;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__26;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(152))) goto LA45_;
				colontmp__25 = ((NI8)3);
				colontmp__26 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__25;
				result.Field1 = colontmp__26;
			}
			goto LA28_;
LA45_: ;
			{
				NI8 colontmp__27;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__28;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(153))) goto LA48_;
				colontmp__27 = ((NI8)3);
				colontmp__28 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__27;
				result.Field1 = colontmp__28;
			}
			goto LA28_;
LA48_: ;
			{
				NI8 colontmp__29;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__30;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(155))) goto LA51_;
				colontmp__29 = ((NI8)3);
				colontmp__30 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__29;
				result.Field1 = colontmp__30;
			}
			goto LA28_;
LA51_: ;
			{
				NI8 colontmp__31;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__32;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(158))) goto LA54_;
				colontmp__31 = ((NI8)3);
				colontmp__32 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__31;
				result.Field1 = colontmp__32;
			}
			goto LA28_;
LA54_: ;
			{
				NI8 colontmp__33;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__34;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(159))) goto LA57_;
				colontmp__33 = ((NI8)3);
				colontmp__34 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
				result.Field0 = colontmp__33;
				result.Field1 = colontmp__34;
			}
			goto LA28_;
LA57_: ;
			{
				NI8 colontmp__35;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__36;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(160))) goto LA60_;
				colontmp__35 = ((NI8)3);
				colontmp__36 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__35;
				result.Field1 = colontmp__36;
			}
			goto LA28_;
LA60_: ;
			{
				NI8 colontmp__37;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__38;
				if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(161))) goto LA63_;
				colontmp__37 = ((NI8)3);
				colontmp__38 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
				result.Field0 = colontmp__37;
				result.Field1 = colontmp__38;
			}
			goto LA28_;
LA63_: ;
LA28_: ;
		}
		goto LA2_;
LA26_: ;
		{
			NIM_BOOL T66_;
			NI8 colontmp__39;
			tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__40;
			T66_ = (NIM_BOOL)0;
			T66_ = ((NU8)(buf_p0[(NI)(pos_p1 + ((NI)1))]) == (NU8)(152));
			if (!(T66_)) goto LA67_;
			T66_ = ((NU8)(buf_p0[(NI)(pos_p1 + ((NI)2))]) == (NU8)(133));
LA67_: ;
			if (!T66_) goto LA68_;
			colontmp__39 = ((NI8)3);
			colontmp__40 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
			result.Field0 = colontmp__39;
			result.Field1 = colontmp__40;
		}
		goto LA2_;
LA68_: ;
LA2_: ;
	}
	break;
	case 194:
	{
		{
			NI8 colontmp__41;
			tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__42;
			if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)1))]) == (NU8)(177))) goto LA73_;
			colontmp__41 = ((NI8)2);
			colontmp__42 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)1);
			result.Field0 = colontmp__41;
			result.Field1 = colontmp__42;
		}
LA73_: ;
	}
	break;
	case 195:
	{
		{
			NI8 colontmp__43;
			tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g colontmp__44;
			if (!((NU8)(buf_p0[(NI)(pos_p1 + ((NI)1))]) == (NU8)(151))) goto LA78_;
			colontmp__43 = ((NI8)2);
			colontmp__44 = ((tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g)0);
			result.Field0 = colontmp__43;
			result.Field1 = colontmp__44;
		}
LA78_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	return result;
}
static N_INLINE(NI, emarkdollar___pureZhashes_u20)(NI h_p0) {
	NI result;
	NU h_2;
	NU res_1;
	h_2 = ((NU) (h_p0));
	res_1 = (NU)((NU32)(h_2) + (NU32)((NU)((NU32)(h_2) << (NU32)(((NI)3) & (32 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU32)(res_1) >> (NU32)(((NI)11) & (32 - 1))));
	res_1 = (NU)((NU32)(res_1) + (NU32)((NU)((NU32)(res_1) << (NU32)(((NI)15) & (32 - 1)))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__lexer_u1513)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	NI h_1;
	NI pos_1;
	NIM_BOOL suspicious_1;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* T20_;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* 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:
			{
				h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				pos_1 += ((NI)1);
			}
			break;
			case 65 ... 90:
			{
				c_1 = ((NIM_CHAR) (((NI)(((NU8)(c_1)) + ((NI)32)))));
				h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				pos_1 += ((NI)1);
				suspicious_1 = NIM_TRUE;
			}
			break;
			case 95:
			{
				{
					if (!!((((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) <= ((NU8)(255))))) goto LA8_;
					lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_13);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA8_: ;
				pos_1 += ((NI)1);
				suspicious_1 = NIM_TRUE;
			}
			break;
			case 128 ... 255:
			{
				{
					NIM_BOOL T13_;
					tyTuple__4oI2L88jMnyLfUji9cUVc7A 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__lexer_u1466((*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_: ;
				{
					h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos_1 += ((NI)1);
				}
LA11_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	h_1 = emarkdollar___pureZhashes_u20(h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T20_ = NIM_NIL;
	T20_ = (*L_p0).cache;
	T21_ = NIM_NIL;
	T21_ = getIdent__idents_u96(T20_, ((NCSTRING) ((&(*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))), (NI)(pos_1 - (*L_p0).Sup.bufpos), h_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___idents_u155(T21_); goto BeforeRet_;}
	eqsink___idents_u164(&(*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__lTUY8lCIkO3nhCc7lqA4RA)2);
	}
	goto LA22_;
LA26_: ;
	{
		(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA) ((NI)((*(*tok_p1).ident).id + ((NI)2))));
		{
			NIM_BOOL T31_;
			tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T33_;
			NimStringV2 mX60gensym145__1;
			NimStringV2 colontmpD_;
			tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD__2;
			tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD__3;
			tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA colontmpD__4;
			tyArray__dyW7vpmfeTYw8kX3EXuaJA T37_;
			tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msgX60gensym145__1;
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA 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__Ug4VJQkHi8g218Fa9bQrePA)0;
			colontmpD__3 = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)0;
			colontmpD__4 = (tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)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_17;
			mX60gensym145__1 = nsuFormatOpenArray(TM__4JpEWnGrmRM8CRqL3P2O1Q_15, T37_, 3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				if (!(((*(*L_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)16)))&63U)))!=0)) goto LA40_;
				colontmpD__2 = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17);
				msgX60gensym145__1 = colontmpD__2;
			}
			goto LA38_;
LA40_: ;
			{
				if (!(((*(*L_p0).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)17)))&63U)))!=0)) goto LA43_;
				colontmpD__3 = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)85);
				msgX60gensym145__1 = colontmpD__3;
			}
			goto LA38_;
LA43_: ;
			{
				colontmpD__4 = ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)107);
				msgX60gensym145__1 = colontmpD__4;
			}
LA38_: ;
			T46_ = getLineInfo__lexer_u388((&(*L_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			liMessage__msgs_u1227((*L_p0).config, T46_, msgX60gensym145__1, mX60gensym145__1, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__4JpEWnGrmRM8CRqL3P2O1Q_18, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				LA36_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
				eqdestroy___system_u2691(mX60gensym145__1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA34_: ;
	}
LA22_: ;
	(*L_p0).Sup.bufpos = pos_1;
	}BeforeRet_: ;
}
static N_INLINE(void, endOperator__lexer_u1604)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, NI pos_p2, NI hash_p3) {
	NI h_1;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* T1_;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = emarkdollar___pureZhashes_u20(hash_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = (*L_p0).cache;
	T2_ = NIM_NIL;
	T2_ = getIdent__idents_u96(T1_, ((NCSTRING) ((&(*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))), (NI)(pos_p2 - (*L_p0).Sup.bufpos), h_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___idents_u155(T2_); goto BeforeRet_;}
	eqsink___idents_u164(&(*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__lTUY8lCIkO3nhCc7lqA4RA)110);
	}
	goto LA3_;
LA7_: ;
	{
		(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA) ((NI)((NI)((*(*tok_p1).ident).id - ((NI)67)) + ((NI)104))));
	}
LA3_: ;
	(*L_p0).Sup.bufpos = pos_p2;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getOperator__lexer_u1613)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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];
			{
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_19[(NU)((((NU8)(c_1))))>>3] &(1U<<((NU)((((NU8)(c_1))))&7U)))!=0)) goto LA5_;
				h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				pos_1 += ((NI)1);
			}
			goto LA3_;
LA5_: ;
			{
				NI8 oprLen_1;
				tyTuple__4oI2L88jMnyLfUji9cUVc7A T10_;
				if (!(((NU8)(c_1)) == ((NU8)(226)) || ((NU8)(c_1)) == ((NU8)(194)) || ((NU8)(c_1)) == ((NU8)(195)))) goto LA8_;
				T10_ = unicodeOprLen__lexer_u1466((*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) {
							if (!(i_2 < colontmp_)) goto LA17;
							i_1 = i_2;
							h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)((*L_p0).Sup.buf[pos_1])));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							pos_1 += ((NI)1);
							i_2 += ((NI)1);
						} LA17: ;
					}
				}
			}
			goto LA3_;
LA8_: ;
			{
				goto LA1;
			}
LA3_: ;
		}
	} LA1: ;
	endOperator__lexer_u1604(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) {
			if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA20;
			pos_1 += ((NI)1);
			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__dJZPP3jSNSqIzHC3qEWRHg)2))) & 7);
	}
	goto LA21_;
LA23_: ;
	{
		if (!trailing_1) goto LA26_;
		(*tok_p1).spacing |= ((NU8)1)<<(((((tyEnum_TokenSpacing__dJZPP3jSNSqIzHC3qEWRHg)1))) & 7);
	}
	goto LA21_;
LA26_: ;
LA21_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, scanComment__lexer_u1803)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	NI pos_1;
	NI toStrip_1;
	NIM_BOOL stripInit_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111);
	{
		if (!((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)2))]) == (NU8)(91))) goto LA3_;
		skipMultiLineComment__lexer_u1711(L_p0, tok_p1, (NI)(pos_1 + ((NI)3)), NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA3_: ;
	pos_1 += ((NI)2);
	toStrip_1 = ((NI)0);
	stripInit_1 = NIM_FALSE;
	{
		while (1) {
			NI indent_1;
			{
				if (!!(stripInit_1)) goto LA9_;
				{
					while (1) {
						if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA12;
						pos_1 += ((NI)1);
						toStrip_1 += ((NI)1);
					} LA12: ;
				}
				{
					if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(13)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(10)))) goto LA15_;
					toStrip_1 = ((NI)0);
				}
				goto LA13_;
LA15_: ;
				{
					stripInit_1 = NIM_TRUE;
				}
LA13_: ;
			}
LA9_: ;
			{
				while (1) {
					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 LA19;
					nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
					pos_1 += ((NI)1);
				} LA19: ;
			}
			pos_1 = handleCRLF__lexer_u1331(L_p0, pos_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			indent_1 = ((NI)0);
			{
				while (1) {
					if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32))) goto LA21;
					pos_1 += ((NI)1);
					indent_1 += ((NI)1);
				} LA21: ;
			}
			{
				NIM_BOOL T24_;
				T24_ = (NIM_BOOL)0;
				T24_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(35));
				if (!(T24_)) goto LA25_;
				T24_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(35));
LA25_: ;
				if (!T24_) goto LA26_;
				prepareAdd((&(*tok_p1).literal), 1);
appendString((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_20);
				pos_1 += ((NI)2);
				{
					NI c_1;
					if (!stripInit_1) goto LA30_;
					c_1 = toStrip_1;
					{
						while (1) {
							NIM_BOOL T34_;
							T34_ = (NIM_BOOL)0;
							T34_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(32));
							if (!(T34_)) goto LA35_;
							T34_ = (((NI)0) < c_1);
LA35_: ;
							if (!T34_) goto LA33;
							pos_1 += ((NI)1);
							c_1 -= ((NI)1);
						} LA33: ;
					}
				}
LA30_: ;
			}
			goto LA22_;
LA26_: ;
			{
				{
					if (!((NU8)(32) < (NU8)((*L_p0).Sup.buf[pos_1]))) goto LA39_;
					(*L_p0).indentAhead = indent_1;
				}
LA39_: ;
				goto LA5;
			}
LA22_: ;
		}
	} LA5: ;
	(*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__lexer_u990)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* 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:
	{
		(*xi_p1) = (NI)((NI)((NU32)((*xi_p1)) << (NU32)(((NI)4) & (32 - 1))) | (NI)(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) - ((NI)48)));
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 97 ... 102:
	{
		(*xi_p1) = (NI)((NI)((NU32)((*xi_p1)) << (NU32)(((NI)4) & (32 - 1))) | (NI)((NI)(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) - ((NI)97)) + ((NI)10)));
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 65 ... 70:
	{
		(*xi_p1) = (NI)((NI)((NU32)((*xi_p1)) << (NU32)(((NI)4) & (32 - 1))) | (NI)((NI)(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) - ((NI)65)) + ((NI)10)));
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	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_29);
appendChar((&T10_), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
appendString((&T10_), TM__4JpEWnGrmRM8CRqL3P2O1Q_31);
			colontmpD_ = T10_;
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
		{
			if (!(position_p2 == ((NI)0))) goto LA15_;
			(*L_p0).Sup.bufpos += ((NI)1);
		}
LA15_: ;
	}
	break;
	default:
	{
		NimStringV2 colontmpD__2;
		NimStringV2 T19_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T19_.len = 0; T19_.p = NIM_NIL;
		T19_ = rawNewString(56);
appendString((&T19_), TM__4JpEWnGrmRM8CRqL3P2O1Q_32);
appendChar((&T19_), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
appendString((&T19_), TM__4JpEWnGrmRM8CRqL3P2O1Q_33);
		colontmpD__2 = T19_;
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		(*L_p0).Sup.bufpos += ((NI)1);
		{
			LA18_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		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)1073741824)) == ((NI)1073741824));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1286)(NimStringV2 s_p0, tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	L_1 = (NI)((NI)(x_p1.b - a_1) + ((NI)1));
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				nimPrepareStrMutationV2((&result));
				result.p->data[i_1] = s_p0.p->data[(NI)(i_1 + a_1)];
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA, dotdot___stdZstrbasics_u49)(NI a_p0, NI b_p1) {
	tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addUnicodeCodePoint__lexer_u1087)(NimStringV2* s_p0, NI i_p1) {
	NU i_2;
	NI pos_1;
	i_2 = ((NU) (i_p1));
	pos_1 = (*s_p0).len;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)127)))) goto LA3_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)1))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) (i_2))));
	}
	goto LA1_;
LA3_: ;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)2047)))) goto LA6_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)2))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)6) & (32 - 1))) | ((NU)192))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)1))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA6_: ;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)65535)))) goto LA9_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)3))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)12) & (32 - 1))) | ((NU)224))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)6) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)2))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA9_: ;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)2097151)))) goto LA12_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)4))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)18) & (32 - 1))) | ((NU)240))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)12) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)6) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)3))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA12_: ;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)67108863)))) goto LA15_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)5))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)24) & (32 - 1))) | ((NU)248))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)18) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)12) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)3))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)6) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)4))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA15_: ;
	{
		if (!((NU32)(i_2) <= (NU32)(((NU)2147483647)))) goto LA18_;
		setLengthStrV2((&(*s_p0)), ((NI)(pos_1 + ((NI)6))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)0))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)30) & (32 - 1))) | ((NU)252))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)1))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)24) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)2))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)18) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)3))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)12) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)4))] = ((NIM_CHAR) (((NI) ((NU)((NU)((NU)((NU32)(i_2) >> (NU32)(((NI)6) & (32 - 1))) & ((NU)63)) | ((NU)128))))));
		nimPrepareStrMutationV2((&(*s_p0)));
		(*s_p0).p->data[(NI)(pos_1 + ((NI)5))] = ((NIM_CHAR) (((NI) ((NU)((NU)(i_2 & ((NU)63)) | ((NU)128))))));
	}
	goto LA1_;
LA18_: ;
LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchTwoChars__lexer_u417)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NIM_CHAR first_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw second_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(first_p1));
	if (!(T1_)) goto LA2_;
	T1_ = ((second_p2[(NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]))))&7U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, handleDecChars__lexer_u1069)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NI* xi_p1) {
	{
		while (1) {
			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;
			(*xi_p1) = (NI)((NI)((*xi_p1) * ((NI)10)) + (NI)(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos])) - ((NI)48)));
			(*L_p0).Sup.bufpos += ((NI)1);
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__lexer_u1212)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*L_p0).Sup.bufpos += ((NI)1);
	switch (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))) {
	case 110:
	case 78:
	{
		nimAddCharV1((&(*tok_p1).literal), 10);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 112:
	case 80:
	{
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88))) goto LA5_;
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_27);
			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);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 114:
	case 82:
	case 99:
	case 67:
	{
		nimAddCharV1((&(*tok_p1).literal), 13);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 108:
	case 76:
	{
		nimAddCharV1((&(*tok_p1).literal), 10);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 102:
	case 70:
	{
		nimAddCharV1((&(*tok_p1).literal), 12);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 101:
	case 69:
	{
		nimAddCharV1((&(*tok_p1).literal), 27);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 97:
	case 65:
	{
		nimAddCharV1((&(*tok_p1).literal), 7);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 98:
	case 66:
	{
		nimAddCharV1((&(*tok_p1).literal), 8);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 118:
	case 86:
	{
		nimAddCharV1((&(*tok_p1).literal), 11);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 116:
	case 84:
	{
		nimAddCharV1((&(*tok_p1).literal), 9);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 39:
	case 34:
	{
		nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 92:
	{
		nimAddCharV1((&(*tok_p1).literal), 92);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	case 120:
	case 88:
	{
		NI xi_1;
		(*L_p0).Sup.bufpos += ((NI)1);
		xi_1 = ((NI)0);
		handleHexChar__lexer_u990(L_p0, (&xi_1), ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		handleHexChar__lexer_u990(L_p0, (&xi_1), ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimAddCharV1((&(*tok_p1).literal), ((NIM_CHAR) ((xi_1))));
	}
	break;
	case 117:
	case 85:
	{
		NI xi_2;
		{
			if (!((*tok_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88))) goto LA21_;
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_35);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA21_: ;
		(*L_p0).Sup.bufpos += ((NI)1);
		xi_2 = ((NI)0);
		{
			NI start_1;
			if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(123))) goto LA25_;
			(*L_p0).Sup.bufpos += ((NI)1);
			start_1 = (*L_p0).Sup.bufpos;
			{
				while (1) {
					if (!!(((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(125)))) goto LA28;
					handleHexChar__lexer_u990(L_p0, (&xi_2), ((NI)0));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA28: ;
			}
			{
				if (!(start_1 == (*L_p0).Sup.bufpos)) goto LA31_;
				lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_37);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA31_: ;
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				NimStringV2 hex_1;
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA 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);
				T38_ = dotdot___stdZstrbasics_u49(start_1, (NI)((*L_p0).Sup.bufpos - ((NI)2)));
				hex_1 = X5BX5D___pureZstrutils_u1286(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_39);
appendString((&T39_), hex_1);
				colontmpD__2 = T39_;
				lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				{
					LA37_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
					eqdestroy___system_u2691(hex_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA35_: ;
		}
		goto LA23_;
LA25_: ;
		{
			handleHexChar__lexer_u990(L_p0, (&xi_2), ((NI)1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__lexer_u990(L_p0, (&xi_2), ((NI)2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__lexer_u990(L_p0, (&xi_2), ((NI)3));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			handleHexChar__lexer_u990(L_p0, (&xi_2), ((NI)4));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA23_: ;
		addUnicodeCodePoint__lexer_u1087((&(*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__lexer_u417((&(*L_p0)), 48, TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T46_) goto LA47_;
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)21), TM__4JpEWnGrmRM8CRqL3P2O1Q_41);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA47_: ;
		xi_3 = ((NI)0);
		handleDecChars__lexer_u1069(L_p0, (&xi_3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(xi_3 <= ((NI)255))) goto LA51_;
			nimAddCharV1((&(*tok_p1).literal), ((NIM_CHAR) ((xi_3))));
		}
		goto LA49_;
LA51_: ;
		{
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_43);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA49_: ;
	}
	break;
	default:
	{
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_44);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getString__lexer_u1348)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag mode_p2) {
	NI pos_1;
	NI line_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos_1 = (*L_p0).Sup.bufpos;
	line_1 = (*L_p0).Sup.lineNumber;
	pos_1 += ((NI)1);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(34));
		if (!(T3_)) goto LA4_;
		T3_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(34));
LA4_: ;
		if (!T3_) goto LA5_;
		(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)85);
		pos_1 += ((NI)2);
		{
			NI newpos_1;
			if (!(((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(32)) || ((NU8)((*L_p0).Sup.buf[pos_1])) == ((NU8)(9)))) goto LA9_;
			newpos_1 = (NI)(pos_1 + ((NI)1));
			{
				while (1) {
					if (!(((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(32)) || ((NU8)((*L_p0).Sup.buf[newpos_1])) == ((NU8)(9)))) goto LA12;
					newpos_1 += ((NI)1);
				} 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__lexer_u1331(L_p0, pos_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
				case 34:
				{
					{
						NIM_BOOL T22_;
						NIM_BOOL T23_;
						T22_ = (NIM_BOOL)0;
						T23_ = (NIM_BOOL)0;
						T23_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(34));
						if (!(T23_)) goto LA24_;
						T23_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)2))]) == (NU8)(34));
LA24_: ;
						T22_ = T23_;
						if (!(T22_)) goto LA25_;
						T22_ = !(((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)3))]) == (NU8)(34)));
LA25_: ;
						if (!T22_) goto LA26_;
						(*L_p0).Sup.bufpos = (NI)(pos_1 + ((NI)3));
						goto LA17;
					}
LA26_: ;
					nimAddCharV1((&(*tok_p1).literal), 34);
					pos_1 += ((NI)1);
				}
				break;
				case 13:
				case 10:
				{
					pos_1 = handleCRLF__lexer_u1331(L_p0, pos_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					prepareAdd((&(*tok_p1).literal), 1);
appendString((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_21);
				}
				break;
				case 0:
				{
					NI line2_1;
					line2_1 = (*L_p0).Sup.lineNumber;
					(*L_p0).Sup.lineNumber = line_1;
					lexMessagePos__lexer_u411(L_p0, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), (*L_p0).Sup.lineStart, TM__4JpEWnGrmRM8CRqL3P2O1Q_23);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					(*L_p0).Sup.lineNumber = line2_1;
					(*L_p0).Sup.bufpos = pos_1;
					goto LA17;
				}
				break;
				default:
				{
					nimAddCharV1((&(*tok_p1).literal), (*L_p0).Sup.buf[pos_1]);
					pos_1 += ((NI)1);
				}
				break;
				}
			}
		} LA17: ;
	}
	goto LA1_;
LA5_: ;
	{
		{
			if (!!((mode_p2 == ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)0)))) goto LA34_;
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)84);
		}
		goto LA32_;
LA34_: ;
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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_;
						T45_ = (NIM_BOOL)0;
						T45_ = !((mode_p2 == ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)0)));
						if (!(T45_)) goto LA46_;
						T45_ = ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]) == (NU8)(34));
LA46_: ;
						if (!T45_) goto LA47_;
						pos_1 += ((NI)2);
						nimAddCharV1((&(*tok_p1).literal), 34);
					}
					goto LA43_;
LA47_: ;
					{
						pos_1 += ((NI)1);
						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__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_25);
					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__fnh6nHdy845hEjluMzh9aag)0));
LA55_: ;
					if (!T54_) goto LA56_;
					(*L_p0).Sup.bufpos = pos_1;
					getEscapedChar__lexer_u1212(L_p0, tok_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos_1 = (*L_p0).Sup.bufpos;
				}
				goto LA39_;
LA56_: ;
				{
					nimAddCharV1((&(*tok_p1).literal), c_1);
					pos_1 += ((NI)1);
				}
LA39_: ;
			}
		} LA37: ;
		(*L_p0).Sup.bufpos = pos_1;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getCharacter__lexer_u1431)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	NI startPos_1;
	NIM_CHAR c_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	startPos_1 = (*L_p0).Sup.bufpos;
	(*L_p0).Sup.bufpos += ((NI)1);
	c_1 = (*L_p0).Sup.buf[(*L_p0).Sup.bufpos];
	switch (((NU8)(c_1))) {
	case 0 ... 31:
	case 39:
	{
		NimStringV2 T2_;
		lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_52);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T2_.len = 0; T2_.p = NIM_NIL;
		T2_ = nimCharToStr(c_1);
		eqsink___system_u2700((&(*tok_p1).literal), T2_);
	}
	break;
	case 92:
	{
		getEscapedChar__lexer_u1212(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		NimStringV2 T5_;
		T5_.len = 0; T5_.p = NIM_NIL;
		T5_ = nimCharToStr(c_1);
		eqsink___system_u2700((&(*tok_p1).literal), T5_);
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	break;
	}
	{
		if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(39))) goto LA8_;
		(*L_p0).Sup.bufpos += ((NI)1);
	}
	goto LA6_;
LA8_: ;
	{
		{
			NIM_BOOL T13_;
			T13_ = (NIM_BOOL)0;
			T13_ = (((NI)0) < startPos_1);
			if (!(T13_)) goto LA14_;
			T13_ = ((NU8)((*L_p0).Sup.buf[(NI)(startPos_1 - ((NI)1))]) == (NU8)(96));
LA14_: ;
			if (!T13_) goto LA15_;
			eqsink___system_u2700((&(*tok_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_54);
			(*L_p0).Sup.bufpos = (NI)(startPos_1 + ((NI)1));
		}
		goto LA11_;
LA15_: ;
		{
			lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_56);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA11_: ;
	}
LA6_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, matchChars__lexer_u479)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p2) {
	NI pos_1;
	pos_1 = (*L_p0).Sup.bufpos;
	{
		while (1) {
			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]);
			pos_1 += ((NI)1);
		} LA2: ;
	}
	(*L_p0).Sup.bufpos = pos_1;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageLitNum__lexer_u493)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, NimStringV2 msg_p1, NI startpos_p2, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msgKind_p3) {
	tyObject_Token__pst9a89bCqNyggpo6gRF7jhA t_1;
	NimStringV2 colontmpD_;
	NI msgPos_1;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&t_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	msgPos_1 = (*L_p0).Sup.bufpos;
	nimZeroMem((void*)(&t_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
	t_1.literal = TM__4JpEWnGrmRM8CRqL3P2O1Q_58;
	(*L_p0).Sup.bufpos = startpos_p2;
	matchChars__lexer_u479(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_59);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		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_;
		T4_ = (((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) == ((NU8)(101)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) == ((NU8)(69)));
LA5_: ;
		if (!T4_) goto LA6_;
		nimAddCharV1((&t_1.literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
		(*L_p0).Sup.bufpos += ((NI)1);
		matchChars__lexer_u479(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_59);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		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]);
		(*L_p0).Sup.bufpos += ((NI)1);
		matchChars__lexer_u479(L_p0, (&t_1), TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
		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__lexer_u401((&(*L_p0)), msgKind_p3, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___lexer_u526((&t_1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchUnderscoreChars__lexer_u450)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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) {
			{
				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]);
				pos_1 += ((NI)1);
				result += ((NI)1);
			}
			goto LA3_;
LA5_: ;
			{
				goto LA1;
			}
LA3_: ;
			{
				if (!((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95))) goto LA10_;
				{
					if (!!(((chars_p2[(NU)((((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))]))))&7U)))!=0))) goto LA14_;
					lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_63);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA14_: ;
				nimAddCharV1((&(*tok_p1).literal), 95);
				pos_1 += ((NI)1);
			}
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_u1750)(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_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkBitWidth__lexer_u558)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ base_p1, tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA 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;
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__Ki1jCeoE9a08KI2ZuxsiYsQ)1):
	{
		colontmpD_ = ((NI)1);
		bitsPerDigit_1 = colontmpD_;
	}
	break;
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)2):
	{
		colontmpD__2 = ((NI)3);
		bitsPerDigit_1 = colontmpD__2;
	}
	break;
	case ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)3):
	{
		colontmpD__3 = ((NI)4);
		bitsPerDigit_1 = colontmpD__3;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u15(TM__4JpEWnGrmRM8CRqL3P2O1Q_112);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	switch (tokType_p2) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)70):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)75):
	{
		colontmpD__4 = ((NI)8);
		bitWidth_1 = colontmpD__4;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)71):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76):
	{
		colontmpD__5 = ((NI)16);
		bitWidth_1 = colontmpD__5;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)72):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77):
	{
		colontmpD__6 = ((NI)32);
		bitWidth_1 = colontmpD__6;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)78):
	{
		colontmpD__7 = ((NI)64);
		bitWidth_1 = colontmpD__7;
	}
	break;
	default:
	{
		raiseAssert__stdZassertions_u15(TM__4JpEWnGrmRM8CRqL3P2O1Q_113);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	maxDigits_1 = (NI)((NI)((NI)(bitWidth_1 + bitsPerDigit_1) - ((NI)1)) / bitsPerDigit_1);
	{
		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_u9(numDigits_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__9 = dollar___systemZdollars_u9(maxDigits_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T15_ = rawNewString(colontmpD__8.len + colontmpD__9.len + 55);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_115);
appendString((&T15_), colontmpD__8);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_117);
appendString((&T15_), colontmpD__9);
appendString((&T15_), TM__4JpEWnGrmRM8CRqL3P2O1Q_119);
		colontmpD__10 = T15_;
		lexMessageLitNum__lexer_u493(L_p0, colontmpD__10, startpos_p4, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)84));
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			LA14_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__10);
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(colontmpD__8);
		}
		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_u3629;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3662(&currException__system_u3629, (*currException__system_u3629).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, getNumber__lexer_u447)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__lTUY8lCIkO3nhCc7lqA4RA)69);
	eqsink___system_u2700((&(*result_p1).literal), TM__4JpEWnGrmRM8CRqL3P2O1Q_57);
	(*result_p1).base = ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)0);
	isPositive_1 = NIM_TRUE;
	{
		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]);
		(*L_p0).Sup.bufpos += ((NI)1);
		isPositive_1 = NIM_FALSE;
	}
LA3_: ;
	startpos_1 = (*L_p0).Sup.bufpos;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(48));
		if (!(T7_)) goto LA8_;
		T7_ = (((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) >= ((NU8)(66)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) <= ((NU8)(67)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) == ((NU8)(79)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) == ((NU8)(88)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) >= ((NU8)(98)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) <= ((NU8)(99)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) == ((NU8)(111)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) == ((NU8)(120)));
LA8_: ;
		if (!T7_) goto LA9_;
		isBase10_1 = NIM_FALSE;
		nimAddCharV1((&(*result_p1).literal), 48);
		(*L_p0).Sup.bufpos += ((NI)1);
		switch (((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]))) {
		case 99:
		case 67:
		{
			lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_61, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)24));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimAddCharV1((&(*result_p1).literal), 99);
			(*L_p0).Sup.bufpos += ((NI)1);
			numDigits_1 = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_64);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 79:
		{
			lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_66, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 120:
		case 88:
		{
			nimAddCharV1((&(*result_p1).literal), 120);
			(*L_p0).Sup.bufpos += ((NI)1);
			numDigits_1 = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_67);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 111:
		{
			nimAddCharV1((&(*result_p1).literal), 111);
			(*L_p0).Sup.bufpos += ((NI)1);
			numDigits_1 = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_64);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 98:
		case 66:
		{
			nimAddCharV1((&(*result_p1).literal), 98);
			(*L_p0).Sup.bufpos += ((NI)1);
			numDigits_1 = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_68);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T17_;
			T17_ = getLineInfo__lexer_u388((&(*L_p0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			internalErrorImpl__msgs_u1598((*L_p0).config, T17_, TM__4JpEWnGrmRM8CRqL3P2O1Q_70, TM__4JpEWnGrmRM8CRqL3P2O1Q_71);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
		{
			if (!(numDigits_1 == ((NI)0))) goto LA20_;
			lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_73, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA20_: ;
	}
	goto LA5_;
LA9_: ;
	{
		NI T23_;
		T23_ = (NI)0;
		T23_ = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T23_);
		{
			NIM_BOOL T26_;
			NI T30_;
			T26_ = (NIM_BOOL)0;
			T26_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
			if (!(T26_)) goto LA27_;
			T26_ = (((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) <= ((NU8)(57)));
LA27_: ;
			if (!T26_) goto LA28_;
			(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)79);
			nimAddCharV1((&(*result_p1).literal), 46);
			(*L_p0).Sup.bufpos += ((NI)1);
			T30_ = (NI)0;
			T30_ = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(void)(T30_);
		}
LA28_: ;
		{
			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__lTUY8lCIkO3nhCc7lqA4RA)79);
			nimAddCharV1((&(*result_p1).literal), (*L_p0).Sup.buf[(*L_p0).Sup.bufpos]);
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				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]);
				(*L_p0).Sup.bufpos += ((NI)1);
			}
LA37_: ;
			T39_ = (NI)0;
			T39_ = matchUnderscoreChars__lexer_u450(L_p0, result_p1, TM__4JpEWnGrmRM8CRqL3P2O1Q_40);
			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_74[(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;
		{
			if (!((NU8)((*L_p0).Sup.buf[postPos_1]) == (NU8)(39))) goto LA46_;
			postPos_1 += ((NI)1);
			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) {
					nimAddCharV1((&suffix_1), (*L_p0).Sup.buf[postPos_1]);
					postPos_1 += ((NI)1);
					{
						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_78)) goto LA59_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_90)) goto LA64_;
break;
			case 2: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_84)) goto LA61_;
break;
			case 3: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_100)) goto LA69_;
break;
			case 5: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_80)) goto LA60_;
break;
			case 6: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_82)) goto LA60_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_98)) goto LA68_;
break;
			case 7: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_88)) goto LA63_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_96)) goto LA67_;
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_102)) goto LA70_;
break;
			case 9: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_94)) goto LA66_;
break;
			case 10: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_86)) goto LA62_;
break;
			case 13: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_92)) goto LA65_;
break;
			case 14: 
if (eqStrings(suffixAsLower_1, TM__4JpEWnGrmRM8CRqL3P2O1Q_76)) goto LA59_;
break;
			}
			goto LA71_;
			LA59_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)80);
			}
			goto LA72_;
			LA60_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)81);
			}
			goto LA72_;
			LA61_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)82);
			}
			goto LA72_;
			LA62_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)70);
			}
			goto LA72_;
			LA63_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)71);
			}
			goto LA72_;
			LA64_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)72);
			}
			goto LA72_;
			LA65_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73);
			}
			goto LA72_;
			LA66_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74);
			}
			goto LA72_;
			LA67_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)75);
			}
			goto LA72_;
			LA68_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76);
			}
			goto LA72_;
			LA69_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77);
			}
			goto LA72_;
			LA70_: ;
			{
				(*result_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)89);
				}
				goto LA86_;
LA88_: ;
				{
					lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_104, errPos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
					if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
				}
LA86_: ;
			}
LA72_: ;
			{
				LA52_:;
			}
			{
				eqdestroy___system_u2691(suffixAsLower_1);
				eqdestroy___system_u2691(suffix_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA48_;
LA50_: ;
		{
			lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_105, errPos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA48_: ;
	}
LA42_: ;
	{
		NIM_BOOL T96_;
		NIM_BOOL T98_;
		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_;
		T98_ = (((NU8)((*L_p0).Sup.buf[(NI)(postPos_1 + ((NI)1))])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)(postPos_1 + ((NI)1))])) <= ((NU8)(57)));
LA99_: ;
		T96_ = T98_;
LA97_: ;
		if (!T96_) goto LA100_;
		lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_106, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA100_: ;
	{
		NI pos_1;
		if (!!(((*result_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89)))) goto LA104_;
		(*L_p0).Sup.bufpos = startpos_1;
		pos_1 = startpos_1;
		{
			NIM_BOOL T109_;
			T109_ = (NIM_BOOL)0;
			T109_ = ((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(48));
			if (!(T109_)) goto LA110_;
			T109_ = (((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(88)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(120)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(111)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(98)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(66)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(99)) || ((NU8)((*L_p0).Sup.buf[(NI)(pos_1 + ((NI)1))])) == ((NU8)(67)));
LA110_: ;
			if (!T109_) goto LA111_;
			pos_1 += ((NI)2);
			xi_1 = IL64(0);
			switch (((NU8)((*L_p0).Sup.buf[(NI)(pos_1 - ((NI)1))]))) {
			case 98:
			case 66:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)1);
				{
					while (1) {
						if (!(pos_1 < endpos_1)) goto LA115;
						{
							if (!!(((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95)))) goto LA118_;
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)1) & (64 - 1))) | ((NI64) ((NI)(((NU8)((*L_p0).Sup.buf[pos_1])) - ((NI)48)))));
						}
LA118_: ;
						pos_1 += ((NI)1);
					} LA115: ;
				}
			}
			break;
			case 111:
			case 99:
			case 67:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)2);
				{
					while (1) {
						if (!(pos_1 < endpos_1)) goto LA122;
						{
							if (!!(((NU8)((*L_p0).Sup.buf[pos_1]) == (NU8)(95)))) goto LA125_;
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)3) & (64 - 1))) | ((NI64) ((NI)(((NU8)((*L_p0).Sup.buf[pos_1])) - ((NI)48)))));
						}
LA125_: ;
						pos_1 += ((NI)1);
					} LA122: ;
				}
			}
			break;
			case 120:
			case 88:
			{
				(*result_p1).base = ((tyEnum_NumericalBase__Ki1jCeoE9a08KI2ZuxsiYsQ)3);
				{
					while (1) {
						if (!(pos_1 < endpos_1)) goto LA129;
						switch (((NU8)((*L_p0).Sup.buf[pos_1]))) {
						case 95:
						{
							pos_1 += ((NI)1);
						}
						break;
						case 48 ... 57:
						{
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)(((NU8)((*L_p0).Sup.buf[pos_1])) - ((NI)48)))));
							pos_1 += ((NI)1);
						}
						break;
						case 97 ... 102:
						{
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)((NI)(((NU8)((*L_p0).Sup.buf[pos_1])) - ((NI)97)) + ((NI)10)))));
							pos_1 += ((NI)1);
						}
						break;
						case 65 ... 70:
						{
							xi_1 = (NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)4) & (64 - 1))) | ((NI64) ((NI)((NI)(((NU8)((*L_p0).Sup.buf[pos_1])) - ((NI)65)) + ((NI)10)))));
							pos_1 += ((NI)1);
						}
						break;
						default:
						{
							goto LA128;
						}
						break;
						}
					} LA129: ;
				} LA128: ;
			}
			break;
			default:
			{
				tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA T136_;
				T136_ = getLineInfo__lexer_u388((&(*L_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				internalErrorImpl__msgs_u1598((*L_p0).config, T136_, TM__4JpEWnGrmRM8CRqL3P2O1Q_107, TM__4JpEWnGrmRM8CRqL3P2O1Q_108);
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
			break;
			}
			switch ((*result_p1).tokType) {
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73):
			{
				NI64 T138_;
				T138_ = (NI64)0;
				{
					if (!isPositive_1) goto LA141_;
					(*result_p1).iNumber = xi_1;
				}
				goto LA139_;
LA141_: ;
				{
					(*result_p1).iNumber = -(xi_1);
				}
LA139_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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_: ;
				{
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)56) & (64 - 1)))) >> (NU64)(((NI)56) & (64 - 1))));
				}
LA146_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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_: ;
				{
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)48) & (64 - 1)))) >> (NU64)(((NI)48) & (64 - 1))));
				}
LA153_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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_: ;
				{
					(*result_p1).iNumber = -((NI64)((NI64)((NI64)((NU64)(xi_1) << (NU64)(((NI)32) & (64 - 1)))) >> (NU64)(((NI)32) & (64 - 1))));
				}
LA160_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)78):
			{
				NI64 T166_;
				T166_ = (NI64)0;
				{
					if (!isPositive_1) goto LA169_;
					(*result_p1).iNumber = xi_1;
				}
				goto LA167_;
LA169_: ;
				{
					(*result_p1).iNumber = -(xi_1);
				}
LA167_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)75):
			{
				NI64 T173_;
				T173_ = (NI64)0;
				{
					if (!isPositive_1) goto LA176_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(255));
				}
				goto LA174_;
LA176_: ;
				{
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(255)));
				}
LA174_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76):
			{
				NI64 T180_;
				T180_ = (NI64)0;
				{
					if (!isPositive_1) goto LA183_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(65535));
				}
				goto LA181_;
LA183_: ;
				{
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(65535)));
				}
LA181_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77):
			{
				NI64 T187_;
				T187_ = (NI64)0;
				{
					if (!isPositive_1) goto LA190_;
					(*result_p1).iNumber = (NI64)(xi_1 & IL64(4294967295));
				}
				goto LA188_;
LA190_: ;
				{
					(*result_p1).iNumber = -((NI64)(xi_1 & IL64(4294967295)));
				}
LA188_: ;
			}
			break;
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)81):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__cGj50BJ9bj3Zx09a9bMvKs8HA T208_;
				T208_ = getLineInfo__lexer_u388((&(*L_p0)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
				internalErrorImpl__msgs_u1598((*L_p0).config, T208_, TM__4JpEWnGrmRM8CRqL3P2O1Q_109, TM__4JpEWnGrmRM8CRqL3P2O1Q_110);
				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__Ki1jCeoE9a08KI2ZuxsiYsQ)0)));
				if (!(T212_)) goto LA213_;
				T212_ = ((*result_p1).tokType >= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69) && (*result_p1).tokType <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)78));
LA213_: ;
				T211_ = T212_;
				if (!(T211_)) goto LA214_;
				T211_ = (((NI)0) < numDigits_1);
LA214_: ;
				if (!T211_) goto LA215_;
				checkBitWidth__lexer_u558(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__lTUY8lCIkO3nhCc7lqA4RA)79) || (*result_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)80) || (*result_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)81) || (*result_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)75):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76):
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77):
				{
					colontmpD__3 = !(((*result_p1).iNumber == xi_1));
					outOfRange_1 = colontmpD__3;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)70):
				{
					colontmpD__4 = (IL64(255) < xi_1);
					outOfRange_1 = colontmpD__4;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)71):
				{
					colontmpD__5 = (IL64(65535) < xi_1);
					outOfRange_1 = colontmpD__5;
				}
				break;
				case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_121, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)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__lTUY8lCIkO3nhCc7lqA4RA)79) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)78):
			case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74):
			{
				NU64 iNumber_1;
				NI len_1;
				NI T235_;
				iNumber_1 = 0ULL;
				len_1 = ((NI)0);
				T235_ = (NI)0;
				T235_ = parseBiggestUInt__pureZparseutils_u999((*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, 1871340544)) {
						tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* T239_;
						NimStringV2 T240_;
						*nimErr_ = NIM_FALSE;
						T239_ = NIM_NIL;
						T239_ = (tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ*) nimNewObj(sizeof(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ), NIM_ALIGNOF(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ));
						(*T239_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__k9cHpOYdyJ5gzriX3ztGHjQ_);
						(*T239_).Sup.Sup.Sup.name = "OverflowDefect";
						T240_.len = 0; T240_.p = NIM_NIL;
						T240_ = rawNewString((*result_p1).literal.len + 21);
appendString((&T240_), TM__4JpEWnGrmRM8CRqL3P2O1Q_123);
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__S29bKZF4TUS33IR7ZXb7fFA* T245_;
					NimStringV2 T246_;
					if (!!((len_1 == (*result_p1).literal.len))) goto LA243_;
					T245_ = NIM_NIL;
					T245_ = (tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA*) nimNewObj(sizeof(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA), NIM_ALIGNOF(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA));
					(*T245_).Sup.Sup.Sup.m_type = (&NTIv2__S29bKZF4TUS33IR7ZXb7fFA_);
					(*T245_).Sup.Sup.name = "ValueError";
					T246_.len = 0; T246_.p = NIM_NIL;
					T246_ = rawNewString((*result_p1).literal.len + 17);
appendString((&T246_), TM__4JpEWnGrmRM8CRqL3P2O1Q_125);
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_u984((*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, 1871340544)) {
						tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ* T253_;
						NimStringV2 T254_;
						*nimErr_ = NIM_FALSE;
						T253_ = NIM_NIL;
						T253_ = (tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ*) nimNewObj(sizeof(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ), NIM_ALIGNOF(tyObject_OverflowDefect__k9cHpOYdyJ5gzriX3ztGHjQ));
						(*T253_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__k9cHpOYdyJ5gzriX3ztGHjQ_);
						(*T253_).Sup.Sup.Sup.name = "OverflowDefect";
						T254_.len = 0; T254_.p = NIM_NIL;
						T254_ = rawNewString((*result_p1).literal.len + 21);
appendString((&T254_), TM__4JpEWnGrmRM8CRqL3P2O1Q_126);
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__S29bKZF4TUS33IR7ZXb7fFA* T259_;
					NimStringV2 T260_;
					if (!!((len_2 == (*result_p1).literal.len))) goto LA257_;
					T259_ = NIM_NIL;
					T259_ = (tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA*) nimNewObj(sizeof(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA), NIM_ALIGNOF(tyObject_ValueError__S29bKZF4TUS33IR7ZXb7fFA));
					(*T259_).Sup.Sup.Sup.m_type = (&NTIv2__S29bKZF4TUS33IR7ZXb7fFA_);
					(*T259_).Sup.Sup.name = "ValueError";
					T260_.len = 0; T260_.p = NIM_NIL;
					T260_ = rawNewString((*result_p1).literal.len + 17);
appendString((&T260_), TM__4JpEWnGrmRM8CRqL3P2O1Q_127);
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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)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__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_128, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
				if (NIM_UNLIKELY(*nimErr_)) goto LA106_;
			}
LA282_: ;
		}
LA107_: ;
		{
			if (!((*result_p1).tokType == ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)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__lTUY8lCIkO3nhCc7lqA4RA)73);
			}
LA292_: ;
		}
LA286_: ;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA106_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1871340544)) {
				*nimErr_ = NIM_FALSE;
				lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_129, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17));
				if (NIM_UNLIKELY(*nimErr_)) goto LA295_;
				popCurrentException();
				LA295_:;
			}
			else 			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 4058593536)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3610694656)) {
				*nimErr_ = NIM_FALSE;
				lexMessageLitNum__lexer_u493(L_p0, TM__4JpEWnGrmRM8CRqL3P2O1Q_130, startpos_1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)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__lexer_u1918)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p1) {
	NIM_CHAR c_1;
	NI T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	reset__lexer_u1922(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__lexer_u1869(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__nimlexbase_u35((&(*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__lexer_u1513(L_p0, tok_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA7_;
LA9_: ;
	{
		switch (((NU8)(c_1))) {
		case 194 ... 195:
		case 226:
		{
			{
				tyTuple__4oI2L88jMnyLfUji9cUVc7A T15_;
				T15_ = unicodeOprLen__lexer_u1466((*L_p0).Sup.buf, (*L_p0).Sup.bufpos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!!((T15_.Field0 == ((NI8)0)))) goto LA16_;
				getOperator__lexer_u1613(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA13_;
LA16_: ;
			{
				getSymbol__lexer_u1513(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA13_: ;
		}
		break;
		case 35:
		{
			scanComment__lexer_u1803(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 42:
		{
			{
				NIM_BOOL T23_;
				NI h_1;
				T23_ = (NIM_BOOL)0;
				T23_ = ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(58));
				if (!(T23_)) goto LA24_;
				T23_ = !(((TM__4JpEWnGrmRM8CRqL3P2O1Q_19[(NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)2))]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)2))]))))&7U)))!=0));
LA24_: ;
				if (!T23_) goto LA25_;
				h_1 = emarkamp___pureZhashes_u5(((NI)0), ((NI)42));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				endOperator__lexer_u1604(L_p0, tok_p1, (NI)((*L_p0).Sup.bufpos + ((NI)1)), h_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA21_;
LA25_: ;
			{
				getOperator__lexer_u1613(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA21_: ;
		}
		break;
		case 44:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 114:
		case 82:
		{
			{
				if (!((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(34))) goto LA32_;
				(*L_p0).Sup.bufpos += ((NI)1);
				getString__lexer_u1348(L_p0, tok_p1, ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA30_;
LA32_: ;
			{
				getSymbol__lexer_u1513(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA30_: ;
		}
		break;
		case 40:
		{
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				NIM_BOOL T38_;
				T38_ = (NIM_BOOL)0;
				T38_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T38_)) goto LA39_;
				T38_ = !(((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(46)));
LA39_: ;
				if (!T38_) goto LA40_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)100);
				(*L_p0).Sup.bufpos += ((NI)1);
			}
			goto LA36_;
LA40_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90);
			}
LA36_: ;
		}
		break;
		case 41:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 91:
		{
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				NIM_BOOL T47_;
				T47_ = (NIM_BOOL)0;
				T47_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T47_)) goto LA48_;
				T47_ = !(((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(46)));
LA48_: ;
				if (!T47_) goto LA49_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)96);
				(*L_p0).Sup.bufpos += ((NI)1);
			}
			goto LA45_;
LA49_: ;
			{
				if (!((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(58))) goto LA52_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)109);
				(*L_p0).Sup.bufpos += ((NI)1);
			}
			goto LA45_;
LA52_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92);
			}
LA45_: ;
		}
		break;
		case 93:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 46:
		{
			{
				if (!((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(93))) goto LA59_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)97);
				(*L_p0).Sup.bufpos += ((NI)2);
			}
			goto LA57_;
LA59_: ;
			{
				if (!((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(125))) goto LA62_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)99);
				(*L_p0).Sup.bufpos += ((NI)2);
			}
			goto LA57_;
LA62_: ;
			{
				if (!((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(41))) goto LA65_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)101);
				(*L_p0).Sup.bufpos += ((NI)2);
			}
			goto LA57_;
LA65_: ;
			{
				getOperator__lexer_u1613(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA57_: ;
		}
		break;
		case 123:
		{
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				NIM_BOOL T71_;
				T71_ = (NIM_BOOL)0;
				T71_ = ((NU8)((*L_p0).Sup.buf[(*L_p0).Sup.bufpos]) == (NU8)(46));
				if (!(T71_)) goto LA72_;
				T71_ = !(((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))]) == (NU8)(46)));
LA72_: ;
				if (!T71_) goto LA73_;
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98);
				(*L_p0).Sup.bufpos += ((NI)1);
			}
			goto LA69_;
LA73_: ;
			{
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94);
			}
LA69_: ;
		}
		break;
		case 125:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 59:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 96:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112);
			(*L_p0).Sup.bufpos += ((NI)1);
		}
		break;
		case 95:
		{
			(*L_p0).Sup.bufpos += ((NI)1);
			{
				tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* 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__lTUY8lCIkO3nhCc7lqA4RA)2);
				T84_ = NIM_NIL;
				T84_ = getIdent__idents_u206((*L_p0).cache, TM__4JpEWnGrmRM8CRqL3P2O1Q_46);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___idents_u155(T84_); goto BeforeRet_;}
				eqsink___idents_u164(&(*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_u2700((&(*tok_p1).literal), T87_);
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0);
				T88_.len = 0; T88_.p = NIM_NIL;
				colontmpD_ = dollar___systemZdollars_u9(((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				T88_ = rawNewString(colontmpD_.len + 20);
appendString((&T88_), TM__4JpEWnGrmRM8CRqL3P2O1Q_48);
appendChar((&T88_), c_1);
appendString((&T88_), TM__4JpEWnGrmRM8CRqL3P2O1Q_50);
appendString((&T88_), colontmpD_);
appendChar((&T88_), 41);
				colontmpD__2 = T88_;
				lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
				{
					LA86_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA80_: ;
		}
		break;
		case 34:
		{
			tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag colontmpD__3;
			tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag colontmpD__4;
			tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag mode_1;
			colontmpD__3 = (tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)0;
			colontmpD__4 = (tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)0;
			{
				NIM_BOOL T94_;
				T94_ = (NIM_BOOL)0;
				T94_ = (((NI)0) < (*L_p0).Sup.bufpos);
				if (!(T94_)) goto LA95_;
				T94_ = (((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) >= ((NU8)(97)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) <= ((NU8)(122)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) >= ((NU8)(65)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) <= ((NU8)(90)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) <= ((NU8)(57)) || ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) >= ((NU8)(128)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))])) <= ((NU8)(255)));
LA95_: ;
				if (!T94_) goto LA96_;
				colontmpD__3 = ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)2);
				mode_1 = colontmpD__3;
			}
			goto LA92_;
LA96_: ;
			{
				colontmpD__4 = ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)0);
				mode_1 = colontmpD__4;
			}
LA92_: ;
			getString__lexer_u1348(L_p0, tok_p1, mode_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(mode_1 == ((tyEnum_StringMode__fnh6nHdy845hEjluMzh9aag)2))) goto LA101_;
				(*tok_p1).tokType += ((NI)2);
			}
LA101_: ;
		}
		break;
		case 39:
		{
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88);
			getCharacter__lexer_u1431(L_p0, tok_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88);
		}
		break;
		case 48 ... 57:
		{
			NIM_CHAR c_2;
			getNumber__lexer_u447(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__4oI2L88jMnyLfUji9cUVc7A 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__lexer_u1466((*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__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_132);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA109_: ;
			}
LA107_: ;
		}
		break;
		case 45:
		{
			{
				NIM_BOOL T120_;
				NIM_BOOL T122_;
				NIM_CHAR c_3;
				T120_ = (NIM_BOOL)0;
				T120_ = (((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) >= ((NU8)(48)) && ((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos + ((NI)1))])) <= ((NU8)(57)));
				if (!(T120_)) goto LA121_;
				T122_ = (NIM_BOOL)0;
				T122_ = ((NI)((*L_p0).Sup.bufpos - ((NI)1)) == ((NI)0));
				if (T122_) goto LA123_;
				T122_ = ((TM__4JpEWnGrmRM8CRqL3P2O1Q_133[(NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))]))))>>3] &(1U<<((NU)((((NU8)((*L_p0).Sup.buf[(NI)((*L_p0).Sup.bufpos - ((NI)1))]))))&7U)))!=0);
LA123_: ;
				T120_ = T122_;
LA121_: ;
				if (!T120_) goto LA124_;
				getNumber__lexer_u447(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__4oI2L88jMnyLfUji9cUVc7A 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__lexer_u1466((*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__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__4JpEWnGrmRM8CRqL3P2O1Q_134);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA130_: ;
				}
LA128_: ;
			}
			goto LA118_;
LA124_: ;
			{
				getOperator__lexer_u1613(L_p0, tok_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA118_: ;
		}
		break;
		default:
		{
			{
				if (!((TM__4JpEWnGrmRM8CRqL3P2O1Q_19[(NU)((((NU8)(c_1))))>>3] &(1U<<((NU)((((NU8)(c_1))))&7U)))!=0)) goto LA142_;
				getOperator__lexer_u1613(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__lTUY8lCIkO3nhCc7lqA4RA)1);
				(*tok_p1).indent = ((NI)0);
			}
			goto LA140_;
LA145_: ;
			{
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				NimStringV2 T149_;
				NimStringV2 T150_;
				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_u2700((&(*tok_p1).literal), T149_);
				(*tok_p1).tokType = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0);
				T150_.len = 0; T150_.p = NIM_NIL;
				colontmpD__5 = dollar___systemZdollars_u9(((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto LA148_;
				T150_ = rawNewString(colontmpD__5.len + 20);
appendString((&T150_), TM__4JpEWnGrmRM8CRqL3P2O1Q_135);
appendChar((&T150_), c_1);
appendString((&T150_), TM__4JpEWnGrmRM8CRqL3P2O1Q_136);
appendString((&T150_), colontmpD__5);
appendChar((&T150_), 41);
				colontmpD__6 = T150_;
				lexMessage__lexer_u401((&(*L_p0)), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA148_;
				(*L_p0).Sup.bufpos += ((NI)1);
				{
					LA148_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__6);
					eqdestroy___system_u2691(colontmpD__5);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA140_: ;
		}
		break;
		}
	}
LA7_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___lexer_u141)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_138;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_140;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)2):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_142;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_144;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)4):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_146;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)5):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_148;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)6):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_150;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)7):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_152;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)8):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_154;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)9):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_156;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)10):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_158;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)11):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_160;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)12):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_162;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)13):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_164;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)14):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_166;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)15):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_168;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)16):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_170;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)17):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_172;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)18):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_174;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)19):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_176;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)20):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_178;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)21):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_180;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)22):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_182;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)23):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_184;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)24):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_186;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)25):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_188;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)26):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_190;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)27):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_192;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)28):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_194;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)29):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_196;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)30):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_198;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)31):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_200;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)32):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_202;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)33):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_204;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)34):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_206;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)35):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_208;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)36):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_210;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)37):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_212;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)38):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_214;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)39):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_216;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)40):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_218;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)41):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_220;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)42):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_222;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)43):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_224;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)44):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_226;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)45):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_228;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)46):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_230;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)47):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_232;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_234;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)49):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_236;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)50):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_238;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)51):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_240;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_242;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)53):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_244;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_246;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)55):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_248;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)56):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_250;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)57):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_252;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)58):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_254;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)59):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_256;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)60):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_258;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)61):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_260;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)62):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_262;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)63):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_264;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)64):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_266;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)65):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_268;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)66):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_270;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)67):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_272;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_274;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)69):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_276;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)70):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_278;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)71):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_280;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)72):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_282;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_284;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)74):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_286;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)75):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_288;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)76):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_290;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)77):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_292;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)78):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_294;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)79):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_296;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)80):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_298;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)81):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_300;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)82):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_302;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)83):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_304;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)84):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_306;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)85):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_308;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)86):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_310;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)87):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_312;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_314;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)89):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_316;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_318;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)91):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_320;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)92):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_322;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)93):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_324;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)94):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_326;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)95):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_328;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)96):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_330;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)97):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_332;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)98):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_334;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)99):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_336;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)100):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_338;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)101):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_340;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)102):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_342;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)103):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_344;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_346;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)105):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_348;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)106):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_350;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)107):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_352;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_354;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)109):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_356;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_358;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_360;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_362;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)113):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_364;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)114):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_366;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)115):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_368;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)116):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_370;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)117):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_372;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)118):
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_374;
	}
	break;
	default:
	{
		result = TM__4JpEWnGrmRM8CRqL3P2O1Q_376;
	}
	break;
	}
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* 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___lexer_u239)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__lTUY8lCIkO3nhCc7lqA4RA)69) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)73):
	{
		result = dollar___systemZdollars_u29((*tok_p0).iNumber);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)79) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)81):
	{
		result = dollar___system_u4731((*tok_p0).fNumber);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)83) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)88):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)111):
	{
		eqcopy___system_u2694((&result), (*tok_p0).literal);
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)90) ... ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)104):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)1):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)112):
	{
		result = dollar___lexer_u141((*tok_p0).tokType);
	}
	break;
	default:
	{
		NimStringV2 T7_;
		T7_.len = 0; T7_.p = NIM_NIL;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = eqeq___idents_u366((*tok_p0).ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T10_)) goto LA11_;
			eqcopy___system_u2694((&result), (*(*tok_p0).ident).s);
		}
		goto LA8_;
LA11_: ;
		{
			result = TM__4JpEWnGrmRM8CRqL3P2O1Q_377;
		}
LA8_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, closeLexer__lexer_u377)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* lex_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!(((*lex_p0).config == ((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL)))) goto LA3_;
		(*(*lex_p0).config).linesCompiled += (*lex_p0).Sup.lineNumber;
	}
LA3_: ;
	closeBaseLexer__nimlexbase_u30(&lex_p0->Sup);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, lexMessageTok__lexer_u405)(tyObject_Lexer__vtOgGjZ65sMaH6Mnf64SNw* L_p0, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p1, tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p2, NimStringV2 arg_p3) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	info_1 = newLineInfo__msgs_u419((*L_p0).fileIdx, (*tok_p2).line, (*tok_p2).col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	dispMessage__lexer_u391(L_p0, info_1, msg_p1, arg_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__lexer_u203)(tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA kind_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)3) <= kind_p0);
	if (!(T1_)) goto LA2_;
	T1_ = (kind_p0 <= ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)68));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prettyTok__lexer_u248)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* 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__lexer_u203((*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_379);
appendString((&T7_), (*(*tok_p0).ident).s);
		result = T7_;
	}
	goto LA2_;
LA5_: ;
	{
		result = dollar___lexer_u239(tok_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8100)(NimStringV2* s_p0, NI i_p1) {
	NIM_CHAR* result;
	nimPrepareStrMutationV2((&(*s_p0)));
	result = (&(*s_p0).p->data[(NI)((*s_p0).len - i_p1)]);
	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__lexer_u1691)(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA* tok_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch ((*tok_p0).tokType) {
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110):
	{
		NIM_CHAR relevantChar_1;
		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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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_u8100((&(*(*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__4oI2L88jMnyLfUji9cUVc7A tmpTuple_1;
				NI8 len_1;
				tyEnum_UnicodeOprPred__5dgU3L9bprYmRDHG5C9avS7g pred_1;
				tmpTuple_1 = unicodeOprLen__lexer_u1466(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__5dgU3L9bprYmRDHG5C9avS7g)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_u8100((&(*(*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__lTUY8lCIkO3nhCc7lqA4RA)19):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)43):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)56):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)57):
	{
		result = ((NI)9);
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)108):
	{
		result = ((NI)6);
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)33):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)46):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)36):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)37):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)48):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)5):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)29):
	{
		result = ((NI)5);
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)4):
	{
		result = ((NI)4);
	}
	break;
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)49):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)67):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)52):
	case ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)54):
	{
		result = ((NI)3);
	}
	break;
	default:
	{
		result = ((NI)-10);
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__pureZtimes_u3356)(tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA 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__lexer_u2163)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p0) {
	NI result;
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA colontmpD_;
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA colontmpD__2;
	tyObject_Token__pst9a89bCqNyggpo6gRF7jhA tok_1;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* colontmpD__3;
	tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA tokType_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	colontmpD_ = (tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0;
	colontmpD__2 = (tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)0;
	nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
	{
		tyObject_HSlice__OAVyDXS0QPw7LdXClfU2hA T3_;
		NIM_BOOL T4_;
		T3_ = dotdot___stdZstrbasics_u49(((NI)1), ((NI)66));
		T4_ = (NIM_BOOL)0;
		T4_ = contains__pureZtimes_u3356(T3_, (*ident_p0).id);
		if (!T4_) goto LA5_;
		colontmpD_ = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA) ((NI)((*ident_p0).id + ((NI)2))));
		tokType_1 = colontmpD_;
	}
	goto LA1_;
LA5_: ;
	{
		colontmpD__2 = ((tyEnum_TokType__lTUY8lCIkO3nhCc7lqA4RA)110);
		tokType_1 = colontmpD__2;
	}
LA1_: ;
	nimZeroMem((void*)(&tok_1), sizeof(tyObject_Token__pst9a89bCqNyggpo6gRF7jhA));
	colontmpD__3 = eqdup___idents_u161(ident_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	tok_1.ident = colontmpD__3;
	tok_1.tokType = tokType_1;
	result = getPrecedence__lexer_u1691((&tok_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___lexer_u526((&tok_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNimIdentifier__lexer_u216)(NimStringV2 s_p0) {
	NIM_BOOL result;
	NI sLen_1;
{	sLen_1 = s_p0.len;
	{
		NIM_BOOL T3_;
		NI i_1;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) < sLen_1);
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)(s_p0.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)(s_p0.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)(s_p0.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)(s_p0.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)(s_p0.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)(s_p0.p->data[((NI)0)])) <= ((NU8)(255)));
LA4_: ;
		if (!T3_) goto LA5_;
		i_1 = ((NI)1);
		{
			while (1) {
				if (!(i_1 < sLen_1)) goto LA8;
				{
					if (!((NU8)(s_p0.p->data[i_1]) == (NU8)(95))) goto LA11_;
					i_1 += ((NI)1);
				}
LA11_: ;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = (i_1 < sLen_1);
					if (!(T15_)) goto LA16_;
					T15_ = !((((NU8)(s_p0.p->data[i_1])) >= ((NU8)(97)) && ((NU8)(s_p0.p->data[i_1])) <= ((NU8)(122)) || ((NU8)(s_p0.p->data[i_1])) >= ((NU8)(65)) && ((NU8)(s_p0.p->data[i_1])) <= ((NU8)(90)) || ((NU8)(s_p0.p->data[i_1])) >= ((NU8)(48)) && ((NU8)(s_p0.p->data[i_1])) <= ((NU8)(57)) || ((NU8)(s_p0.p->data[i_1])) >= ((NU8)(128)) && ((NU8)(s_p0.p->data[i_1])) <= ((NU8)(255))));
LA16_: ;
					if (!T15_) goto LA17_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
LA17_: ;
				i_1 += ((NI)1);
			} LA8: ;
		}
		result = NIM_TRUE;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1) {
	tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* h_1;
	NI T1_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	h_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_));
	(*h_1).rc = pluspercent___system_u785((*h_1).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___parser_u1880)(tyProc__urLEtt9bmeGdJpEukhLR9a1A* dest_p0, tyProc__urLEtt9bmeGdJpEukhLR9a1A src_p1, NIM_BOOL cyclic_p2) {
	void* colontmp_;
	colontmp_ = (*dest_p0).ClE_0;
	{
		if (!src_p1.ClE_0) goto LA3_;
		nimIncRefCyclic(src_p1.ClE_0, cyclic_p2);
	}
LA3_: ;
	(*dest_p0).ClE_0 = src_p1.ClE_0;
	(*dest_p0).ClP_0 = src_p1.ClP_0;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastCyclicDyn(colontmp_);
		if (!T7_) goto LA8_;
		nimDestroyAndDispose(colontmp_);
	}
LA8_: ;
}
