/* Generated by Nim Compiler v2.2.4 */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#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 tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
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__JArSTGkZV9bC6esVaXtV5AQ tyObject_Table__JArSTGkZV9bC6esVaXtV5AQ;
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 RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
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;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
struct tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ {
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* inp;
	tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA state;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	NI indent;
	NI emitPar;
	NimStringV2 x;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* outp;
	NIM_CHAR subsChar;
	NIM_CHAR nimDirective;
	NimStringV2 emit;
	NimStringV2 conc;
	NimStringV2 toStr;
	NI curly;
	NI bracket;
	NI par;
	NIM_BOOL pendingExprLine;
	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;
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__JArSTGkZV9bC6esVaXtV5AQ {
	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__JArSTGkZV9bC6esVaXtV5AQ 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__cEzzaeCrXWo9cfLClsd4c3w[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__cEzzaeCrXWo9cfLClsd4c3w modifiedyNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w cmdlineNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w foreignPackageNotes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w notes;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w warningAsErrors;
	tySet_tyEnum_TMsgKind__cEzzaeCrXWo9cfLClsd4c3w 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;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
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 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
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]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*, eqdup___options_u2140)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p0);
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, newLineInfo__msgs_u436)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1, NI line_p2, NI col_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(NI32, fileInfoIdx__msgs_u404)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, llStreamOpen__llstream_u32)(NimStringV2 data_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, eqdup___llstream_u119)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, charArg__filters_u35)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 name_p2, NI pos_p3, NIM_CHAR default_p4);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, strArg__filters_u55)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NimStringV2 name_p2, NI pos_p3, NimStringV2 default_p4);
N_NIMCALL(NimStringV2, rawNewString)(NI cap_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, llStreamReadLine__llstream_u487)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, NimStringV2* line_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseLine__filter95tmpl_u79)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, newLine__filter95tmpl_u34)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, llStreamWrite__llstream_u511)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, NimStringV2 data_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatChar)(NIM_CHAR c_p0, NI count_p1);
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1138)(NI n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2627)(NimStringV2 dest_p0);
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);
N_LIB_PRIVATE N_NIMCALL(void, scanPar__filter95tmpl_u36)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0, NI d_p1);
static N_INLINE(NIM_BOOL, withInExpr__filter95tmpl_u75)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsWith__llstream_u220)(NimStringV2 x_p0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1726)(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_NOINLINE(void, liMessage__msgs_u1223)(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(NimStringV2, substr__system_u8435)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_u1829)(NimStringV2 s_p0, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHex__pureZstrutils_u2106)(NI x_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(void, llStreamWrite__llstream_u522)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0, NIM_CHAR data_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___llstream_u109)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, llStreamClose__llstream_u214)(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___filter95tmpl_u250)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3465)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3062)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1750)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__paI0W78l0CRDBLjAHJxn6w_2 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_3 = {0, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_2};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__paI0W78l0CRDBLjAHJxn6w_4 = { 8 | NIM_STRLIT_FLAG, "subschar" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_5 = {8, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_4};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__paI0W78l0CRDBLjAHJxn6w_6 = { 8 | NIM_STRLIT_FLAG, "metachar" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_7 = {8, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_6};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_8 = { 4 | NIM_STRLIT_FLAG, "emit" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_9 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_8};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__paI0W78l0CRDBLjAHJxn6w_10 = { 10 | NIM_STRLIT_FLAG, "result.add" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_11 = {10, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_10};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_12 = { 4 | NIM_STRLIT_FLAG, "conc" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_13 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_12};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_14 = { 3 | NIM_STRLIT_FLAG, " & " };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_15 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_14};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__paI0W78l0CRDBLjAHJxn6w_16 = { 8 | NIM_STRLIT_FLAG, "tostring" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_17 = {8, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_16};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__paI0W78l0CRDBLjAHJxn6w_18 = { 1 | NIM_STRLIT_FLAG, "$" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_19 = {1, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_18};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__paI0W78l0CRDBLjAHJxn6w_20 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_21 = {1, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_20};
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_22 = {0, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_2};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__paI0W78l0CRDBLjAHJxn6w_23 = {
0x00, 0x00, 0x00, 0x00, 0x70, 0xbc, 0x00, 0x50,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_24 = { 3 | NIM_STRLIT_FLAG, "end" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_25 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_24};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_26 = { 2 | NIM_STRLIT_FLAG, "if" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_27 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_26};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_28 = { 4 | NIM_STRLIT_FLAG, "when" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_29 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_28};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_30 = { 3 | NIM_STRLIT_FLAG, "try" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_31 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_30};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__paI0W78l0CRDBLjAHJxn6w_32 = { 5 | NIM_STRLIT_FLAG, "while" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_33 = {5, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_32};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_34 = { 3 | NIM_STRLIT_FLAG, "for" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_35 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_34};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__paI0W78l0CRDBLjAHJxn6w_36 = { 5 | NIM_STRLIT_FLAG, "block" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_37 = {5, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_36};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_38 = { 4 | NIM_STRLIT_FLAG, "case" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_39 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_38};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_40 = { 4 | NIM_STRLIT_FLAG, "proc" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_41 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_40};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__paI0W78l0CRDBLjAHJxn6w_42 = { 8 | NIM_STRLIT_FLAG, "iterator" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_43 = {8, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_42};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__paI0W78l0CRDBLjAHJxn6w_44 = { 9 | NIM_STRLIT_FLAG, "converter" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_45 = {9, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_44};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__paI0W78l0CRDBLjAHJxn6w_46 = { 5 | NIM_STRLIT_FLAG, "macro" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_47 = {5, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_46};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__paI0W78l0CRDBLjAHJxn6w_48 = { 8 | NIM_STRLIT_FLAG, "template" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_49 = {8, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_48};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__paI0W78l0CRDBLjAHJxn6w_50 = { 6 | NIM_STRLIT_FLAG, "method" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_51 = {6, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_50};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_52 = { 4 | NIM_STRLIT_FLAG, "func" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_53 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_52};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_54 = { 4 | NIM_STRLIT_FLAG, "elif" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_55 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_54};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_56 = { 2 | NIM_STRLIT_FLAG, "of" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_57 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_56};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_58 = { 4 | NIM_STRLIT_FLAG, "else" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_59 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_58};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__paI0W78l0CRDBLjAHJxn6w_60 = { 6 | NIM_STRLIT_FLAG, "except" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_61 = {6, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_60};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__paI0W78l0CRDBLjAHJxn6w_62 = { 7 | NIM_STRLIT_FLAG, "finally" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_63 = {7, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_62};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_64 = { 3 | NIM_STRLIT_FLAG, "let" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_65 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_64};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_66 = { 3 | NIM_STRLIT_FLAG, "var" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_67 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_66};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__paI0W78l0CRDBLjAHJxn6w_68 = { 5 | NIM_STRLIT_FLAG, "const" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_69 = {5, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_68};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_70 = { 4 | NIM_STRLIT_FLAG, "type" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_71 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_70};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__paI0W78l0CRDBLjAHJxn6w_72 = { 45 | NIM_STRLIT_FLAG, "\'end\' does not close a control flow construct" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_73 = {45, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_72};
static const struct {
  NI cap; NIM_CHAR data[66+1];
} TM__paI0W78l0CRDBLjAHJxn6w_75 = { 66 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/filter_tmpl.nim" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__paI0W78l0CRDBLjAHJxn6w_76 = { 4 | NIM_STRLIT_FLAG, "#end" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_77 = {4, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_76};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__paI0W78l0CRDBLjAHJxn6w_78 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
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__paI0W78l0CRDBLjAHJxn6w_79 = {1, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_20};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__paI0W78l0CRDBLjAHJxn6w_80 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_81 = {1, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_80};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_82 = { 2 | NIM_STRLIT_FLAG, "(\"" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_83 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_82};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_84 = { 2 | NIM_STRLIT_FLAG, "\\x" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_85 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_84};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_86 = { 2 | NIM_STRLIT_FLAG, "\\\\" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_87 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_86};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_88 = { 2 | NIM_STRLIT_FLAG, "\\\'" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_89 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_88};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__paI0W78l0CRDBLjAHJxn6w_90 = { 2 | NIM_STRLIT_FLAG, "\\\"" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_91 = {2, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_90};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__paI0W78l0CRDBLjAHJxn6w_92 = { 20 | NIM_STRLIT_FLAG, "expected closing \'}\'" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_93 = {20, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_92};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__paI0W78l0CRDBLjAHJxn6w_95 = { 18 | NIM_STRLIT_FLAG, "invalid expression" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_96 = {18, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_95};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__paI0W78l0CRDBLjAHJxn6w_98 = { 3 | NIM_STRLIT_FLAG, "\\n\"" };
static const NimStringV2 TM__paI0W78l0CRDBLjAHJxn6w_99 = {3, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_98};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_74 = {{66, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_75},
((NI)91),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_94 = {{66, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_75},
((NI)176),
((NI)24)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__paI0W78l0CRDBLjAHJxn6w_97 = {{66, (NimStrPayload*)&TM__paI0W78l0CRDBLjAHJxn6w_75},
((NI)198),
((NI)24)}
;
extern NIM_BOOL nimInErrorMode__system_u4299;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(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(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4299);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__systemZmemory_u7(p_p0, ((int)0), size_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA, newLineInfo__msgs_u436)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1, NI line_p2, NI col_p3) {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA result;
	NI32 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA));
	T1_ = (NI32)0;
	T1_ = fileInfoIdx__msgs_u404(conf_p0, filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newLineInfo__msgs_u419(T1_, line_p2, col_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, spaces__pureZstrutils_u1138)(NI n_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nsuRepeatChar(32, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, newLine__filter95tmpl_u34)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0) {
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = nsuRepeatChar(41, ((*p_p0).emitPar));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	llStreamWrite__llstream_u511((*p_p0).outp, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*p_p0).emitPar = ((NI)0);
	{
		if (!((NU16)(((NU16)1)) < (NU16)((*p_p0).info.line))) goto LA4_;
		llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_21);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		NimStringV2 colontmpD__2;
		if (!(*p_p0).pendingExprLine) goto LA8_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__2 = spaces__pureZstrutils_u1138(((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		(*p_p0).pendingExprLine = NIM_FALSE;
		{
			LA10_:;
		}
		{
			eqdestroy___system_u2627(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA8_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2627(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(void, scanPar__filter95tmpl_u36)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0, NI d_p1) {
	NI i_1;
	i_1 = d_p1;
	{
		while (1) {
			if (!(i_1 < (*p_p0).x.len)) goto LA2;
			switch (((NU8)((*p_p0).x.p->data[i_1]))) {
			case 40:
			{
				(*p_p0).par += ((NI)1);
			}
			break;
			case 41:
			{
				(*p_p0).par -= ((NI)1);
			}
			break;
			case 91:
			{
				(*p_p0).bracket += ((NI)1);
			}
			break;
			case 93:
			{
				(*p_p0).bracket -= ((NI)1);
			}
			break;
			case 123:
			{
				(*p_p0).curly += ((NI)1);
			}
			break;
			case 125:
			{
				(*p_p0).curly -= ((NI)1);
			}
			break;
			default:
			{
			}
			break;
			}
			i_1 += ((NI)1);
		} LA2: ;
	}
}
static N_INLINE(NIM_BOOL, withInExpr__filter95tmpl_u75)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = (((NI)0) < (*p_p0).par);
	if (T2_) goto LA3_;
	T2_ = (((NI)0) < (*p_p0).bracket);
LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T1_ = (((NI)0) < (*p_p0).curly);
LA4_: ;
	result = T1_;
	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_u1726)(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_u1726(((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, parseLine__filter95tmpl_u79)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* p_p0) {
	NI j_1;
	NI len_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	j_1 = ((NI)0);
	len_1 = (*p_p0).x.len;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = (j_1 < len_1);
			if (!(T3_)) goto LA4_;
			T3_ = ((NU8)((*p_p0).x.p->data[j_1]) == (NU8)(32));
LA4_: ;
			if (!T3_) goto LA2;
			j_1 += ((NI)1);
		} LA2: ;
	}
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = (((NI)2) <= len_1);
		if (!(T8_)) goto LA9_;
		T8_ = ((NU8)((*p_p0).x.p->data[((NI)0)]) == (NU8)((*p_p0).nimDirective));
LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		T7_ = ((NU8)((*p_p0).x.p->data[((NI)1)]) == (NU8)(63));
LA10_: ;
		if (!T7_) goto LA11_;
		newLine__filter95tmpl_u34(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA11_: ;
	{
		NIM_BOOL T14_;
		NimStringV2 keyw_1;
		NI d_1;
		NIM_BOOL T27_;
		T14_ = (NIM_BOOL)0;
		T14_ = (j_1 < len_1);
		if (!(T14_)) goto LA15_;
		T14_ = ((NU8)((*p_p0).x.p->data[j_1]) == (NU8)((*p_p0).nimDirective));
LA15_: ;
		if (!T14_) goto LA16_;
		keyw_1.len = 0; keyw_1.p = NIM_NIL;
		newLine__filter95tmpl_u34(p_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		j_1 += ((NI)1);
		{
			while (1) {
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = (j_1 < len_1);
				if (!(T21_)) goto LA22_;
				T21_ = ((NU8)((*p_p0).x.p->data[j_1]) == (NU8)(32));
LA22_: ;
				if (!T21_) goto LA20;
				j_1 += ((NI)1);
			} LA20: ;
		}
		d_1 = j_1;
		keyw_1 = TM__paI0W78l0CRDBLjAHJxn6w_22;
		{
			while (1) {
				NIM_BOOL T25_;
				T25_ = (NIM_BOOL)0;
				T25_ = (j_1 < len_1);
				if (!(T25_)) goto LA26_;
				T25_ = (((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(97)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(122)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(65)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(90)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(48)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(57)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(128)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(255)) || ((NU8)((*p_p0).x.p->data[j_1])) == ((NU8)(46)) || ((NU8)((*p_p0).x.p->data[j_1])) == ((NU8)(95)));
LA26_: ;
				if (!T25_) goto LA24;
				nimAddCharV1((&keyw_1), (*p_p0).x.p->data[j_1]);
				j_1 += ((NI)1);
			} LA24: ;
		}
		scanPar__filter95tmpl_u36(p_p0, j_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		T27_ = (NIM_BOOL)0;
		T27_ = withInExpr__filter95tmpl_u75((&(*p_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		if (T27_) goto LA28_;
		T27_ = endsWith__llstream_u220((*p_p0).x, TM__paI0W78l0CRDBLjAHJxn6w_23);
		if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
LA28_: ;
		(*p_p0).pendingExprLine = T27_;
		switch (hashString(keyw_1) & 31) {
		case 1: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_33)) goto LA30_;
break;
		case 3: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_57)) goto LA31_;
break;
		case 6: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_39)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_47)) goto LA30_;
break;
		case 7: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_27)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_51)) goto LA30_;
break;
		case 9: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_61)) goto LA31_;
break;
		case 10: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_41)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_65)) goto LA32_;
break;
		case 12: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_67)) goto LA32_;
break;
		case 16: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_29)) goto LA30_;
break;
		case 17: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_43)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_55)) goto LA31_;
break;
		case 18: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_49)) goto LA30_;
break;
		case 19: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_35)) goto LA30_;
break;
		case 21: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_59)) goto LA31_;
break;
		case 23: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_25)) goto LA29_;
break;
		case 24: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_45)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_63)) goto LA31_;
break;
		case 26: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_69)) goto LA32_;
break;
		case 27: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_31)) goto LA30_;
break;
		case 29: 
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_37)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_53)) goto LA30_;
if (eqStrings(keyw_1, TM__paI0W78l0CRDBLjAHJxn6w_71)) goto LA32_;
break;
		}
		goto LA33_;
		LA29_: ;
		{
			NimStringV2 colontmpD_;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			{
				if (!(((NI)2) <= (*p_p0).indent)) goto LA39_;
				(*p_p0).indent -= ((NI)2);
			}
			goto LA37_;
LA39_: ;
			{
				(*p_p0).info.col = ((NI16) (j_1));
				liMessage__msgs_u1223((*p_p0).config, (*p_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__paI0W78l0CRDBLjAHJxn6w_73, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__paI0W78l0CRDBLjAHJxn6w_74), NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			}
LA37_: ;
			colontmpD_ = spaces__pureZstrutils_u1138(((*p_p0).indent));
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_77);
			if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
			{
				LA36_:;
			}
			{
				eqdestroy___system_u2627(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA34_;
		LA30_: ;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__2 = spaces__pureZstrutils_u1138(((*p_p0).indent));
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			colontmpD__3 = substr__system_u8435((*p_p0).x, d_1);
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			(*p_p0).indent += ((NI)2);
			{
				LA45_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__3);
				eqdestroy___system_u2627(colontmpD__2);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA34_;
		LA31_: ;
		{
			NimStringV2 colontmpD__4;
			NimStringV2 colontmpD__5;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__4 = spaces__pureZstrutils_u1138(((NI)((*p_p0).indent - ((NI)2))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			colontmpD__5 = substr__system_u8435((*p_p0).x, d_1);
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
			{
				LA49_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__5);
				eqdestroy___system_u2627(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA34_;
		LA32_: ;
		{
			NimStringV2 colontmpD__6;
			NimStringV2 colontmpD__7;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__6 = spaces__pureZstrutils_u1138(((*p_p0).indent));
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			colontmpD__7 = substr__system_u8435((*p_p0).x, d_1);
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
			{
				NIM_BOOL T56_;
				T56_ = (NIM_BOOL)0;
				T56_ = contains__pureZstrutils_u1829((*p_p0).x, TM__paI0W78l0CRDBLjAHJxn6w_78);
				if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
				if (!!(T56_)) goto LA57_;
				(*p_p0).indent += ((NI)2);
			}
LA57_: ;
			{
				LA53_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__7);
				eqdestroy___system_u2627(colontmpD__6);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
		goto LA34_;
		LA33_: ;
		{
			NimStringV2 colontmpD__8;
			NimStringV2 colontmpD__9;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			colontmpD__8 = spaces__pureZstrutils_u1138(((*p_p0).indent));
			if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
			colontmpD__9 = substr__system_u8435((*p_p0).x, d_1);
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
			{
				LA62_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__9);
				eqdestroy___system_u2627(colontmpD__8);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
		}
LA34_: ;
		(*p_p0).state = ((tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA)0);
		{
			LA18_:;
		}
		{
			eqdestroy___system_u2627(keyw_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA16_: ;
	{
		(*p_p0).par = ((NI)0);
		(*p_p0).curly = ((NI)0);
		(*p_p0).bracket = ((NI)0);
		j_1 = ((NI)0);
		switch ((*p_p0).state) {
		case ((tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA)1):
		{
			NimStringV2 colontmpD__10;
			colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
			llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).conc);
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
			llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_79);
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
			colontmpD__10 = spaces__pureZstrutils_u1138(((NI)((*p_p0).indent + ((NI)2))));
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
			llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_81);
			if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
			{
				LA69_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__10);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA)0):
		{
			NimStringV2 colontmpD__11;
			colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
			newLine__filter95tmpl_u34(p_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			colontmpD__11 = spaces__pureZstrutils_u1138(((*p_p0).indent));
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__11);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).emit);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_83);
			if (NIM_UNLIKELY(*nimErr_)) goto LA73_;
			(*p_p0).emitPar += ((NI)1);
			{
				LA73_:;
			}
			{
				eqdestroy___system_u2627(colontmpD__11);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default: __builtin_unreachable();
		}
		(*p_p0).state = ((tyEnum_TParseState__ZYWCgMvAvKcFYbBvB7x1rA)1);
		{
			while (1) {
				if (!(j_1 < len_1)) goto LA77;
				switch (((NU8)((*p_p0).x.p->data[j_1]))) {
				case 1 ... 31:
				case 128 ... 255:
				{
					NimStringV2 colontmpD__12;
					colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
					llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_85);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
					colontmpD__12 = toHex__pureZstrutils_u2106(((NU8)((*p_p0).x.p->data[j_1])), ((NI)2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
					llStreamWrite__llstream_u511((*p_p0).outp, colontmpD__12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA79_;
					j_1 += ((NI)1);
					{
						LA79_:;
					}
					{
						eqdestroy___system_u2627(colontmpD__12);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				break;
				case 92:
				{
					llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_87);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					j_1 += ((NI)1);
				}
				break;
				case 39:
				{
					llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_89);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					j_1 += ((NI)1);
				}
				break;
				case 34:
				{
					llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_91);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					j_1 += ((NI)1);
				}
				break;
				default:
				{
					{
						if (!((NU8)((*p_p0).x.p->data[j_1]) == (NU8)((*p_p0).subsChar))) goto LA88_;
						j_1 += ((NI)1);
						switch (((NU8)((*p_p0).x.p->data[j_1]))) {
						case 123:
						{
							NI curly_1;
							(*p_p0).info.col = ((NI16) (j_1));
							llStreamWrite__llstream_u522((*p_p0).outp, 34);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).conc);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).toStr);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u522((*p_p0).outp, 40);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							j_1 += ((NI)1);
							curly_1 = ((NI)0);
							{
								while (1) {
									if (!(j_1 < len_1)) goto LA92;
									switch (((NU8)((*p_p0).x.p->data[j_1]))) {
									case 123:
									{
										j_1 += ((NI)1);
										curly_1 += ((NI)1);
										llStreamWrite__llstream_u522((*p_p0).outp, 123);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									}
									break;
									case 125:
									{
										j_1 += ((NI)1);
										{
											if (!(curly_1 == ((NI)0))) goto LA97_;
											goto LA91;
										}
LA97_: ;
										{
											if (!(((NI)0) < curly_1)) goto LA101_;
											curly_1 -= ((NI)1);
										}
LA101_: ;
										llStreamWrite__llstream_u522((*p_p0).outp, 125);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									}
									break;
									default:
									{
										llStreamWrite__llstream_u522((*p_p0).outp, (*p_p0).x.p->data[j_1]);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										j_1 += ((NI)1);
									}
									break;
									}
								} LA92: ;
							} LA91: ;
							{
								if (!(((NI)0) < curly_1)) goto LA106_;
								liMessage__msgs_u1223((*p_p0).config, (*p_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__paI0W78l0CRDBLjAHJxn6w_93, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__paI0W78l0CRDBLjAHJxn6w_94), NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto LA76;
							}
LA106_: ;
							llStreamWrite__llstream_u522((*p_p0).outp, 41);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).conc);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u522((*p_p0).outp, 34);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						break;
						case 97 ... 122:
						case 65 ... 90:
						case 128 ... 255:
						{
							llStreamWrite__llstream_u522((*p_p0).outp, 34);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).conc);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).toStr);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u522((*p_p0).outp, 40);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							{
								while (1) {
									NIM_BOOL T111_;
									T111_ = (NIM_BOOL)0;
									T111_ = (j_1 < len_1);
									if (!(T111_)) goto LA112_;
									T111_ = (((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(97)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(122)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(65)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(90)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(48)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(57)) || ((NU8)((*p_p0).x.p->data[j_1])) >= ((NU8)(128)) && ((NU8)((*p_p0).x.p->data[j_1])) <= ((NU8)(255)) || ((NU8)((*p_p0).x.p->data[j_1])) == ((NU8)(46)) || ((NU8)((*p_p0).x.p->data[j_1])) == ((NU8)(95)));
LA112_: ;
									if (!T111_) goto LA110;
									llStreamWrite__llstream_u522((*p_p0).outp, (*p_p0).x.p->data[j_1]);
									if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									j_1 += ((NI)1);
								} LA110: ;
							}
							llStreamWrite__llstream_u522((*p_p0).outp, 41);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u511((*p_p0).outp, (*p_p0).conc);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							llStreamWrite__llstream_u522((*p_p0).outp, 34);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
						break;
						default:
						{
							{
								if (!((NU8)((*p_p0).x.p->data[j_1]) == (NU8)((*p_p0).subsChar))) goto LA116_;
								llStreamWrite__llstream_u522((*p_p0).outp, (*p_p0).subsChar);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								j_1 += ((NI)1);
							}
							goto LA114_;
LA116_: ;
							{
								(*p_p0).info.col = ((NI16) (j_1));
								liMessage__msgs_u1223((*p_p0).config, (*p_p0).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), TM__paI0W78l0CRDBLjAHJxn6w_96, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), (&TM__paI0W78l0CRDBLjAHJxn6w_97), NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							}
LA114_: ;
						}
						break;
						}
					}
					goto LA86_;
LA88_: ;
					{
						llStreamWrite__llstream_u522((*p_p0).outp, (*p_p0).x.p->data[j_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						j_1 += ((NI)1);
					}
LA86_: ;
				}
				break;
				}
			} LA77: ;
		} LA76: ;
		llStreamWrite__llstream_u511((*p_p0).outp, TM__paI0W78l0CRDBLjAHJxn6w_99);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	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)16));
		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 -= ((NI)16);
		}
LA6_: ;
		rememberCycle__system_u3465(result, cell_1, (*((TNimTypeV2**) (p_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	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)16));
		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 -= ((NI)16);
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3062(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___filter95tmpl_u250)(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicDyn((*dest_p0).inp);
		if (!T3_) goto LA4_;
		nimDestroyAndDispose((*dest_p0).inp);
	}
LA4_: ;
	eqdestroy___system_u2627((*dest_p0).x);
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastCyclicDyn((*dest_p0).outp);
		if (!T8_) goto LA9_;
		nimDestroyAndDispose((*dest_p0).outp);
	}
LA9_: ;
	eqdestroy___system_u2627((*dest_p0).emit);
	eqdestroy___system_u2627((*dest_p0).conc);
	eqdestroy___system_u2627((*dest_p0).toStr);
	{
		NIM_BOOL T13_;
		T13_ = (NIM_BOOL)0;
		T13_ = nimDecRefIsLastDyn((*dest_p0).config);
		if (!T13_) goto LA14_;
		eqdestroy___options_u1750((&(*(*dest_p0).config)));
		nimRawDispose((*dest_p0).config, ((NI)8));
	}
LA14_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg*, filterTmpl__filter95tmpl_u230)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* stdin_p1, NimStringV2 filename_p2, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* call_p3) {
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* result;
	tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ p_1;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* colontmpD_;
	tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ));
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	nimZeroMem((void*)(&p_1), sizeof(tyObject_TTmplParser__H42GPUQd8Dls00RKLK1EIQ));
	colontmpD_ = eqdup___options_u2140(conf_p0);
	p_1.config = colontmpD_;
	p_1.info = newLineInfo__msgs_u436(conf_p0, filename_p2, ((NI)0), ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.outp = llStreamOpen__llstream_u32(TM__paI0W78l0CRDBLjAHJxn6w_3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = eqdup___llstream_u119(stdin_p1, NIM_TRUE);
	p_1.inp = colontmpD__2;
	p_1.subsChar = charArg__filters_u35(conf_p0, call_p3, TM__paI0W78l0CRDBLjAHJxn6w_5, ((NI)1), 36);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.nimDirective = charArg__filters_u35(conf_p0, call_p3, TM__paI0W78l0CRDBLjAHJxn6w_7, ((NI)2), 35);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.emit = strArg__filters_u55(conf_p0, call_p3, TM__paI0W78l0CRDBLjAHJxn6w_9, ((NI)3), TM__paI0W78l0CRDBLjAHJxn6w_11);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.conc = strArg__filters_u55(conf_p0, call_p3, TM__paI0W78l0CRDBLjAHJxn6w_13, ((NI)4), TM__paI0W78l0CRDBLjAHJxn6w_15);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.toStr = strArg__filters_u55(conf_p0, call_p3, TM__paI0W78l0CRDBLjAHJxn6w_17, ((NI)5), TM__paI0W78l0CRDBLjAHJxn6w_19);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	p_1.x = rawNewString(((NI)120));
	{
		tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T4_;
		NIM_BOOL T5_;
		T4_ = NIM_NIL;
		T4_ = p_1.inp;
		T5_ = (NIM_BOOL)0;
		T5_ = llStreamReadLine__llstream_u487(T4_, (&p_1.x));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T5_) goto LA6_;
		p_1.info.line += ((NI)1);
	}
LA6_: ;
	{
		while (1) {
			tyObject_TLLStream__FoDsO8lsQbcCVaLehnuOYg* T10_;
			NIM_BOOL T11_;
			T10_ = NIM_NIL;
			T10_ = p_1.inp;
			T11_ = (NIM_BOOL)0;
			T11_ = llStreamReadLine__llstream_u487(T10_, (&p_1.x));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T11_) goto LA9;
			p_1.info.line += ((NI)1);
			parseLine__filter95tmpl_u79((&p_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		} LA9: ;
	}
	newLine__filter95tmpl_u34((&p_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = p_1.outp;
	eqwasMoved___llstream_u109(&p_1.outp);
	llStreamClose__llstream_u214(p_1.inp);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___filter95tmpl_u250((&p_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
