/* Generated by Nim Compiler v1.6.6 */
#define NIM_INTBITS 64

#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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg;
typedef struct tySequence__0W45b4tBLx0JWnu0NjAmVQ tySequence__0W45b4tBLx0JWnu0NjAmVQ;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
typedef struct tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA;
typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
typedef struct tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
typedef struct RootObj RootObj;
typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
struct tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg {
NI indent;
NI lineLen;
NI col;
NI pos;
NI idx;
tySequence__0W45b4tBLx0JWnu0NjAmVQ* tokens;
NimStringDesc* buf;
NI pendingNL;
NI pendingWhitespace;
tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* comStack;
tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw flags;
NIM_BOOL inGenericParams;
NIM_BOOL checkAnon;
NI inPragma;
NI32 fid;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tySequence__eHqUwlHGGaPw0TDPDeL79cQ* mangler;
};
typedef NU8 tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ;
struct tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA {
tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind;
NI16 length;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
};
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU8 tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA[11];
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
NimStringDesc* unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
NimStringDesc* cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA modifiedyNotes;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA cmdlineNotes;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA foreignPackageNotes;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA notes;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA warningAsErrors;
tySet_tyEnum_TMsgKind__0i9asqIc9c4yR029cWipkGoaA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* jsonBuildFile;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
NimStringDesc* nimMainPrefix;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
} _kind_4;
struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
};
typedef NU8 tySet_tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ;
struct tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw {
NI Field0;
tySet_tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ Field1;
};
typedef NU8 tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
NI id;
NimStringDesc* s;
tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
NI h;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
  RootObj Sup;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
  tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_1;
struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
  tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
};
typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g;
typedef NU8 tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ;
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
NimStringDesc* customArgs;
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__0W45b4tBLx0JWnu0NjAmVQ {
  TGenericSeq Sup;
  tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA data[SEQ_DECL_SIZE];
};
struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
  TGenericSeq Sup;
  tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
};
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
  TGenericSeq Sup;
  tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, initSrcGen__renderer_101)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*, newPartialConfigRef__options_2497)(void);
N_LIB_PRIVATE N_NIMCALL(void, gstmts__renderer_1013)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent);
N_LIB_PRIVATE N_NIMCALL(void, indentNL__renderer_203)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_199)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_197)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_194)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_846)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL fromStmtList);
N_LIB_PRIVATE N_NIMCALL(void, initContext__renderer_830)(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw* c);
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_841)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL fromStmtList);
static N_INLINE(NIM_BOOL, shouldRenderComment__renderer_374)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, shouldRenderComment__renderer_362)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, pushCom__renderer_337)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
static N_INLINE(void, X5BX5Deq___renderer_347)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
N_LIB_PRIVATE N_NIMCALL(void, put__renderer_226)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(void, addPendingNL__renderer_157)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, addTok__renderer_131)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom__renderer_495)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted__pureZos_449)(NimStringDesc** s, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
static N_INLINE(void, addEscapedChar__system_7485)(NimStringDesc** s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux__renderer_416)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skip__renderer_422)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToBin)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToOct)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__renderer_468)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux__renderer_473)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_9)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, gident__renderer_1297)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, disamb__renderer_49)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, accentedName__renderer_1467)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getPIdent__ast_3056)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
N_LIB_PRIVATE N_NIMCALL(void, gcomma__renderer_953)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gcommaAux__renderer_901)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ separator);
N_LIB_PRIVATE N_NIMCALL(NI, lsub__renderer_413)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL__renderer_329)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, lcomma__renderer_549)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(NI, lsons__renderer_584)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits__renderer_811)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHideable__renderer_879)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(void, putWithSpace__renderer_875)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom__renderer_860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcoms__renderer_394)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, gcom__renderer_378)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_CHAR*, X5BX5D___system_7362)(NimStringDesc** s, NI i);
N_LIB_PRIVATE N_NIMCALL(NI, maxLineLength__renderer_280)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, putComment__renderer_247)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, popAllComs__renderer_355)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_1403)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g, bracketKind__renderer_1423)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcomma__renderer_941)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCustomLit__renderer_1521)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix);
N_LIB_PRIVATE N_NIMCALL(void, doParamsAux__renderer_1388)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
N_LIB_PRIVATE N_NIMCALL(void, gsemicolon__renderer_959)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, infixArgument__renderer_1484)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes__renderer_1444)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence__lexer_1792)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_73)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAlpha__renderer_1828)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStrVal__renderer_1825)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcond__renderer_1043)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsons__renderer_965)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, dedent__renderer_209)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL__renderer_192)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL__renderer_160)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gif__renderer_1054)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode__renderer_998)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gwhile__renderer_1077)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock__renderer_1097)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcase__renderer_1146)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gtry__renderer_1108)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gfor__renderer_1118)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gblock__renderer_1257)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt__renderer_1279)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gasm__renderer_1289)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gproc__renderer_1195)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName__renderer_88)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL noQuotes);
static N_INLINE(void, genSymSuffix__renderer_1182)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
N_LIB_PRIVATE N_NIMCALL(void, gpattern__renderer_1088)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsection__renderer_980)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* k);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams__renderer_2052)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy__renderer_1249)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_389)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7744)(NimStringDesc* s, NI first, NI last);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_2, "<nil tree>", 10);
extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
N_LIB_PRIVATE TNimType NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_;
extern TNimType NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_;
extern TNimType NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_;
extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
N_LIB_PRIVATE TNimType NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_4, "\012", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_5, "r\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_6, "\"", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_7, "\"\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_8, "\"\"\"", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_9, "\'", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_10, "\\a", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_11, "\\b", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_12, "\\t", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_13, "\\n", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_14, "\\v", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_15, "\\f", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_16, "\\r", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_17, "\\e", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_18, "\\\\", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_19, "\\\'", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_20, "\\\"", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_21, "\\x", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_22, "0123456789ABCDEF", 16);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_23, "0b", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_24, "0o", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_25, "0x", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_26, "\'i8", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_27, "\'i16", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_28, "\'i32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_29, "\'i64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_30, "\'u", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_31, "\'u8", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_32, "\'u16", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_33, "\'u32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_34, "\'u64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_35, "\'f32", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_36, "\'f64", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_37, "nil", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_38, "[type node]", 11);
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_281;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_39, "renderer.atom ", 14);
extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_41, "/home/runner/work/nightlies/nightlies/nim/compiler/renderer.nim", 63);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_40 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 415),
((NI) 17)}
;
extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_42, "_cursor", 7);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__1E0z9biZTE3PahFHulMjtyw_43 = {
0x00, 0x00, 0x00, 0x00, 0xf2, 0xec, 0x00, 0xf4,
0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_44, "`", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_45, "(", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_47, "raises", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_48, "tags", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_49, "extern", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_50, "deprecated", 10);
static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__1E0z9biZTE3PahFHulMjtyw_46 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_47),
((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_48),
((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_49),
((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_50)}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_52, "gcsafe", 6);
static NIM_CONST tyArray__Re75IspeoxXy2oCZHwcRrA TM__1E0z9biZTE3PahFHulMjtyw_51 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_52),
((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_50)}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_53, " ", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_54, "## ", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_55, ")", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_56, ":", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_57, "do", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_58, "<<", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_59, "th child missing for ", 21);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_60, " >>", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_61, "[]", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_62, "[]=", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_63, "{}", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_64, "{}=", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_65, "[", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_66, "]", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_67, "=", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_68, "{", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_69, "}", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_70, "(wrong conv)", 12);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_71, "cast", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_72, "addr", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_73, "static", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_74, ",", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_75, "chckRangeF", 10);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_76, "chckRange64", 11);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_77, "chckRange", 9);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_78, "|", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_79, ".", 1);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_80, "|...)", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_81, "bind", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_82, "proc", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_83, "->", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_84, "..", 2);
static NIM_CONST tyArray__Re75IspeoxXy2oCZHwcRrA TM__1E0z9biZTE3PahFHulMjtyw_85 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67),
((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_9)}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_86, "if", 2);
static NIM_CONST tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw TM__1E0z9biZTE3PahFHulMjtyw_87 = {((NI) 0),
0}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_88, " elif", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_89, " else", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_90, "typeof", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_91, "ref", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_92, "ptr", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_93, "var", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_94, "distinct", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_95, " with", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_96, " without", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_97, "object", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_98, "of", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_99, "iterator", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_100, "enum", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_101, "when", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_102, "while", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_103, "case", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_104, "try", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_105, "for", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_106, "in", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_107, "block", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_108, "asm", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_109, "func", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_110, "converter", 9);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_111, "method", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_112, "macro", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_113, "template", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_114, "type", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_115, "const", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_116, "let", 3);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_117, "using", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_118, "return", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_119, "raise", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_120, "yield", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_121, "discard", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_122, "break", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_123, "continue", 8);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_124, "{.", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_125, ".}", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_126, "import", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_127, "export", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_128, "except", 6);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_129, "from", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_130, "include", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_131, "as", 2);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_132, "mixin", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_133, "elif", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_134, "else", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_135, "finally", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_136, "defer", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_137, "tuple", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_138, "(ComesFrom|", 11);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_139, "goto", 4);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_140, "state", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_141, "breakstate", 10);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_142, "concept", 7);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_143, "error", 5);
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_144, "renderer.gsub(", 14);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_145 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 1704),
((NI) 17)}
;
STRING_LITERAL(TM__1E0z9biZTE3PahFHulMjtyw_146, "cannot open file: ", 18);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__1E0z9biZTE3PahFHulMjtyw_147 = {((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_41),
((NI) 1742),
((NI) 14)}
;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(void, initSrcGen__renderer_101)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config) {
	unsureAsgnRef((void**) (&(*g).comStack), NIM_NIL);
	unsureAsgnRef((void**) (&(*g).tokens), NIM_NIL);
	(*g).indent = ((NI) 0);
	(*g).lineLen = ((NI) 0);
	(*g).pos = ((NI) 0);
	(*g).idx = ((NI) 0);
	unsureAsgnRef((void**) (&(*g).buf), ((NimStringDesc*) NIM_NIL));
	(*g).flags = renderFlags;
	(*g).pendingNL = ((NI) -1);
	(*g).pendingWhitespace = ((NI) -1);
	(*g).inGenericParams = NIM_FALSE;
	unsureAsgnRef((void**) (&(*g).config), config);
}
N_LIB_PRIVATE N_NIMCALL(void, indentNL__renderer_203)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	(*g).indent += ((NI) 2);
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
}
static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_199)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
	(*g).col = (*g).indent;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_194)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
	(*g).col = (*g).indent;
}
N_LIB_PRIVATE N_NIMCALL(void, optNL__renderer_197)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	optNL__renderer_194(g, (*g).indent);
}
N_LIB_PRIVATE N_NIMCALL(void, initContext__renderer_830)(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw* c) {
	(*c).Field0 = ((NI) 0);
	(*c).Field1 = 0;
}
static N_INLINE(NIM_BOOL, shouldRenderComment__renderer_362)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = !((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 2))&15U)))!=0));
	if (T1_) goto LA2_;
	T1_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 3))&15U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, shouldRenderComment__renderer_374)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NimStringDesc* T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = shouldRenderComment__renderer_362(g);
	if (!(T1_)) goto LA2_;
	T3_ = NIM_NIL;
	T3_ = comment__ast_993(n);
	T1_ = (((NI) 0) < (T3_ ? T3_->Sup.len : 0));
	LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, X5BX5Deq___renderer_347)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
	unsureAsgnRef((void**) (&s[(NI)(sLen_0 - i)]), x);
}
N_LIB_PRIVATE N_NIMCALL(void, pushCom__renderer_337)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI T1_;
	T1_ = ((*g).comStack ? (*g).comStack->Sup.len : 0);
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(T1_ + ((NI) 1))))));
	X5BX5Deq___renderer_347((*g).comStack->data, ((*g).comStack ? (*g).comStack->Sup.len : 0), ((NI) 1), n);
}
static N_NIMCALL(void, Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op) {
	tySequence__0W45b4tBLx0JWnu0NjAmVQ* a;
	NI T1_;
	a = (tySequence__0W45b4tBLx0JWnu0NjAmVQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].sym, op);
	}
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__system_5265((&gch__system_5218.zct), c);
}
static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5314(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__system_5271(src);
		incRef__system_5309(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__system_5271((*dest));
		decRef__system_5316(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addTok__renderer_131)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA T1_;
	NI T2_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA));
	T1_.kind = kind;
	T1_.length = ((NI16) ((s ? s->Sup.len : 0)));
	T1_.sym = sym;
	unsureAsgnRef((void**) (&(*g).tokens), (tySequence__0W45b4tBLx0JWnu0NjAmVQ*) incrSeqV3((TGenericSeq*)((*g).tokens), (&NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_)));
	T2_ = (*g).tokens->Sup.len++;
	(*g).tokens->data[T2_].kind = T1_.kind;
	(*g).tokens->data[T2_].length = T1_.length;
	asgnRef((void**) (&(*g).tokens->data[T2_].sym), T1_.sym);
	unsureAsgnRef((void**) (&(*g).buf), resizeString((*g).buf, (s ? s->Sup.len : 0) + 0));
appendString((*g).buf, s);
	{
		if (!!((kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113)))) goto LA5_;
		(*g).col += (s ? s->Sup.len : 0);
	}
	LA5_: ;
}
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addPendingNL__renderer_157)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		T5_ = NIM_NIL;
		T6_ = NIM_NIL;
		T6_ = spaces__pureZstrutils_1029(((NI) ((*g).pendingNL)));
		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 1);
appendString(T5_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_4));
appendString(T5_, T6_);
		addTok__renderer_131(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), T5_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		(*g).lineLen = (*g).pendingNL;
		(*g).col = (*g).pendingNL;
		(*g).pendingNL = ((NI) -1);
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T10_;
		if (!(((NI) 0) <= (*g).pendingWhitespace)) goto LA8_;
		T10_ = NIM_NIL;
		T10_ = spaces__pureZstrutils_1029(((NI) ((*g).pendingWhitespace)));
		addTok__renderer_131(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), T10_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA8_: ;
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, put__renderer_226)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
	{
		if (!!((kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113)))) goto LA3_;
		addPendingNL__renderer_157(g);
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = (((NI) 0) < (s ? s->Sup.len : 0));
			if (T7_) goto LA8_;
			T7_ = (kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 117) || kind == ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 118));
			LA8_: ;
			if (!T7_) goto LA9_;
			addTok__renderer_131(g, kind, s, sym);
		}
		LA9_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		(*g).pendingWhitespace = (s ? s->Sup.len : 0);
		(*g).col += (s ? s->Sup.len : 0);
	}
	LA1_: ;
	(*g).lineLen += (s ? s->Sup.len : 0);
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
static N_INLINE(void, addEscapedChar__system_7485)(NimStringDesc** s, NIM_CHAR c) {
	switch (((NU8)(c))) {
	case 7:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_10));
	}
	break;
	case 8:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_11));
	}
	break;
	case 9:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_12));
	}
	break;
	case 10:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_13));
	}
	break;
	case 11:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_14));
	}
	break;
	case 12:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_15));
	}
	break;
	case 13:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_16));
	}
	break;
	case 27:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_17));
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_18));
	}
	break;
	case 39:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_19));
	}
	break;
	case 34:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_20));
	}
	break;
	case 32 ... 33:
	case 35 ... 38:
	case 40 ... 91:
	case 93 ... 126:
	{
		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
	}
	break;
	default:
	{
		NI n;
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_21));
		n = ((NU8)(c));
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_22)->data[(NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))]));
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_22)->data[(NI)(n & ((NI) 15))]));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skip__renderer_422)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
	result = NIM_NIL;
	result = t;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			if (!(T3_)) goto LA4_;
			T3_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
			LA4_: ;
			if (!T3_) goto LA2;
			result = lastSon__ast_3743(result);
		} LA2: ;
	}
	return result;
}
static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len__ast_3198(n);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux__renderer_416)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
{	result = NIM_NIL;
	typ = skip__renderer_422((*n).typ);
	{
		NIM_BOOL T3_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* enumfields;
		T3_ = (NIM_BOOL)0;
		T3_ = !((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NimStringDesc* T11_;
			if (!(((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA9_;
			T11_ = NIM_NIL;
			T11_ = rawNewString(((*(*(*typ).sym).name).s ? (*(*(*typ).sym).name).s->Sup.len : 0) + 1);
appendString(T11_, (*(*(*typ).sym).name).s);
appendChar(T11_, 46);
			result = T11_;
		}
		LA9_: ;
		enumfields = (*typ).n;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
			e = NIM_NIL;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_3191(enumfields);
				i_2 = ((NI) 0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA15;
						i = i_2;
						e = (*enumfields)._kind_6.sons->data[i];
						{
							if (!(((NI64) ((*(*e)._kind_4.sym).position)) == x)) goto LA18_;
							result = resizeString(result, ((*(*(*e)._kind_4.sym).name).s ? (*(*(*e)._kind_4.sym).name).s->Sup.len : 0) + 0);
appendString(result, (*(*(*e)._kind_4.sym).name).s);
							goto BeforeRet_;
						}
						LA18_: ;
						i_2 += ((NI) 1);
					} LA15: ;
				}
			}
		}
	}
	LA5_: ;
	{
		NimStringDesc* T24_;
		NimStringDesc* T25_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA22_;
		T24_ = NIM_NIL;
		T25_ = NIM_NIL;
		T25_ = nsuToBin(x, ((NI) ((NI)(size * ((NI) 8)))));
		T24_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 2);
appendString(T24_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_23));
appendString(T24_, T25_);
		result = T24_;
	}
	goto LA20_;
	LA22_: ;
	{
		NI64 y;
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA27_;
		{
			if (!(size < ((NI) 8))) goto LA31_;
			y = (NI64)(x & (NI64)((NI64)((NU64)(IL64(1)) << (NU64)((NI)(size * ((NI) 8)))) - IL64(1)));
		}
		goto LA29_;
		LA31_: ;
		{
			y = x;
		}
		LA29_: ;
		T34_ = NIM_NIL;
		T35_ = NIM_NIL;
		T35_ = nsuToOct(y, ((NI) ((NI)(size * ((NI) 3)))));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 2);
appendString(T34_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_24));
appendString(T34_, T35_);
		result = T34_;
	}
	goto LA20_;
	LA27_: ;
	{
		NimStringDesc* T39_;
		NimStringDesc* T40_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA37_;
		T39_ = NIM_NIL;
		T40_ = NIM_NIL;
		T40_ = toHex__renderer_468(x, ((NI) ((NI)(size * ((NI) 2)))));
		T39_ = rawNewString((T40_ ? T40_->Sup.len : 0) + 2);
appendString(T39_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_25));
appendString(T39_, T40_);
		result = T39_;
	}
	goto LA20_;
	LA37_: ;
	{
		result = dollar___systemZdollars_6(x);
	}
	LA20_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux__renderer_473)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA3_;
		T5_ = NIM_NIL;
		T6_ = NIM_NIL;
		T6_ = nsuToBin(x, ((NI) ((NI)(size * ((NI) 8)))));
		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 2);
appendString(T5_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_23));
appendString(T5_, T6_);
		result = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T10_;
		NimStringDesc* T11_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA8_;
		T10_ = NIM_NIL;
		T11_ = NIM_NIL;
		T11_ = nsuToOct(x, ((NI) ((NI)(size * ((NI) 3)))));
		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 2);
appendString(T10_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_24));
appendString(T10_, T11_);
		result = T10_;
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T15_;
		NimStringDesc* T16_;
		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA13_;
		T15_ = NIM_NIL;
		T16_ = NIM_NIL;
		T16_ = toHex__renderer_468(x, ((NI) ((NI)(size * ((NI) 2)))));
		T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 2);
appendString(T15_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_25));
appendString(T15_, T16_);
		result = T15_;
	}
	goto LA1_;
	LA13_: ;
	{
		result = dollar___systemZdollars_9(((NU64) (x)));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom__renderer_495)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	NF32 f;
	result = NIM_NIL;
	f = (NF32)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = copyString((*(*n)._kind_5.ident).s);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result = copyString((*(*(*n)._kind_4.sym).name).s);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		result = ((NimStringDesc*) NIM_NIL);
		addQuoted__pureZos_449((&result), (*n)._kind_3.strVal);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		T6_ = NIM_NIL;
		T7_ = NIM_NIL;
		T7_ = nsuReplaceStr((*n)._kind_3.strVal, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_7));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 3);
appendString(T6_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_5));
appendString(T6_, T7_);
appendChar(T6_, 34);
		result = T6_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T9_;
		T9_ = NIM_NIL;
		T9_ = rawNewString(((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0) + 6);
appendString(T9_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_8));
appendString(T9_, (*n)._kind_3.strVal);
appendString(T9_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_8));
		result = T9_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_9));
		addEscapedChar__system_7485((&result), ((NIM_CHAR) (((NI) (((NI) ((*n)._kind_1.intVal)))))));
		result = addChar(result, 39);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		result = litAux__renderer_416(g, n, (*n)._kind_1.intVal, ((NI) 4));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* T13_;
		NimStringDesc* T14_;
		T13_ = NIM_NIL;
		T14_ = NIM_NIL;
		T14_ = litAux__renderer_416(g, n, (*n)._kind_1.intVal, ((NI) 1));
		T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 3);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_26));
		result = T13_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* T16_;
		NimStringDesc* T17_;
		T16_ = NIM_NIL;
		T17_ = NIM_NIL;
		T17_ = litAux__renderer_416(g, n, (*n)._kind_1.intVal, ((NI) 2));
		T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 4);
appendString(T16_, T17_);
appendString(T16_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_27));
		result = T16_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* T19_;
		NimStringDesc* T20_;
		T19_ = NIM_NIL;
		T20_ = NIM_NIL;
		T20_ = litAux__renderer_416(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 4);
appendString(T19_, T20_);
appendString(T19_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_28));
		result = T19_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* T22_;
		NimStringDesc* T23_;
		T22_ = NIM_NIL;
		T23_ = NIM_NIL;
		T23_ = litAux__renderer_416(g, n, (*n)._kind_1.intVal, ((NI) 8));
		T22_ = rawNewString((T23_ ? T23_->Sup.len : 0) + 4);
appendString(T22_, T23_);
appendString(T22_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_29));
		result = T22_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* T25_;
		NimStringDesc* T26_;
		T25_ = NIM_NIL;
		T26_ = NIM_NIL;
		T26_ = ulitAux__renderer_473(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 2);
appendString(T25_, T26_);
appendString(T25_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_30));
		result = T25_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* T28_;
		NimStringDesc* T29_;
		T28_ = NIM_NIL;
		T29_ = NIM_NIL;
		T29_ = ulitAux__renderer_473(g, n, (*n)._kind_1.intVal, ((NI) 1));
		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 3);
appendString(T28_, T29_);
appendString(T28_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_31));
		result = T28_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* T31_;
		NimStringDesc* T32_;
		T31_ = NIM_NIL;
		T32_ = NIM_NIL;
		T32_ = ulitAux__renderer_473(g, n, (*n)._kind_1.intVal, ((NI) 2));
		T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 4);
appendString(T31_, T32_);
appendString(T31_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_32));
		result = T31_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		T34_ = NIM_NIL;
		T35_ = NIM_NIL;
		T35_ = ulitAux__renderer_473(g, n, (*n)._kind_1.intVal, ((NI) 4));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 4);
appendString(T34_, T35_);
appendString(T34_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_33));
		result = T34_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* T37_;
		NimStringDesc* T38_;
		T37_ = NIM_NIL;
		T38_ = NIM_NIL;
		T38_ = ulitAux__renderer_473(g, n, (*n)._kind_1.intVal, ((NI) 8));
		T37_ = rawNewString((T38_ ? T38_->Sup.len : 0) + 4);
appendString(T37_, T38_);
appendString(T37_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_34));
		result = T37_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		{
			if (!(((*n).flags & 14) == 0)) goto LA42_;
			result = dollar___system_3118((*n)._kind_2.floatVal);
		}
		goto LA40_;
		LA42_: ;
		{
			result = litAux__renderer_416(g, n, (*((NI64*) ((&(*n)._kind_2.floatVal)))), ((NI) 8));
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		{
			NimStringDesc* T50_;
			NimStringDesc* T51_;
			if (!(((*n).flags & 14) == 0)) goto LA48_;
			T50_ = NIM_NIL;
			T51_ = NIM_NIL;
			T51_ = dollar___system_3118((*n)._kind_2.floatVal);
			T50_ = rawNewString((T51_ ? T51_->Sup.len : 0) + 4);
appendString(T50_, T51_);
appendString(T50_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_35));
			result = T50_;
		}
		goto LA46_;
		LA48_: ;
		{
			NimStringDesc* T53_;
			NimStringDesc* T54_;
			f = ((NF32) ((*n)._kind_2.floatVal));
			T53_ = NIM_NIL;
			T54_ = NIM_NIL;
			T54_ = litAux__renderer_416(g, n, ((NI64) ((*((NI32*) ((&f)))))), ((NI) 4));
			T53_ = rawNewString((T54_ ? T54_->Sup.len : 0) + 4);
appendString(T53_, T54_);
appendString(T53_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_35));
			result = T53_;
		}
		LA46_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		{
			NimStringDesc* T60_;
			NimStringDesc* T61_;
			if (!(((*n).flags & 14) == 0)) goto LA58_;
			T60_ = NIM_NIL;
			T61_ = NIM_NIL;
			T61_ = dollar___system_3118((*n)._kind_2.floatVal);
			T60_ = rawNewString((T61_ ? T61_->Sup.len : 0) + 4);
appendString(T60_, T61_);
appendString(T60_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_36));
			result = T60_;
		}
		goto LA56_;
		LA58_: ;
		{
			NimStringDesc* T63_;
			NimStringDesc* T64_;
			T63_ = NIM_NIL;
			T64_ = NIM_NIL;
			T64_ = litAux__renderer_416(g, n, (*((NI64*) ((&(*n)._kind_2.floatVal)))), ((NI) 8));
			T63_ = rawNewString((T64_ ? T64_->Sup.len : 0) + 4);
appendString(T63_, T64_);
appendString(T63_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_36));
			result = T63_;
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_37));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		{
			NIM_BOOL T69_;
			T69_ = (NIM_BOOL)0;
			T69_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			if (!(T69_)) goto LA70_;
			T69_ = !(((*(*n).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA70_: ;
			if (!T69_) goto LA71_;
			result = copyString((*(*(*(*n).typ).sym).name).s);
		}
		goto LA67_;
		LA71_: ;
		{
			result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_38));
		}
		LA67_: ;
	}
	break;
	default:
	{
		NimStringDesc* T75_;
		T75_ = NIM_NIL;
		T75_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 14);
appendString(T75_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_39));
appendString(T75_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
		internalErrorImpl__msgs_1431((*g).config, unknownLineInfo__lineinfos_281, T75_, TM__1E0z9biZTE3PahFHulMjtyw_40);
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, disamb__renderer_49)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	NI result;
	NI T13_;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*g).mangler ? (*g).mangler->Sup.len : 0);
		colontmp_ = T2_;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				{
					if (!(s == (*g).mangler->data[i])) goto LA7_;
					goto BeforeRet_;
				}
				LA7_: ;
				{
					if (!eqStrings((*(*s).name).s, (*(*(*g).mangler->data[i]).name).s)) goto LA11_;
					result += ((NI) 1);
				}
				LA11_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	unsureAsgnRef((void**) (&(*g).mangler), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*g).mangler), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
	T13_ = (*g).mangler->Sup.len++;
	asgnRef((void**) (&(*g).mangler->data[T13_]), s);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
}
N_LIB_PRIVATE N_NIMCALL(void, gident__renderer_1297)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ t;
	NimStringDesc* s;
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T59_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (*g).inGenericParams;
		if (!(T3_)) goto LA4_;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NIM_BOOL T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0);
			if (T9_) goto LA10_;
			T11_ = (NIM_BOOL)0;
			T11_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			if (!(T11_)) goto LA12_;
			T11_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0);
			LA12_: ;
			T9_ = T11_;
			LA10_: ;
			if (!T9_) goto LA13_;
			goto BeforeRet_;
		}
		LA13_: ;
	}
	LA5_: ;
	t = (tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ)0;
	s = atom__renderer_495((&(*g)), n);
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = (((NI) 0) < (s ? s->Sup.len : 0));
		if (!(T17_)) goto LA18_;
		T17_ = (((NU8)(s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(255)));
		LA18_: ;
		if (!T17_) goto LA19_;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA23_;
			{
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*(*n)._kind_5.ident).id < ((NI) 1));
				if (T27_) goto LA28_;
				T27_ = (((NI) 66) < (*(*n)._kind_5.ident).id);
				LA28_: ;
				if (!T27_) goto LA29_;
				t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
			}
			goto LA25_;
			LA29_: ;
			{
				t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) ((NI)((*(*n)._kind_5.ident).id + ((NI) 2))));
			}
			LA25_: ;
		}
		goto LA21_;
		LA23_: ;
		{
			t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2);
		}
		LA21_: ;
	}
	goto LA15_;
	LA19_: ;
	{
		t = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110);
	}
	LA15_: ;
	{
		NIM_BOOL T36_;
		NI localId;
		T36_ = (NIM_BOOL)0;
		T36_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 9))&15U)))!=0);
		if (!(T36_)) goto LA37_;
		T36_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA37_: ;
		if (!T36_) goto LA38_;
		localId = disamb__renderer_49(g, (*n)._kind_4.sym);
		{
			NIM_BOOL T42_;
			T42_ = (NIM_BOOL)0;
			T42_ = !((localId == ((NI) 0)));
			if (!(T42_)) goto LA43_;
			T42_ = ((*(*n)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
			LA43_: ;
			if (!T42_) goto LA44_;
			s = addChar(s, 95);
			addInt__stdZprivateZdigitsutils_189((&s), localId);
		}
		LA44_: ;
		{
			if (!(((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 41))&63U)))!=0)) goto LA48_;
			s = resizeString(s, 7);
appendString(s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_42));
		}
		LA48_: ;
	}
	goto LA34_;
	LA38_: ;
	{
		NIM_BOOL T51_;
		NIM_BOOL T53_;
		NIM_BOOL T54_;
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym256_;
		T51_ = (NIM_BOOL)0;
		T51_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T51_)) goto LA52_;
		T53_ = (NIM_BOOL)0;
		T54_ = (NIM_BOOL)0;
		T54_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0);
		if (T54_) goto LA55_;
		T54_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
		LA55_: ;
		T53_ = T54_;
		if (T53_) goto LA56_;
		T53_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5));
		LA56_: ;
		T51_ = T53_;
		LA52_: ;
		if (!T51_) goto LA57_;
		s = addChar(s, 95);
		xX60gensym256_ = (*n)._kind_4.sym;
		addInt__stdZprivateZdigitsutils_189((&s), (NI)((NI)((NU64)(((NI) ((*xX60gensym256_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym256_).Sup.itemId.item))));
	}
	goto LA34_;
	LA57_: ;
	LA34_: ;
	T59_ = NIM_NIL;
	{
		NIM_BOOL T62_;
		T62_ = (NIM_BOOL)0;
		T62_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T62_)) goto LA63_;
		T62_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 7))&15U)))!=0);
		LA63_: ;
		if (!T62_) goto LA64_;
		T59_ = (*n)._kind_4.sym;
	}
	goto LA60_;
	LA64_: ;
	{
		T59_ = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
	}
	LA60_: ;
	put__renderer_226(g, t, s, T59_);
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getPIdent__ast_3056)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* result;
	result = NIM_NIL;
	switch ((*a).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result = (*(*a)._kind_4.sym).name;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = (*a)._kind_5.ident;
	}
	break;
	default:
	{
		result = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
	}
	break;
	}
	return result;
}
static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a == 0);
		if (T3_) goto LA4_;
		T3_ = (b == 0);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = (a == b);
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((*a).id == (*b).id);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, accentedName__renderer_1467)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
{	{
		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	ident = getPIdent__ast_3056(n);
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
		T7_ = !(T8_);
		if (!(T7_)) goto LA9_;
		T7_ = ((TM__1E0z9biZTE3PahFHulMjtyw_43[(NU)(((NU8)((*ident).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*ident).s->data[((NI) 0)])))&7U)))!=0);
		LA9_: ;
		if (!T7_) goto LA10_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gident__renderer_1297(g, n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	goto LA5_;
	LA10_: ;
	{
		gsub__renderer_846(g, n, NIM_FALSE);
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL__renderer_329)(NimStringDesc* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (s ? s->Sup.len : 0);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				switch (((NU8)(s->data[i]))) {
				case 13:
				case 10:
				{
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				break;
				default:
				{
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lcomma__renderer_549)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_3198(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				param = (*n)._kind_6.sons->data[i];
				{
					NI T9_;
					if (!!((((*param).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18))&31U)))!=0))) goto LA7_;
					T9_ = (NI)0;
					T9_ = lsub__renderer_413(g, param);
					result += T9_;
					result += ((NI) 2);
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		if (!(((NI) 0) < result)) goto LA12_;
		result -= ((NI) 2);
	}
	LA12_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lsons__renderer_584)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_3198(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				NI T5_;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI)0;
				T5_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[i]);
				result += T5_;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, lsub__renderer_413)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
{	result = (NI)0;
	{
		if (!(n == 0)) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = shouldRenderComment__renderer_374(g, n);
		if (!T7_) goto LA8_;
		result = ((NI) 81);
		goto BeforeRet_;
	}
	LA8_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NI) 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = containsNL__renderer_329((*n)._kind_3.strVal);
			if (!T14_) goto LA15_;
			result = ((NI) 81);
		}
		goto LA12_;
		LA15_: ;
		{
			NimStringDesc* T18_;
			T18_ = NIM_NIL;
			T18_ = atom__renderer_495(g, n);
			result = (T18_ ? T18_->Sup.len : 0);
		}
		LA12_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* T20_;
		T20_ = NIM_NIL;
		T20_ = atom__renderer_495(g, n);
		result = (T20_ ? T20_->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		NI T22_;
		NI T23_;
		T22_ = (NI)0;
		T22_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T23_ = (NI)0;
		T23_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)(T22_ + T23_) + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		result = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 1)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		NI T26_;
		NI T27_;
		T26_ = (NI)0;
		T26_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T27_ = (NI)0;
		T27_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 1)]);
		result = (NI)((NI)(T26_ + T27_) + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		{
			NI T31_;
			NI T34_;
			T31_ = (NI)0;
			T31_ = len__ast_3198(n);
			if (!(((NI) 0) < T31_)) goto LA32_;
			T34_ = (NI)0;
			T34_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result = (NI)(T34_ + ((NI) 6));
		}
		goto LA29_;
		LA32_: ;
		{
			result = ((NI) 4);
		}
		LA29_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		NI T37_;
		T37_ = (NI)0;
		T37_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T37_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		result = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		NI T40_;
		NI T41_;
		T40_ = (NI)0;
		T40_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T41_ = (NI)0;
		T41_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)(T40_ + T41_) + ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		NI T43_;
		T43_ = (NI)0;
		T43_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T43_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		NI T45_;
		T45_ = (NI)0;
		T45_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T45_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		NI T47_;
		T47_ = (NI)0;
		T47_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T47_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		result = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		{
			NI T52_;
			NI T55_;
			T52_ = (NI)0;
			T52_ = len__ast_3198(n);
			if (!(((NI) 0) < T52_)) goto LA53_;
			T55_ = (NI)0;
			T55_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T55_ + ((NI) 2));
		}
		goto LA50_;
		LA53_: ;
		{
			result = ((NI) 3);
		}
		LA50_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NI T60_;
			NI T63_;
			T60_ = (NI)0;
			T60_ = len__ast_3198(n);
			if (!(((NI) 0) < T60_)) goto LA61_;
			T63_ = (NI)0;
			T63_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += T63_;
		}
		LA61_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		NI T65_;
		T65_ = (NI)0;
		T65_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T65_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		result = ((NI) 5);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		NI T68_;
		T68_ = (NI)0;
		T68_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T68_ + ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		NI T70_;
		T70_ = (NI)0;
		T70_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T70_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		NI T72_;
		T72_ = (NI)0;
		T72_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T72_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		NI T74_;
		T74_ = (NI)0;
		T74_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T74_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		result = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		NI T77_;
		T77_ = (NI)0;
		T77_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T77_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		NI T79_;
		T79_ = (NI)0;
		T79_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T79_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		result = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -3));
		{
			NI T83_;
			NI T86_;
			NI T87_;
			T83_ = (NI)0;
			T83_ = len__ast_3198(n);
			if (!!(((*(*n)._kind_6.sons->data[(NI)(T83_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA84_;
			T86_ = (NI)0;
			T86_ = len__ast_3198(n);
			T87_ = (NI)0;
			T87_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[(NI)(T86_ - ((NI) 2))]);
			result += (NI)(T87_ + ((NI) 2));
		}
		LA84_: ;
		{
			NI T90_;
			NI T93_;
			NI T94_;
			T90_ = (NI)0;
			T90_ = len__ast_3198(n);
			if (!!(((*(*n)._kind_6.sons->data[(NI)(T90_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA91_;
			T93_ = (NI)0;
			T93_ = len__ast_3198(n);
			T94_ = (NI)0;
			T94_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[(NI)(T93_ - ((NI) 1))]);
			result += (NI)(T94_ + ((NI) 3));
		}
		LA91_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		{
			NI T98_;
			NI T101_;
			T98_ = (NI)0;
			T98_ = len__ast_3198(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T98_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA99_;
			T101_ = (NI)0;
			T101_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -2));
			result = (NI)(T101_ + ((NI) 2));
		}
		goto LA96_;
		LA99_: ;
		{
			NI T103_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
			NI T105_;
			T103_ = (NI)0;
			T103_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -3));
			T104_ = NIM_NIL;
			T104_ = lastSon__ast_4832(n);
			T105_ = (NI)0;
			T105_ = lsub__renderer_413(g, T104_);
			result = (NI)((NI)(T103_ + ((NI) 5)) + T105_);
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		NI T107_;
		T107_ = (NI)0;
		T107_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 12) + T107_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		NI T109_;
		T109_ = (NI)0;
		T109_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 13) + T109_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		NI T111_;
		T111_ = (NI)0;
		T111_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(((NI) 11) + T111_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		NI T119_;
		result = ((NI) 2);
		{
			NI T115_;
			NI T118_;
			T115_ = (NI)0;
			T115_ = len__ast_3198(n);
			if (!(((NI) 1) <= T115_)) goto LA116_;
			T118_ = (NI)0;
			T118_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += T118_;
		}
		LA116_: ;
		T119_ = (NI)0;
		T119_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
		result += T119_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		NI T121_;
		T121_ = (NI)0;
		T121_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T121_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI T123_;
		T123_ = (NI)0;
		T123_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T123_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		NI T125_;
		NI T126_;
		T125_ = (NI)0;
		T125_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		T126_ = (NI)0;
		{
			NIM_BOOL T129_;
			NI T130_;
			T129_ = (NIM_BOOL)0;
			T130_ = (NI)0;
			T130_ = len__ast_3198(n);
			T129_ = (((NI) 0) < T130_);
			if (!(T129_)) goto LA131_;
			T129_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
			LA131_: ;
			if (!T129_) goto LA132_;
			T126_ = ((NI) 2);
		}
		goto LA127_;
		LA132_: ;
		{
			T126_ = ((NI) 0);
		}
		LA127_: ;
		result = (NI)((NI)(T125_ + ((NI) 1)) + T126_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		result = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		result = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		NI T138_;
		NI T139_;
		T138_ = (NI)0;
		T138_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T139_ = (NI)0;
		T139_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
		result = (NI)(T138_ + T139_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		NI T141_;
		T141_ = (NI)0;
		T141_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T141_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		NI T143_;
		T143_ = (NI)0;
		T143_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T143_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		NI T145_;
		T145_ = (NI)0;
		T145_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T145_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		NI T147_;
		NI T148_;
		NI T149_;
		T147_ = (NI)0;
		T147_ = lsub__renderer_413(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
		T148_ = (NI)0;
		T148_ = lsub__renderer_413(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
		T149_ = (NI)0;
		T149_ = lsons__renderer_584(g, n, ((NI) 1), ((NI) -1));
		result = (NI)((NI)((NI)(T147_ + T148_) + T149_) + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		NI T151_;
		T151_ = (NI)0;
		T151_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T151_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		NI T153_;
		T153_ = (NI)0;
		T153_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T153_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		NI T155_;
		T155_ = (NI)0;
		{
			NI T158_;
			T158_ = (NI)0;
			T158_ = len__ast_3198(n);
			if (!(((NI) 0) < T158_)) goto LA159_;
			T155_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA156_;
		LA159_: ;
		{
			T155_ = ((NI) 0);
		}
		LA156_: ;
		result = (NI)(T155_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		NI T163_;
		T163_ = (NI)0;
		{
			NI T166_;
			NI T169_;
			T166_ = (NI)0;
			T166_ = len__ast_3198(n);
			if (!(((NI) 0) < T166_)) goto LA167_;
			T169_ = (NI)0;
			T169_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T163_ = (NI)(T169_ + ((NI) 1));
		}
		goto LA164_;
		LA167_: ;
		{
			T163_ = ((NI) 0);
		}
		LA164_: ;
		result = (NI)(T163_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		NI T172_;
		T172_ = (NI)0;
		{
			NI T175_;
			NI T178_;
			T175_ = (NI)0;
			T175_ = len__ast_3198(n);
			if (!(((NI) 0) < T175_)) goto LA176_;
			T178_ = (NI)0;
			T178_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T172_ = (NI)(T178_ + ((NI) 1));
		}
		goto LA173_;
		LA176_: ;
		{
			T172_ = ((NI) 0);
		}
		LA173_: ;
		result = (NI)(T172_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		NI T181_;
		T181_ = (NI)0;
		{
			NI T184_;
			NI T187_;
			T184_ = (NI)0;
			T184_ = len__ast_3198(n);
			if (!(((NI) 0) < T184_)) goto LA185_;
			T187_ = (NI)0;
			T187_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T181_ = (NI)(T187_ + ((NI) 1));
		}
		goto LA182_;
		LA185_: ;
		{
			T181_ = ((NI) 0);
		}
		LA182_: ;
		result = (NI)(T181_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		NI T190_;
		T190_ = (NI)0;
		{
			NI T193_;
			NI T196_;
			T193_ = (NI)0;
			T193_ = len__ast_3198(n);
			if (!(((NI) 0) < T193_)) goto LA194_;
			T196_ = (NI)0;
			T196_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T190_ = (NI)(T196_ + ((NI) 1));
		}
		goto LA191_;
		LA194_: ;
		{
			T190_ = ((NI) 0);
		}
		LA191_: ;
		result = (NI)(((NI) 8) + T190_);
		{
			NI T200_;
			NI T203_;
			NI T209_;
			T200_ = (NI)0;
			T200_ = len__ast_3198(n);
			if (!(((NI) 1) < T200_)) goto LA201_;
			T203_ = (NI)0;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA206_;
				T203_ = ((NI) 6);
			}
			goto LA204_;
			LA206_: ;
			{
				T203_ = ((NI) 9);
			}
			LA204_: ;
			result += T203_;
			T209_ = (NI)0;
			T209_ = lcomma__renderer_549(g, (*n)._kind_6.sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			result += T209_;
		}
		LA201_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		NI T211_;
		T211_ = (NI)0;
		{
			NI T214_;
			T214_ = (NI)0;
			T214_ = len__ast_3198(n);
			if (!(((NI) 0) < T214_)) goto LA215_;
			T211_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		goto LA212_;
		LA215_: ;
		{
			T211_ = ((NI) 0);
		}
		LA212_: ;
		result = (NI)(T211_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		NI T219_;
		T219_ = (NI)0;
		T219_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T219_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		NI T221_;
		T221_ = (NI)0;
		T221_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T221_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		NI T223_;
		T223_ = (NI)0;
		T223_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T223_ + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		NI T225_;
		T225_ = (NI)0;
		T225_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T225_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 149):
	{
		NI T227_;
		T227_ = (NI)0;
		T227_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T227_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T231_;
			NI T234_;
			NI T235_;
			T231_ = (NI)0;
			T231_ = len__ast_3198(n);
			if (!(((NI) 0) < T231_)) goto LA232_;
			T234_ = (NI)0;
			T234_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			T235_ = (NI)0;
			T235_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
			result = (NI)((NI)(T234_ + T235_) + ((NI) 5));
		}
		goto LA229_;
		LA232_: ;
		{
			result = ((NI) 4);
		}
		LA229_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		NI T238_;
		T238_ = (NI)0;
		T238_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T238_ + ((NI) 3));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		{
			NI T242_;
			T242_ = (NI)0;
			T242_ = len__ast_3198(n);
			if (!(((NI) 1) < T242_)) goto LA243_;
			result = ((NI) 81);
		}
		goto LA240_;
		LA243_: ;
		{
			NI T246_;
			T246_ = (NI)0;
			T246_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T246_ + ((NI) 4));
		}
		LA240_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI T250_;
			T250_ = (NI)0;
			T250_ = len__ast_3198(n);
			if (!(((NI) 1) < T250_)) goto LA251_;
			result = ((NI) 81);
		}
		goto LA248_;
		LA251_: ;
		{
			NI T254_;
			T254_ = (NI)0;
			T254_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
			result = (NI)(T254_ + ((NI) 6));
		}
		LA248_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		{
			NIM_BOOL T258_;
			NI T259_;
			NI T263_;
			T258_ = (NIM_BOOL)0;
			T259_ = (NI)0;
			T259_ = len__ast_3198(n);
			T258_ = (((NI) 0) < T259_);
			if (!(T258_)) goto LA260_;
			T258_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA260_: ;
			if (!T258_) goto LA261_;
			T263_ = (NI)0;
			T263_ = lsub__renderer_413(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
			result = (NI)(((NI) 7) + T263_);
		}
		goto LA256_;
		LA261_: ;
		{
			NI T265_;
			T265_ = (NI)0;
			T265_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result = (NI)(((NI) 7) + T265_);
		}
		LA256_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		NI T267_;
		T267_ = (NI)0;
		T267_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T267_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		NI T269_;
		T269_ = (NI)0;
		T269_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T269_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		NI T271_;
		T271_ = (NI)0;
		T271_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T271_ + ((NI) 8));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		NI T273_;
		T273_ = (NI)0;
		T273_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T273_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		NI T275_;
		T275_ = (NI)0;
		T275_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T275_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		NI T277_;
		T277_ = (NI)0;
		T277_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T277_ + ((NI) 4));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		NimStringDesc* T279_;
		T279_ = NIM_NIL;
		T279_ = comment__ast_993(n);
		result = (T279_ ? T279_->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		NI T281_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T282_;
		NI T283_;
		T281_ = (NI)0;
		T281_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -2));
		T282_ = NIM_NIL;
		T282_ = lastSon__ast_4832(n);
		T283_ = (NI)0;
		T283_ = lsub__renderer_413(g, T282_);
		result = (NI)((NI)(T281_ + T283_) + ((NI) 5));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		NI T285_;
		NI T286_;
		T285_ = (NI)0;
		T285_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		T286_ = (NI)0;
		T286_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 1)]);
		result = (NI)((NI)(T285_ + ((NI) 4)) + T286_);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		NI T288_;
		T288_ = (NI)0;
		T288_ = lsons__renderer_584(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T288_ + ((NI) 7));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		NI T290_;
		T290_ = (NI)0;
		T290_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T290_ + ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
	{
		NI T292_;
		T292_ = (NI)0;
		T292_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
		result = (NI)(T292_ + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		NI T294_;
		T294_ = (NI)0;
		T294_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -1));
		result = (NI)(T294_ + ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		NI T296_;
		T296_ = (NI)0;
		T296_ = lcomma__renderer_549(g, n, ((NI) 1), ((NI) -1));
		result = (NI)(T296_ + ((NI) 2));
		{
			NI T301_;
			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA299_;
			T301_ = (NI)0;
			T301_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[((NI) 0)]);
			result += (NI)(T301_ + ((NI) 2));
		}
		LA299_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		NI T303_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T304_;
		NI T305_;
		T303_ = (NI)0;
		T303_ = lcomma__renderer_549(g, n, ((NI) 0), ((NI) -2));
		T304_ = NIM_NIL;
		T304_ = lastSon__ast_4832(n);
		T305_ = (NI)0;
		T305_ = lsub__renderer_413(g, T304_);
		result = (NI)((NI)(T303_ + T305_) + ((NI) 9));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		result = ((NI) 7);
	}
	break;
	default:
	{
		result = ((NI) 81);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits__renderer_811)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI x) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (x <= ((NI) 80));
	return result;
}
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NI result;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < aLen_0)) goto LA3;
				i = (&a[i_2]);
				{
					if (!eqStrings((*i), item)) goto LA6_;
					goto BeforeRet_;
				}
				LA6_: ;
				result += ((NI) 1);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find__stdZenumutils_48(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHideable__renderer_879)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		NIM_BOOL T2_;
		T2_ = (NIM_BOOL)0;
		T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
		if (!(T2_)) goto LA3_;
		T2_ = contains__stdZenumutils_43(TM__1E0z9biZTE3PahFHulMjtyw_46, 4, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s);
		LA3_: ;
		result = T2_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = contains__stdZenumutils_43(TM__1E0z9biZTE3PahFHulMjtyw_51, 2, (*(*n)._kind_5.ident).s);
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putWithSpace__renderer_875)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* s) {
	put__renderer_226(g, kind, s, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom__renderer_860)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		if (!(n == 0)) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NimStringDesc* T7_;
		T7_ = NIM_NIL;
		T7_ = comment__ast_993(n);
		if (!(((NI) 0) < (T7_ ? T7_->Sup.len : 0))) goto LA8_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA8_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_3198(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA14;
					i = i_2;
					{
						NIM_BOOL T17_;
						T17_ = (NIM_BOOL)0;
						T17_ = hasCom__renderer_860((*n)._kind_6.sons->data[i]);
						if (!T17_) goto LA18_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA18_: ;
					i_2 += ((NI) 1);
				} LA14: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_CHAR*, X5BX5D___system_7362)(NimStringDesc** s, NI i) {
	NIM_CHAR* result;
	result = (NIM_CHAR*)0;
	result = (&(*s)->data[(NI)(((*s) ? (*s)->Sup.len : 0) - i)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, maxLineLength__renderer_280)(NimStringDesc* s) {
	NI result;
	NI i;
	NI hi;
	NI lineLen;
{	result = (NI)0;
	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	hi = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
	lineLen = ((NI) 0);
	{
		while (1) {
			if (!(i <= hi)) goto LA6;
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA5;
			}
			break;
			case 13:
			{
				i += ((NI) 1);
				{
					NIM_BOOL T11_;
					T11_ = (NIM_BOOL)0;
					T11_ = (i <= hi);
					if (!(T11_)) goto LA12_;
					T11_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA12_: ;
					if (!T11_) goto LA13_;
					i += ((NI) 1);
				}
				LA13_: ;
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			case 10:
			{
				i += ((NI) 1);
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			default:
			{
				lineLen += ((NI) 1);
				i += ((NI) 1);
			}
			break;
			}
		} LA6: ;
	} LA5: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putComment__renderer_247)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s) {
	NI i;
	NI hi;
	NIM_BOOL isCode;
	NIM_BOOL T5_;
	NI ind;
	NimStringDesc* com;
{	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	hi = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
	T5_ = (NIM_BOOL)0;
	T5_ = (((NI) 2) <= (s ? s->Sup.len : 0));
	if (!(T5_)) goto LA6_;
	T5_ = !(((NU8)(s->data[((NI) 1)]) == (NU8)(32)));
	LA6_: ;
	isCode = T5_;
	ind = (*g).col;
	com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_54));
	{
		while (1) {
			if (!(i <= hi)) goto LA8;
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA7;
			}
			break;
			case 13:
			{
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), com, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_54));
				i += ((NI) 1);
				{
					NIM_BOOL T13_;
					T13_ = (NIM_BOOL)0;
					T13_ = (i <= hi);
					if (!(T13_)) goto LA14_;
					T13_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA14_: ;
					if (!T13_) goto LA15_;
					i += ((NI) 1);
				}
				LA15_: ;
				optNL__renderer_194(g, ind);
			}
			break;
			case 10:
			{
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), com, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_54));
				i += ((NI) 1);
				optNL__renderer_194(g, ind);
			}
			break;
			case 32:
			case 9:
			{
				com = addChar(com, s->data[i]);
				i += ((NI) 1);
			}
			break;
			default:
			{
				NI j;
				j = i;
				{
					while (1) {
						NIM_BOOL T22_;
						T22_ = (NIM_BOOL)0;
						T22_ = (j <= hi);
						if (!(T22_)) goto LA23_;
						T22_ = ((NU8)(32) < (NU8)(s->data[j]));
						LA23_: ;
						if (!T22_) goto LA21;
						j += ((NI) 1);
					} LA21: ;
				}
				{
					NIM_BOOL T26_;
					T26_ = (NIM_BOOL)0;
					T26_ = !(isCode);
					if (!(T26_)) goto LA27_;
					T26_ = (((NI) 80) < (NI)((*g).col + (NI)(j - i)));
					LA27_: ;
					if (!T26_) goto LA28_;
					put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), com, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
					optNL__renderer_194(g, ind);
					com = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_54));
				}
				LA28_: ;
				{
					while (1) {
						NIM_BOOL T32_;
						T32_ = (NIM_BOOL)0;
						T32_ = (i <= hi);
						if (!(T32_)) goto LA33_;
						T32_ = ((NU8)(32) < (NU8)(s->data[i]));
						LA33_: ;
						if (!T32_) goto LA31;
						com = addChar(com, s->data[i]);
						i += ((NI) 1);
					} LA31: ;
				}
			}
			break;
			}
		} LA8: ;
	} LA7: ;
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 111), com, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	optNL__renderer_197(g);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gcom__renderer_378)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NIM_BOOL T3_;
		NI oneSpaceAdded;
		NimStringDesc* T29_;
		T3_ = (NIM_BOOL)0;
		T3_ = shouldRenderComment__renderer_374((&(*g)), n);
		if (!T3_) goto LA4_;
		oneSpaceAdded = ((NI) 0);
		{
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			NIM_CHAR* T12_;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*g).pendingNL < ((NI) 0));
			if (!(T9_)) goto LA10_;
			T9_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T12_ = (NIM_CHAR*)0;
			T12_ = X5BX5D___system_7362((&(*g).buf), ((NI) 1));
			T8_ = !(((NU8)((*T12_)) == (NU8)(32)));
			LA11_: ;
			if (!T8_) goto LA13_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			oneSpaceAdded = ((NI) 1);
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			NIM_BOOL T18_;
			NI ml;
			NimStringDesc* T23_;
			T17_ = (NIM_BOOL)0;
			T18_ = (NIM_BOOL)0;
			T18_ = ((*g).pendingNL < ((NI) 0));
			if (!(T18_)) goto LA19_;
			T18_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA19_: ;
			T17_ = T18_;
			if (!(T17_)) goto LA20_;
			T17_ = ((*g).col < ((NI) 30));
			LA20_: ;
			if (!T17_) goto LA21_;
			T23_ = NIM_NIL;
			T23_ = comment__ast_993(n);
			ml = maxLineLength__renderer_280(T23_);
			{
				NimStringDesc* T28_;
				if (!((NI)(ml + ((NI) 30)) <= ((NI) 80))) goto LA26_;
				T28_ = NIM_NIL;
				T28_ = spaces__pureZstrutils_1029(((NI) ((NI)(((NI) 30) - (*g).col))));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), T28_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				(*g).col -= oneSpaceAdded;
			}
			LA26_: ;
		}
		LA21_: ;
		T29_ = NIM_NIL;
		T29_ = comment__ast_993(n);
		putComment__renderer_247(g, T29_);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, popAllComs__renderer_355)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 0)));
}
N_LIB_PRIVATE N_NIMCALL(void, gcoms__renderer_394)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*g).comStack ? (*g).comStack->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				gcom__renderer_378(g, (*g).comStack->data[i]);
				res += ((NI) 1);
			} LA4: ;
		}
	}
	popAllComs__renderer_355(g);
}
N_LIB_PRIVATE N_NIMCALL(void, gcommaAux__renderer_901)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ separator) {
	NIM_BOOL inPragma;
	NIM_BOOL inHideable;
	inPragma = ((*g).inPragma == ((NI) 1));
	inHideable = NIM_FALSE;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_3198(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				NIM_BOOL c;
				NI T5_;
				NI sublen;
				NI T6_;
				NI oldLen;
				NI T14_;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI)0;
				T5_ = len__ast_3198(n);
				c = (i < (NI)(T5_ + theEnd));
				T6_ = (NI)0;
				T6_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[i]);
				sublen = (NI)(T6_ + c);
				{
					NIM_BOOL T9_;
					NIM_BOOL T10_;
					T9_ = (NIM_BOOL)0;
					T10_ = (NIM_BOOL)0;
					T10_ = fits__renderer_811((&(*g)), (NI)((*g).lineLen + sublen));
					T9_ = !(T10_);
					if (!(T9_)) goto LA11_;
					T9_ = ((NI)(ind + sublen) < ((NI) 80));
					LA11_: ;
					if (!T9_) goto LA12_;
					optNL__renderer_194(g, ind);
				}
				LA12_: ;
				T14_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
				oldLen = T14_;
				{
					if (!inPragma) goto LA17_;
					{
						NIM_BOOL T21_;
						T21_ = (NIM_BOOL)0;
						T21_ = !(inHideable);
						if (!(T21_)) goto LA22_;
						T21_ = isHideable__renderer_879((*g).config, (*n)._kind_6.sons->data[i]);
						LA22_: ;
						if (!T21_) goto LA23_;
						inHideable = NIM_TRUE;
						put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 117), ((NimStringDesc*) NIM_NIL), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
					}
					goto LA19_;
					LA23_: ;
					{
						NIM_BOOL T26_;
						NIM_BOOL T28_;
						T26_ = (NIM_BOOL)0;
						T26_ = inHideable;
						if (!(T26_)) goto LA27_;
						T28_ = (NIM_BOOL)0;
						T28_ = isHideable__renderer_879((*g).config, (*n)._kind_6.sons->data[i]);
						T26_ = !(T28_);
						LA27_: ;
						if (!T26_) goto LA29_;
						inHideable = NIM_FALSE;
						put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 118), ((NimStringDesc*) NIM_NIL), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
					}
					goto LA19_;
					LA29_: ;
					LA19_: ;
				}
				LA17_: ;
				gsub__renderer_846(g, (*n)._kind_6.sons->data[i], NIM_FALSE);
				{
					if (!c) goto LA33_;
					{
						NI T37_;
						T37_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
						if (!(oldLen < T37_)) goto LA38_;
						putWithSpace__renderer_875(g, separator, reprEnum((NI)separator, (&NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_)));
					}
					LA38_: ;
					{
						NIM_BOOL T42_;
						T42_ = (NIM_BOOL)0;
						T42_ = shouldRenderComment__renderer_362((&(*g)));
						if (!(T42_)) goto LA43_;
						T42_ = hasCom__renderer_860((*n)._kind_6.sons->data[i]);
						LA43_: ;
						if (!T42_) goto LA44_;
						gcoms__renderer_394(g);
						optNL__renderer_194(g, ind);
					}
					LA44_: ;
				}
				LA33_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		if (!inHideable) goto LA48_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 118), ((NimStringDesc*) NIM_NIL), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		inHideable = NIM_FALSE;
	}
	LA48_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gcomma__renderer_953)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		if (!(((NI) 40) < ind)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 4));
	}
	LA3_: ;
	gcommaAux__renderer_901(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_1403)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(n);
		if (!(i < T3_)) goto LA4_;
		gsub__renderer_846(g, (*n)._kind_6.sons->data[i], NIM_FALSE);
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T7_ = NIM_NIL;
		T8_ = NIM_NIL;
		T8_ = dollar___systemZdollars_3(i);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + (reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_58));
appendString(T7_, T8_);
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_59));
appendString(T7_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T7_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_60));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), T7_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g, bracketKind__renderer_1423)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g result;
	result = (tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g)0;
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0))) goto LA3_;
		switch ((*n).kind) {
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
		{
			{
				NI T8_;
				T8_ = (NI)0;
				T8_ = len__ast_3198(n);
				if (!(((NI) 0) < T8_)) goto LA9_;
				result = bracketKind__renderer_1423(g, (*n)._kind_6.sons->data[((NI) 0)]);
			}
			LA9_: ;
		}
		break;
		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
		{
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61))) goto LA12_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_62))) goto LA13_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_63))) goto LA14_;
			if (eqStrings((*(*(*n)._kind_4.sym).name).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_64))) goto LA15_;
			goto LA16_;
			LA12_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 1);
			}
			goto LA17_;
			LA13_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 2);
			}
			goto LA17_;
			LA14_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 3);
			}
			goto LA17_;
			LA15_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 4);
			}
			goto LA17_;
			LA16_: ;
			{
				result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0);
			}
			LA17_: ;
		}
		break;
		default:
		{
			result = ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0);
		}
		break;
		}
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gcomma__renderer_941)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	NI ind;
	ind = (NI)0;
	{
		if (!((c.Field1 &((NU8)1<<((NU)(((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 1))&7U)))!=0)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 2));
	}
	goto LA1_;
	LA3_: ;
	{
		ind = (*g).lineLen;
		{
			if (!(((NI) 40) < ind)) goto LA8_;
			ind = (NI)((*g).indent + ((NI) 4));
		}
		LA8_: ;
	}
	LA1_: ;
	gcommaAux__renderer_901(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
}
static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_1246)(NimStringDesc* s, NIM_CHAR prefix) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((NI) 0) < (s ? s->Sup.len : 0));
	if (!(T1_)) goto LA2_;
	T1_ = ((NU8)(s->data[((NI) 0)]) == (NU8)(prefix));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCustomLit__renderer_1521)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NI T4_;
		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NI)0;
		T4_ = len__ast_3198(n);
		T3_ = (T4_ == ((NI) 2));
		if (!(T3_)) goto LA5_;
		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21));
		LA5_: ;
		if (!T3_) goto LA6_;
		ident = getPIdent__ast_3056((*n)._kind_6.sons->data[((NI) 1)]);
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
		T8_ = !(T9_);
		if (!(T8_)) goto LA10_;
		T8_ = startsWith__pureZstrutils_1246((*ident).s, 39);
		LA10_: ;
		result = T8_;
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gsemicolon__renderer_959)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		if (!(((NI) 40) < ind)) goto LA3_;
		ind = (NI)((*g).indent + ((NI) 4));
	}
	LA3_: ;
	gcommaAux__renderer_901(g, n, ind, start, theEnd, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 103));
}
N_LIB_PRIVATE N_NIMCALL(void, doParamsAux__renderer_1388)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(params);
		if (!(((NI) 1) < T3_)) goto LA4_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsemicolon__renderer_959(g, params, ((NI) 1), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA4_: ;
	{
		NIM_BOOL T8_;
		NI T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NI)0;
		T9_ = len__ast_3198(params);
		T8_ = (((NI) 0) < T9_);
		if (!(T8_)) goto LA10_;
		T8_ = !(((*(*params)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA10_: ;
		if (!T8_) goto LA11_;
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_83));
		gsub__renderer_846(g, (*params)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
	}
	LA11_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes__renderer_1444)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = NIM_NIL;
	result = n;
	{
		while (1) {
			if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA2;
			{
				NIM_BOOL T5_;
				NI T7_;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
				if (!(T5_)) goto LA6_;
				T7_ = (NI)0;
				T7_ = len__ast_3198(result);
				T5_ = (((NI) 1) < T7_);
				LA6_: ;
				if (!T5_) goto LA8_;
				result = (*result)._kind_6.sons->data[((NI) 1)];
			}
			goto LA3_;
			LA8_: ;
			{
				NIM_BOOL T11_;
				NI T13_;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72));
				if (!(T11_)) goto LA12_;
				T13_ = (NI)0;
				T13_ = len__ast_3198(result);
				T11_ = (((NI) 0) < T13_);
				LA12_: ;
				if (!T11_) goto LA14_;
				result = (*result)._kind_6.sons->data[((NI) 0)];
			}
			goto LA3_;
			LA14_: ;
			{
				goto LA1;
			}
			LA3_: ;
		} LA2: ;
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, infixArgument__renderer_1484)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	NIM_BOOL needsParenthesis;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nNext;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (i < ((NI) 1));
		if (!(T3_)) goto LA4_;
		T3_ = (((NI) 2) < i);
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	needsParenthesis = NIM_FALSE;
	nNext = skipHiddenNodes__renderer_1444((*n)._kind_6.sons->data[i]);
	{
		if (!((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA9_;
		{
			NIM_BOOL T13_;
			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* nextId;
			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* nnId;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			if (!(T13_)) goto LA14_;
			T13_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA14_: ;
			if (!T13_) goto LA15_;
			{
				if (!((*(*nNext)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA19_;
				nextId = (*(*(*nNext)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA17_;
			LA19_: ;
			{
				nextId = (*(*nNext)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			LA17_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA24_;
				nnId = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA22_;
			LA24_: ;
			{
				nnId = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			LA22_: ;
			{
				if (!(i == ((NI) 1))) goto LA29_;
				{
					NI T33_;
					NI T34_;
					T33_ = (NI)0;
					T33_ = getPrecedence__lexer_1792(nextId);
					T34_ = (NI)0;
					T34_ = getPrecedence__lexer_1792(nnId);
					if (!(T33_ < T34_)) goto LA35_;
					needsParenthesis = NIM_TRUE;
				}
				LA35_: ;
			}
			goto LA27_;
			LA29_: ;
			{
				if (!(i == ((NI) 2))) goto LA38_;
				{
					NI T42_;
					NI T43_;
					T42_ = (NI)0;
					T42_ = getPrecedence__lexer_1792(nextId);
					T43_ = (NI)0;
					T43_ = getPrecedence__lexer_1792(nnId);
					if (!(T42_ <= T43_)) goto LA44_;
					needsParenthesis = NIM_TRUE;
				}
				LA44_: ;
			}
			goto LA27_;
			LA38_: ;
			LA27_: ;
		}
		LA15_: ;
	}
	LA9_: ;
	{
		if (!needsParenthesis) goto LA48_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA48_: ;
	gsub__renderer_1403(g, n, i);
	{
		if (!needsParenthesis) goto LA52_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA52_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_73)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (*i).id);
		if (!(T3_)) goto LA4_;
		T3_ = ((*i).id <= ((NI) 66));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStrVal__renderer_1825)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = copyString((*(*n)._kind_5.ident).s);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result = copyString((*(*(*n)._kind_4.sym).name).s);
	}
	break;
	default:
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAlpha__renderer_1828)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NimStringDesc* tmp;
		NIM_BOOL T5_;
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
		tmp = getStrVal__renderer_1825(n);
		T5_ = (NIM_BOOL)0;
		T5_ = (((NI) 0) < (tmp ? tmp->Sup.len : 0));
		if (!(T5_)) goto LA6_;
		T5_ = (((NU8)(tmp->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(tmp->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(tmp->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(tmp->data[((NI) 0)])) <= ((NU8)(90)));
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gcond__renderer_1043)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA3_: ;
	gsub__renderer_846(g, n, NIM_FALSE);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA7_;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsons__renderer_965)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_3198(n);
		colontmp_ = (NI)(T2_ + theEnd);
		res = start;
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				gsub__renderer_841(g, (*n)._kind_6.sons->data[i], c, NIM_FALSE);
				res += ((NI) 1);
			} LA4: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, dedent__renderer_209)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	(*g).indent -= ((NI) 2);
	{
		if (!(((NI) 2) < (*g).pendingNL)) goto LA3_;
		(*g).pendingNL -= ((NI) 2);
		(*g).lineLen -= ((NI) 2);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, putNL__renderer_160)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	{
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		addPendingNL__renderer_157(g);
	}
	goto LA1_;
	LA3_: ;
	{
		addTok__renderer_131(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_4), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		(*g).col = ((NI) 0);
	}
	LA1_: ;
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
	(*g).pendingWhitespace = ((NI) -1);
}
N_LIB_PRIVATE N_NIMCALL(void, putNL__renderer_192)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g) {
	putNL__renderer_160(g, (*g).indent);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode__renderer_998)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = shouldRenderComment__renderer_374(g, n);
	{
		if (!!(result)) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len__ast_3198(n);
			colontmp_ = (NI)(T6_ + theEnd);
			res = start;
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					{
						NI T11_;
						T11_ = (NI)0;
						T11_ = lsub__renderer_413(g, (*n)._kind_6.sons->data[i]);
						if (!(((NI) 80) < T11_)) goto LA12_;
						result = NIM_TRUE;
						goto LA5;
					}
					LA12_: ;
					res += ((NI) 1);
				} LA8: ;
			}
		} LA5: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gif__renderer_1054)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	gcond__renderer_1043(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
	initContext__renderer_830((&c));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3198(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA10;
				i = i_2;
				optNL__renderer_197(g);
				gsub__renderer_841(g, (*n)._kind_6.sons->data[i], c, NIM_FALSE);
				i_2 += ((NI) 1);
			} LA10: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, gwhile__renderer_1077)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 66), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_102));
	gcond__renderer_1043(g, (*n)._kind_6.sons->data[((NI) 0)]);
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock__renderer_1097)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gcase__renderer_1146)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI last;
{	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__renderer_830((&c));
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NI T8_;
		T8_ = (NI)0;
		T8_ = len__ast_3198(n);
		if (!((*(*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA9_;
		last = ((NI) -2);
	}
	goto LA6_;
	LA9_: ;
	{
		last = ((NI) -1);
	}
	LA6_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = longMode__renderer_998((&(*g)), n, ((NI) 0), last);
		if (!T14_) goto LA15_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA15_: ;
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 10), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_103));
	gcond__renderer_1043(g, (*n)._kind_6.sons->data[((NI) 0)]);
	gcoms__renderer_394(g);
	optNL__renderer_197(g);
	gsons__renderer_965(g, n, c, ((NI) 1), last);
	{
		NI T27_;
		if (!(last == ((NI) -2))) goto LA19_;
		initContext__renderer_830((&c));
		{
			NI T23_;
			NIM_BOOL T24_;
			T23_ = (NI)0;
			T23_ = len__ast_3198(n);
			T24_ = (NIM_BOOL)0;
			T24_ = longMode__renderer_998((&(*g)), (*n)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], ((NI) 0), ((NI) -1));
			if (!T24_) goto LA25_;
			c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
		}
		LA25_: ;
		T27_ = (NI)0;
		T27_ = len__ast_3198(n);
		gsub__renderer_841(g, (*n)._kind_6.sons->data[(NI)(T27_ - ((NI) 1))], c, NIM_FALSE);
	}
	LA19_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gtry__renderer_1108)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 60), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_104), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	gsons__renderer_965(g, n, c, ((NI) 1), ((NI) -1));
}
N_LIB_PRIVATE N_NIMCALL(void, gfor__renderer_1118)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI T11_;
	NI T12_;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 28), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_105));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI T6_;
		NI T7_;
		NI T8_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = len__ast_3198(n);
		T6_ = (NI)0;
		T6_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[(NI)(T5_ - ((NI) 1))]);
		T7_ = (NI)0;
		T7_ = len__ast_3198(n);
		T8_ = (NI)0;
		T8_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))]);
		T3_ = (((NI) 80) < (NI)((NI)((NI)(T6_ + T8_) + ((NI) 6)) + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA9_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA9_: ;
	gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -3));
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 33), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_106));
	T11_ = (NI)0;
	T11_ = len__ast_3198(n);
	gsub__renderer_841(g, (*n)._kind_6.sons->data[(NI)(T11_ - ((NI) 2))], c, NIM_FALSE);
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	gcoms__renderer_394(g);
	T12_ = (NI)0;
	T12_ = len__ast_3198(n);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[(NI)(T12_ - ((NI) 1))], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gblock__renderer_1257)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__renderer_830((&c));
	{
		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_107));
		gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
	}
	goto LA6_;
	LA8_: ;
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 8), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_107), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	LA6_: ;
	{
		NI T13_;
		T13_ = (NI)0;
		T13_ = len__ast_3198(n);
		if (!(T13_ == ((NI) 1))) goto LA14_;
		goto BeforeRet_;
	}
	LA14_: ;
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	{
		NIM_BOOL T18_;
		NI T20_;
		T18_ = (NIM_BOOL)0;
		T18_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T18_) goto LA19_;
		T20_ = (NI)0;
		T20_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
		T18_ = (((NI) 80) < (NI)(T20_ + (*g).lineLen));
		LA19_: ;
		if (!T18_) goto LA21_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA21_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt__renderer_1279)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_73));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
}
N_LIB_PRIVATE N_NIMCALL(void, gasm__renderer_1289)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_108));
	gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
	gcoms__renderer_394(g);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(n);
		if (!(((NI) 1) < T3_)) goto LA4_;
		gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName__renderer_88)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL noQuotes) {
	NimStringDesc* result;
	NimStringDesc* x;
	result = NIM_NIL;
	x = (*(*s).name).s;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = noQuotes;
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = (((NU8)(x->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(255)));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = isKeyword__renderer_73((*s).name);
		T5_ = !(T7_);
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA8_;
		result = copyString(x);
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T11_;
		T11_ = NIM_NIL;
		T11_ = rawNewString((x ? x->Sup.len : 0) + 2);
appendChar(T11_, 96);
appendString(T11_, x);
appendChar(T11_, 96);
		result = T11_;
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, genSymSuffix__renderer_1182)(NimStringDesc** result, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym206_;
		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA3_;
		unsureAsgnRef((void**) (&(*result)), addChar((*result), 95));
		xX60gensym206_ = s;
		addInt__stdZprivateZdigitsutils_189(result, (NI)((NI)((NU64)(((NI) ((*xX60gensym206_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym206_).Sup.itemId.item))));
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gpattern__renderer_1088)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	initContext__renderer_830((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode__renderer_998((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		T5_ = (NI)0;
		T5_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
		T3_ = (((NI) 80) < (NI)(T5_ + (*g).lineLen));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, n, c, NIM_TRUE);
	put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
}
N_LIB_PRIVATE N_NIMCALL(void, gproc__renderer_1195)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	NIM_BOOL oldInGenericParams;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
		NimStringDesc* ret;
		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
		ret = renderDefinitionName__renderer_88(s, NIM_FALSE);
		genSymSuffix__renderer_1182((&ret), s);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ret, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	goto LA1_;
	LA3_: ;
	{
		gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
	}
	LA1_: ;
	{
		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
		gpattern__renderer_1088(g, (*n)._kind_6.sons->data[((NI) 1)]);
	}
	LA8_: ;
	oldInGenericParams = (*g).inGenericParams;
	(*g).inGenericParams = NIM_TRUE;
	{
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = (((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 1))&15U)))!=0);
		if (!(T13_)) goto LA14_;
		T13_ = !(((*(*n)._kind_6.sons->data[((NI) 5)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA14_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA15_;
		T12_ = !(((*(*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA15_: ;
		if (!T12_) goto LA16_;
		gsub__renderer_846(g, (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)], NIM_FALSE);
	}
	goto LA10_;
	LA16_: ;
	{
		gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 2)], NIM_FALSE);
	}
	LA10_: ;
	(*g).inGenericParams = oldInGenericParams;
	gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 3)], NIM_FALSE);
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 4))&15U)))!=0))) goto LA21_;
		gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 4)], NIM_FALSE);
	}
	LA21_: ;
	{
		if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 1))&15U)))!=0))) goto LA25_;
		{
			if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
			indentNL__renderer_203(g);
			gcoms__renderer_394(g);
			dedent__renderer_209(g);
			initContext__renderer_830((&c));
			gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 6)], c, NIM_TRUE);
			putNL__renderer_192(g);
		}
		goto LA27_;
		LA29_: ;
		{
			indentNL__renderer_203(g);
			gcoms__renderer_394(g);
			dedent__renderer_209(g);
		}
		LA27_: ;
	}
	LA25_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsection__renderer_980)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ kind, NimStringDesc* k) {
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_3198(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	putWithSpace__renderer_875(g, kind, k);
	gcoms__renderer_394(g);
	indentNL__renderer_203(g);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3198(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				optNL__renderer_197(g);
				gsub__renderer_841(g, (*n)._kind_6.sons->data[i], c, NIM_FALSE);
				gcoms__renderer_394(g);
				i_2 += ((NI) 1);
			} LA8: ;
		}
	}
	dedent__renderer_209(g);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams__renderer_2052)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
		p = NIM_NIL;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen__ast_3191(gp);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					p = (*gp)._kind_6.sons->data[i];
					{
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = ((*p).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
						if (T7_) goto LA8_;
						T7_ = !((((*(*p).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0));
						LA8_: ;
						if (!T7_) goto LA9_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA9_: ;
					i_2 += ((NI) 1);
				} LA4: ;
			}
		}
	}
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy__renderer_1249)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__renderer_830((&c));
	putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 12), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_142));
	gsons__renderer_965(g, (*n)._kind_6.sons->data[((NI) 0)], c, ((NI) 0), ((NI) -1));
	gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
	gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 2)], NIM_FALSE);
	gcoms__renderer_394(g);
	indentNL__renderer_203(g);
	gcoms__renderer_394(g);
	gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 3)], c, NIM_TRUE);
	dedent__renderer_209(g);
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_841)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL fromStmtList) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw a;
{	{
		if (!(n == 0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&a), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = shouldRenderComment__renderer_374((&(*g)), n);
		if (!T7_) goto LA8_;
		pushCom__renderer_337(g, n);
	}
	LA8_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T11_;
		T11_ = NIM_NIL;
		T11_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 85), T11_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		NimStringDesc* T14_;
		T14_ = NIM_NIL;
		T14_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 0), T14_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		gident__renderer_1297(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		NimStringDesc* T17_;
		T17_ = NIM_NIL;
		T17_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 69), T17_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* T19_;
		T19_ = NIM_NIL;
		T19_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 70), T19_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* T21_;
		T21_ = NIM_NIL;
		T21_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 71), T21_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* T23_;
		T23_ = NIM_NIL;
		T23_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 72), T23_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* T25_;
		T25_ = NIM_NIL;
		T25_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 73), T25_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* T27_;
		T27_ = NIM_NIL;
		T27_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 74), T27_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* T29_;
		T29_ = NIM_NIL;
		T29_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 75), T29_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* T31_;
		T31_ = NIM_NIL;
		T31_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 76), T31_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* T33_;
		T33_ = NIM_NIL;
		T33_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 77), T33_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* T35_;
		T35_ = NIM_NIL;
		T35_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 78), T35_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		NimStringDesc* T37_;
		T37_ = NIM_NIL;
		T37_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 79), T37_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		NimStringDesc* T39_;
		T39_ = NIM_NIL;
		T39_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 80), T39_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		NimStringDesc* T41_;
		T41_ = NIM_NIL;
		T41_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 81), T41_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		NimStringDesc* T43_;
		T43_ = NIM_NIL;
		T43_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 82), T43_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		NimStringDesc* T45_;
		T45_ = NIM_NIL;
		T45_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 83), T45_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* T47_;
		T47_ = NIM_NIL;
		T47_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84), T47_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		NimStringDesc* T49_;
		T49_ = NIM_NIL;
		T49_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 88), T49_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* T51_;
		T51_ = NIM_NIL;
		T51_ = atom__renderer_495((&(*g)), n);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 44), T51_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NIM_BOOL T55_;
			NI T56_;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
			NI i;
			T55_ = (NIM_BOOL)0;
			T56_ = (NI)0;
			T56_ = len__ast_3198(n);
			T55_ = (((NI) 1) < T56_);
			if (!(T55_)) goto LA57_;
			T58_ = NIM_NIL;
			T58_ = lastSon__ast_4832(n);
			T55_ = ((*T58_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*T58_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
			LA57_: ;
			if (!T55_) goto LA59_;
			accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 0)]);
			i = ((NI) 1);
			{
				while (1) {
					NIM_BOOL T63_;
					NI T64_;
					T63_ = (NIM_BOOL)0;
					T64_ = (NI)0;
					T64_ = len__ast_3198(n);
					T63_ = (i < T64_);
					if (!(T63_)) goto LA65_;
					T63_ = !(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126)));
					LA65_: ;
					if (!T63_) goto LA62;
					i += ((NI) 1);
				} LA62: ;
			}
			{
				NI T70_;
				if (!(((NI) 1) < i)) goto LA68_;
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				T70_ = (NI)0;
				T70_ = len__ast_3198(n);
				gcomma__renderer_953(g, n, ((NI) 1), (NI)((NI)(i - ((NI) 1)) - T70_));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			LA68_: ;
			{
				if (!fromStmtList) goto LA73_;
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			goto LA71_;
			LA73_: ;
			{
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			LA71_: ;
			gsub__renderer_1403(g, n, i);
			i += ((NI) 1);
			{
				NI j;
				NI colontmp_;
				NI i_2;
				j = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_3198(n);
				i_2 = i;
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA78;
						j = i_2;
						optNL__renderer_197(g);
						put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
						put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
						gsub__renderer_1403(g, n, j);
						i_2 += ((NI) 1);
					} LA78: ;
				}
			}
		}
		goto LA53_;
		LA59_: ;
		{
			NI T80_;
			tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g T83_;
			T80_ = (NI)0;
			T80_ = len__ast_3198(n);
			if (!(((NI) 1) <= T80_)) goto LA81_;
			T83_ = (tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g)0;
			T83_ = bracketKind__renderer_1423((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
			switch (T83_) {
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 1):
			{
				gsub__renderer_1403(g, n, ((NI) 1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gcomma__renderer_953(g, n, ((NI) 2), ((NI) -1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 2):
			{
				NI T86_;
				gsub__renderer_1403(g, n, ((NI) 1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gcomma__renderer_953(g, n, ((NI) 2), ((NI) -2));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
				T86_ = (NI)0;
				T86_ = len__ast_3198(n);
				gsub__renderer_1403(g, n, (NI)(T86_ - ((NI) 1)));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 3):
			{
				gsub__renderer_1403(g, n, ((NI) 1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gcomma__renderer_953(g, n, ((NI) 2), ((NI) -1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 4):
			{
				NI T89_;
				gsub__renderer_1403(g, n, ((NI) 1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gcomma__renderer_953(g, n, ((NI) 2), ((NI) -2));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
				T89_ = (NI)0;
				T89_ = len__ast_3198(n);
				gsub__renderer_1403(g, n, (NI)(T89_ - ((NI) 1)));
			}
			break;
			case ((tyEnum_BracketKind__vg9aVz6PBWRfhxLp28uoo3g) 0):
			{
				accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 0)]);
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			break;
			}
		}
		goto LA53_;
		LA81_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA53_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		{
			NI T95_;
			T95_ = (NI)0;
			T95_ = len__ast_3198(n);
			if (!(((NI) 0) < T95_)) goto LA96_;
			accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 0)]);
		}
		LA96_: ;
		{
			NIM_BOOL T100_;
			NI T101_;
			NimStringDesc* T105_;
			NimStringDesc* T106_;
			T100_ = (NIM_BOOL)0;
			T101_ = (NI)0;
			T101_ = len__ast_3198(n);
			T100_ = (((NI) 1) < T101_);
			if (!(T100_)) goto LA102_;
			T100_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21));
			LA102_: ;
			if (!T100_) goto LA103_;
			T105_ = NIM_NIL;
			T106_ = NIM_NIL;
			T106_ = nsuReplaceStr((*(*n)._kind_6.sons->data[((NI) 1)])._kind_3.strVal, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_6), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_7));
			T105_ = rawNewString((T106_ ? T106_->Sup.len : 0) + 2);
appendChar(T105_, 34);
appendString(T105_, T106_);
appendChar(T105_, 34);
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 84), T105_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA98_;
		LA103_: ;
		{
			gsub__renderer_1403(g, n, ((NI) 1));
		}
		LA98_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
	{
		{
			NI T111_;
			T111_ = (NI)0;
			T111_ = len__ast_3198(n);
			if (!(((NI) 2) <= T111_)) goto LA112_;
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
		}
		goto LA109_;
		LA112_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_70), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA109_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			if (!!(((544 & (*g).flags) == 0))) goto LA118_;
			accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 0)]);
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA116_;
		LA118_: ;
		{
			NI T121_;
			T121_ = (NI)0;
			T121_ = len__ast_3198(n);
			if (!(((NI) 2) <= T121_)) goto LA122_;
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
		}
		goto LA116_;
		LA122_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_70), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA116_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 11), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_71), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NIM_BOOL T128_;
			NI T129_;
			T128_ = (NIM_BOOL)0;
			T129_ = (NI)0;
			T129_ = len__ast_3198(n);
			T128_ = (((NI) 0) < T129_);
			if (!(T128_)) goto LA130_;
			T128_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA130_: ;
			if (!T128_) goto LA131_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gsub__renderer_1403(g, n, ((NI) 0));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA131_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_72), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T136_;
			T136_ = (NI)0;
			T136_ = len__ast_3198(n);
			if (!(((NI) 0) < T136_)) goto LA137_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA137_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_73), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 0)]);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T146_;
			T146_ = (NI)0;
			T146_ = len__ast_3198(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T146_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA147_;
			{
				NI i_3;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
				i_3 = (NI)0;
				child = NIM_NIL;
				{
					NI i_4;
					NI colontmp__2;
					NI i_5;
					i_4 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__2 = safeLen__ast_3191(n);
					i_5 = ((NI) 0);
					{
						while (1) {
							if (!(i_5 < colontmp__2)) goto LA152;
							i_4 = i_5;
							i_3 = i_4;
							child = (*n)._kind_6.sons->data[i_4];
							{
								NIM_BOOL T155_;
								NI T157_;
								T155_ = (NIM_BOOL)0;
								T155_ = (((NI) 1) < i_3);
								if (!(T155_)) goto LA156_;
								T157_ = (NI)0;
								T157_ = len__ast_3198(n);
								T155_ = (i_3 < (NI)(T157_ - ((NI) 1)));
								LA156_: ;
								if (!T155_) goto LA158_;
								put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
							}
							goto LA153_;
							LA158_: ;
							{
								NI T161_;
								T161_ = (NI)0;
								T161_ = len__ast_3198(n);
								if (!(i_3 == (NI)(T161_ - ((NI) 1)))) goto LA162_;
								put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
							}
							goto LA153_;
							LA162_: ;
							LA153_: ;
							{
								if (!(((NI) 0) < i_3)) goto LA166_;
								gsub__renderer_846(g, child, NIM_FALSE);
							}
							LA166_: ;
							i_5 += ((NI) 1);
						} LA152: ;
					}
				}
			}
		}
		goto LA144_;
		LA147_: ;
		{
			gcomma__renderer_953(g, n, ((NI) 1), ((NI) -1));
		}
		LA144_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_75), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_76), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_77), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		NimStringDesc* typ;
		NimStringDesc* T181_;
		{
			NIM_BOOL T176_;
			T176_ = (NIM_BOOL)0;
			T176_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
			if (!(T176_)) goto LA177_;
			T176_ = !(((*(*n).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
			LA177_: ;
			if (!T176_) goto LA178_;
			typ = (*(*(*(*n).typ).sym).name).s;
		}
		goto LA174_;
		LA178_: ;
		{
			typ = ((NimStringDesc*) NIM_NIL);
		}
		LA174_: ;
		T181_ = NIM_NIL;
		T181_ = rawNewString((typ ? typ->Sup.len : 0) + 1);
appendString(T181_, typ);
appendString(T181_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), T181_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T184_;
			T184_ = (NI)0;
			T184_ = len__ast_3198(n);
			if (!(((NI) 1) <= T184_)) goto LA185_;
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		LA185_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NimStringDesc* T208_;
			if (!(((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0)) goto LA190_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			{
				NI i_6;
				NI colontmp__3;
				NI i_7;
				i_6 = (NI)0;
				colontmp__3 = (NI)0;
				colontmp__3 = len__ast_3198(n);
				i_7 = ((NI) 0);
				{
					while (1) {
						if (!(i_7 < colontmp__3)) goto LA194;
						i_6 = i_7;
						{
							if (!(((NI) 0) < i_6)) goto LA197_;
							put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_78), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
						}
						LA197_: ;
						{
							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
							if (!((*(*n)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA201_;
							s = (*(*n)._kind_6.sons->data[i_6])._kind_4.sym;
							{
								if (!!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA205_;
								put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), (*(*(*(*(*n)._kind_6.sons->data[i_6])._kind_4.sym).owner).name).s, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
								put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_79), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
							}
							LA205_: ;
							put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), (*(*(*(*n)._kind_6.sons->data[i_6])._kind_4.sym).name).s, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
						}
						goto LA199_;
						LA201_: ;
						{
							gsub__renderer_841(g, (*n)._kind_6.sons->data[i_6], c, NIM_FALSE);
						}
						LA199_: ;
						i_7 += ((NI) 1);
					} LA194: ;
				}
			}
			T208_ = NIM_NIL;
			{
				if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA211_;
				T208_ = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_80));
			}
			goto LA209_;
			LA211_: ;
			{
				T208_ = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55));
			}
			LA209_: ;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), T208_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA188_;
		LA190_: ;
		{
			gsub__renderer_1403(g, n, ((NI) 0));
		}
		LA188_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
		{
			NIM_BOOL T219_;
			NI T220_;
			T219_ = (NIM_BOOL)0;
			T220_ = (NI)0;
			T220_ = len__ast_3198(n);
			T219_ = (T220_ == ((NI) 1));
			if (!(T219_)) goto LA221_;
			T219_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)));
			LA221_: ;
			if (!T219_) goto LA222_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_74), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA222_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 94), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_68), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T229_;
			T229_ = (NI)0;
			T229_ = len__ast_3198(n);
			if (!(((NI) 0) < T229_)) goto LA230_;
			gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
		}
		goto LA227_;
		LA230_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA227_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 95), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_69), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		{
			NIM_BOOL T237_;
			T237_ = (NIM_BOOL)0;
			T237_ = isCustomLit__renderer_1521(n);
			if (!T237_) goto LA238_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 89), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_3.strVal, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gsub__renderer_1403(g, n, ((NI) 1));
		}
		goto LA235_;
		LA238_: ;
		{
			gsub__renderer_1403(g, n, ((NI) 0));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 107), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_79), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			accentedName__renderer_1467(g, (*n)._kind_6.sons->data[((NI) 1)]);
		}
		LA235_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_81));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		{
			if (!(((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0)) goto LA245_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 3), reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
		}
		LA245_: ;
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_82));
		gsub__renderer_1403(g, n, ((NI) 3));
		gsub__renderer_1403(g, n, ((NI) 4));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
		gsub__renderer_1403(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 20), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_57));
		{
			NI T251_;
			T251_ = (NI)0;
			T251_ = len__ast_3198(n);
			if (!(((NI) 3) < T251_)) goto LA252_;
			doParamsAux__renderer_1388(g, (*n)._kind_6.sons->data[((NI) 3)]);
		}
		LA252_: ;
		gsub__renderer_1403(g, n, ((NI) 4));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -3));
		{
			NIM_BOOL T257_;
			NI T258_;
			NI T260_;
			NI T263_;
			T257_ = (NIM_BOOL)0;
			T258_ = (NI)0;
			T258_ = len__ast_3198(n);
			T257_ = (((NI) 2) <= T258_);
			if (!(T257_)) goto LA259_;
			T260_ = (NI)0;
			T260_ = len__ast_3198(n);
			T257_ = !(((*(*n)._kind_6.sons->data[(NI)(T260_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA259_: ;
			if (!T257_) goto LA261_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
			T263_ = (NI)0;
			T263_ = len__ast_3198(n);
			gsub__renderer_1403(g, n, (NI)(T263_ - ((NI) 2)));
		}
		LA261_: ;
		{
			NIM_BOOL T266_;
			NI T267_;
			NI T269_;
			NI T272_;
			T266_ = (NIM_BOOL)0;
			T267_ = (NI)0;
			T267_ = len__ast_3198(n);
			T266_ = (((NI) 1) <= T267_);
			if (!(T266_)) goto LA268_;
			T269_ = (NI)0;
			T269_ = len__ast_3198(n);
			T266_ = !(((*(*n)._kind_6.sons->data[(NI)(T269_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA268_: ;
			if (!T266_) goto LA270_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
			T272_ = (NI)0;
			T272_ = len__ast_3198(n);
			gsub__renderer_841(g, (*n)._kind_6.sons->data[(NI)(T272_ - ((NI) 1))], c, NIM_FALSE);
		}
		LA270_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		{
			NI T276_;
			T276_ = (NI)0;
			T276_ = len__ast_3198(n);
			if (!((*(*n)._kind_6.sons->data[(NI)(T276_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA277_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gcomma__renderer_953(g, n, ((NI) 0), ((NI) -2));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA274_;
		LA277_: ;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T280_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gcomma__renderer_953(g, n, ((NI) 0), ((NI) -3));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
			T280_ = NIM_NIL;
			T280_ = lastSon__ast_4832(n);
			gsub__renderer_841(g, T280_, c, NIM_FALSE);
		}
		LA274_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI oldLineLen;
		oldLineLen = (*g).lineLen;
		infixArgument__renderer_1484(g, n, ((NI) 1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 0));
		{
			NIM_BOOL T285_;
			NI T286_;
			NI T288_;
			NI T289_;
			NI T290_;
			NIM_BOOL T291_;
			T285_ = (NIM_BOOL)0;
			T286_ = (NI)0;
			T286_ = len__ast_3198(n);
			T285_ = (T286_ == ((NI) 3));
			if (!(T285_)) goto LA287_;
			T288_ = (NI)0;
			T288_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 1)]);
			T289_ = (NI)0;
			T289_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 2)]);
			T290_ = (NI)0;
			T290_ = lsub__renderer_413((&(*g)), (*n)._kind_6.sons->data[((NI) 0)]);
			T291_ = (NIM_BOOL)0;
			T291_ = fits__renderer_811((&(*g)), (NI)((NI)((NI)((NI)(oldLineLen + T288_) + T289_) + T290_) + ((NI) 2)));
			T285_ = !(T291_);
			LA287_: ;
			if (!T285_) goto LA292_;
			optNL__renderer_194(g, (NI)((*g).indent + ((NI) 4)));
		}
		goto LA283_;
		LA292_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA283_: ;
		infixArgument__renderer_1484(g, n, ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		{
			NI T298_;
			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* opr;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nNext;
			T298_ = (NI)0;
			T298_ = len__ast_3198(n);
			if (!(((NI) 1) < T298_)) goto LA299_;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA303_;
				opr = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident;
			}
			goto LA301_;
			LA303_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA306_;
				opr = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA301_;
			LA306_: ;
			{
				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA309_;
				opr = (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
			}
			goto LA301_;
			LA309_: ;
			{
				opr = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
			}
			LA301_: ;
			nNext = skipHiddenNodes__renderer_1444((*n)._kind_6.sons->data[((NI) 1)]);
			{
				NIM_BOOL T314_;
				NIM_BOOL T316_;
				NIM_BOOL T317_;
				T314_ = (NIM_BOOL)0;
				T314_ = ((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
				if (T314_) goto LA315_;
				T316_ = (NIM_BOOL)0;
				T317_ = (NIM_BOOL)0;
				T317_ = eqeq___idents_220(opr, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
				T316_ = !(T317_);
				if (!(T316_)) goto LA318_;
				T316_ = isKeyword__renderer_73(opr);
				LA318_: ;
				T314_ = T316_;
				LA315_: ;
				if (!T314_) goto LA319_;
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			LA319_: ;
			{
				if (!((*nNext).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA323_;
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
				gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
				put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			}
			goto LA321_;
			LA323_: ;
			{
				gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
			}
			LA321_: ;
		}
		LA299_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		gsub__renderer_1403(g, n, ((NI) 1));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 108), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_84), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 110), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_61), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI i_8;
			NI colontmp__4;
			NI i_9;
			i_8 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = len__ast_3198(n);
			i_9 = ((NI) 0);
			{
				while (1) {
					NIM_BOOL useSpace;
					if (!(i_9 < colontmp__4)) goto LA332;
					i_8 = i_9;
					useSpace = NIM_FALSE;
					{
						NIM_BOOL T335_;
						NIM_BOOL T336_;
						T335_ = (NIM_BOOL)0;
						T336_ = (NIM_BOOL)0;
						T336_ = (i_8 == ((NI) 1));
						if (!(T336_)) goto LA337_;
						T336_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
						LA337_: ;
						T335_ = T336_;
						if (!(T335_)) goto LA338_;
						T335_ = contains__stdZenumutils_43(TM__1E0z9biZTE3PahFHulMjtyw_85, 2, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s);
						LA338_: ;
						if (!T335_) goto LA339_;
						{
							NIM_BOOL T343_;
							T343_ = (NIM_BOOL)0;
							T343_ = isAlpha__renderer_1828((*n)._kind_6.sons->data[((NI) 1)]);
							if (!!(T343_)) goto LA344_;
							useSpace = NIM_TRUE;
						}
						LA344_: ;
					}
					goto LA333_;
					LA339_: ;
					{
						NIM_BOOL T347_;
						NIM_BOOL T348_;
						T347_ = (NIM_BOOL)0;
						T348_ = (NIM_BOOL)0;
						T348_ = (i_8 == ((NI) 1));
						if (!(T348_)) goto LA349_;
						T348_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
						LA349_: ;
						T347_ = T348_;
						if (!(T347_)) goto LA350_;
						T347_ = eqStrings((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_5.ident).s, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
						LA350_: ;
						if (!T347_) goto LA351_;
						{
							NIM_BOOL T355_;
							T355_ = (NIM_BOOL)0;
							T355_ = isAlpha__renderer_1828((*n)._kind_6.sons->data[((NI) 0)]);
							if (!!(T355_)) goto LA356_;
							useSpace = NIM_TRUE;
						}
						LA356_: ;
					}
					goto LA333_;
					LA351_: ;
					{
						if (!(((NI) 0) < i_8)) goto LA359_;
						useSpace = NIM_TRUE;
					}
					goto LA333_;
					LA359_: ;
					LA333_: ;
					{
						if (!useSpace) goto LA363_;
						put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
					}
					LA363_: ;
					gsub__renderer_846(g, (*n)._kind_6.sons->data[i_8], NIM_FALSE);
					i_9 += ((NI) 1);
				} LA332: ;
			}
		}
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 112), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_44), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_86));
		{
			NI T368_;
			T368_ = (NI)0;
			T368_ = len__ast_3198(n);
			if (!(((NI) 0) < T368_)) goto LA369_;
			gcond__renderer_1043(g, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
		}
		LA369_: ;
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		{
			NI T373_;
			T373_ = (NI)0;
			T373_ = len__ast_3198(n);
			if (!(((NI) 0) < T373_)) goto LA374_;
			gsub__renderer_1403(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		LA374_: ;
		gsons__renderer_965(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_88));
		gcond__renderer_1043(g, (*n)._kind_6.sons->data[((NI) 0)]);
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_89), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_90), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T381_;
			T381_ = (NI)0;
			T381_ = len__ast_3198(n);
			if (!(((NI) 0) < T381_)) goto LA382_;
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		LA382_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		{
			NI T387_;
			T387_ = (NI)0;
			T387_ = len__ast_3198(n);
			if (!(((NI) 0) < T387_)) goto LA388_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_91));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		goto LA385_;
		LA388_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 54), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_91), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA385_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		{
			NI T394_;
			T394_ = (NI)0;
			T394_ = len__ast_3198(n);
			if (!(((NI) 0) < T394_)) goto LA395_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_92));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		goto LA392_;
		LA395_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 52), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_92), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA392_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		{
			NI T401_;
			T401_ = (NI)0;
			T401_ = len__ast_3198(n);
			if (!(((NI) 0) < T401_)) goto LA402_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_93));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		goto LA399_;
		LA402_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_93), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA399_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		{
			NI T408_;
			T408_ = (NI)0;
			T408_ = len__ast_3198(n);
			if (!(((NI) 0) < T408_)) goto LA409_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 18), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_94));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			{
				NI T413_;
				T413_ = (NI)0;
				T413_ = len__ast_3198(n);
				if (!(((NI) 1) < T413_)) goto LA414_;
				{
					if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA418_;
					putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_95));
				}
				goto LA416_;
				LA418_: ;
				{
					putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_96));
				}
				LA416_: ;
				gcomma__renderer_953(g, (*n)._kind_6.sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			}
			LA414_: ;
		}
		goto LA406_;
		LA409_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 18), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_94), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA406_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		{
			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA425_;
			gsub__renderer_1403(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 0));
			gsub__renderer_1403(g, n, ((NI) 1));
			gsub__renderer_1403(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA423_;
		LA425_: ;
		{
			gsub__renderer_1403(g, n, ((NI) 0));
			gsub__renderer_1403(g, n, ((NI) 1));
		}
		LA423_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NIM_BOOL T430_;
			NI T431_;
			T430_ = (NIM_BOOL)0;
			T431_ = (NI)0;
			T431_ = len__ast_3198(n);
			T430_ = (((NI) 2) < T431_);
			if (!(T430_)) goto LA432_;
			T430_ = !(((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA432_: ;
			if (!T430_) goto LA433_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 2)], NIM_FALSE);
		}
		LA433_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		{
			NI T438_;
			T438_ = (NI)0;
			T438_ = len__ast_3198(n);
			if (!(((NI) 0) < T438_)) goto LA439_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_97));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
			gcoms__renderer_394(g);
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 2)], NIM_FALSE);
		}
		goto LA436_;
		LA439_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 47), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_97), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA436_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		indentNL__renderer_203(g);
		{
			NI i_10;
			NI colontmp__5;
			NI i_11;
			i_10 = (NI)0;
			colontmp__5 = (NI)0;
			colontmp__5 = len__ast_3198(n);
			i_11 = ((NI) 0);
			{
				while (1) {
					if (!(i_11 < colontmp__5)) goto LA445;
					i_10 = i_11;
					optNL__renderer_197(g);
					gsub__renderer_841(g, (*n)._kind_6.sons->data[i_10], c, NIM_FALSE);
					gcoms__renderer_394(g);
					i_11 += ((NI) 1);
				} LA445: ;
			}
		}
		dedent__renderer_209(g);
		putNL__renderer_192(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_98));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		{
			NI T450_;
			T450_ = (NI)0;
			T450_ = len__ast_3198(n);
			if (!(((NI) 0) < T450_)) goto LA451_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_82));
			gsub__renderer_1403(g, n, ((NI) 0));
			gsub__renderer_1403(g, n, ((NI) 1));
		}
		goto LA448_;
		LA451_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_82), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA448_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		{
			NI T457_;
			T457_ = (NI)0;
			T457_ = len__ast_3198(n);
			if (!(((NI) 0) < T457_)) goto LA458_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_99));
			gsub__renderer_1403(g, n, ((NI) 0));
			gsub__renderer_1403(g, n, ((NI) 1));
		}
		goto LA455_;
		LA458_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_99), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA455_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 58), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_73), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NI T464_;
			T464_ = (NI)0;
			T464_ = len__ast_3198(n);
			if (!(((NI) 0) < T464_)) goto LA465_;
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		LA465_: ;
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T470_;
			T470_ = (NI)0;
			T470_ = len__ast_3198(n);
			if (!(((NI) 0) < T470_)) goto LA471_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_100));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			gcoms__renderer_394(g);
			indentNL__renderer_203(g);
			gcommaAux__renderer_901(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
			gcoms__renderer_394(g);
			dedent__renderer_209(g);
		}
		goto LA468_;
		LA471_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 24), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_100), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA468_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 106), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_67));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
	{
		{
			NIM_BOOL T478_;
			NI T479_;
			T478_ = (NIM_BOOL)0;
			T479_ = (NI)0;
			T479_ = len__ast_3198(n);
			T478_ = (T479_ == ((NI) 1));
			if (!(T478_)) goto LA480_;
			T478_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114));
			LA480_: ;
			if (!T478_) goto LA481_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA476_;
		LA481_: ;
		{
			gstmts__renderer_1013(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, NIM_TRUE);
		}
		LA476_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 31), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_86));
		gif__renderer_1054(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 65), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_101));
		gif__renderer_1054(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		gwhile__renderer_1077(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		gpragmaBlock__renderer_1097(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		gcase__renderer_1146(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		gtry__renderer_1108(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		gfor__renderer_1118(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
	{
		gblock__renderer_1257(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		gstaticStmt__renderer_1279(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		gasm__renderer_1289(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA497_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 51), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_82));
		}
		LA497_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA502_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 30), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_109));
		}
		LA502_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA507_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 15), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_110));
		}
		LA507_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA512_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 41), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_111));
		}
		LA512_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA517_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 38), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_99));
		}
		LA517_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA522_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 40), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_112));
		}
		LA522_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
	{
		{
			if (!!((((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 6))&15U)))!=0))) goto LA527_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 59), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_113));
		}
		LA527_: ;
		gproc__renderer_1195(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		gsection__renderer_980(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 62), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_114));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
		initContext__renderer_830((&a));
		a.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag__HgctW1zPuXVJBXUriqTnfQ) 1)) & 7);
		gsection__renderer_980(g, n, a, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 13), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_115));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI T534_;
			T534_ = (NI)0;
			T534_ = len__ast_3198(n);
			if (!(T534_ == ((NI) 0))) goto LA535_;
			goto BeforeRet_;
		}
		LA535_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99))) goto LA539_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 64), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_93));
		}
		goto LA537_;
		LA539_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100))) goto LA542_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 39), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_116));
		}
		goto LA537_;
		LA542_: ;
		{
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 63), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_117));
		}
		LA537_: ;
		{
			NI T547_;
			T547_ = (NI)0;
			T547_ = len__ast_3198(n);
			if (!(((NI) 1) < T547_)) goto LA548_;
			gcoms__renderer_394(g);
			indentNL__renderer_203(g);
			{
				NI i_12;
				NI colontmp__6;
				NI i_13;
				i_12 = (NI)0;
				colontmp__6 = (NI)0;
				colontmp__6 = len__ast_3198(n);
				i_13 = ((NI) 0);
				{
					while (1) {
						if (!(i_13 < colontmp__6)) goto LA552;
						i_12 = i_13;
						optNL__renderer_197(g);
						gsub__renderer_846(g, (*n)._kind_6.sons->data[i_12], NIM_FALSE);
						gcoms__renderer_394(g);
						i_13 += ((NI) 1);
					} LA552: ;
				}
			}
			dedent__renderer_209(g);
		}
		goto LA545_;
		LA548_: ;
		{
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		LA545_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 55), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_118));
		{
			NIM_BOOL T557_;
			NI T558_;
			T557_ = (NIM_BOOL)0;
			T558_ = (NI)0;
			T558_ = len__ast_3198(n);
			T557_ = (((NI) 0) < T558_);
			if (!(T557_)) goto LA559_;
			T557_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA559_: ;
			if (!T557_) goto LA560_;
			gsub__renderer_1403(g, (*n)._kind_6.sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA555_;
		LA560_: ;
		{
			gsub__renderer_1403(g, n, ((NI) 0));
		}
		LA555_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 53), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_119));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 68), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_120));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 17), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_121));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 9), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_122));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 14), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_123));
		gsub__renderer_1403(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		{
			if (!((*g).inPragma <= ((NI) 0))) goto LA571_;
			(*g).inPragma += ((NI) 1);
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 98), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_124), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gcomma__renderer_941(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, ((NI) 0), ((NI) -1));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 99), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_125), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			(*g).inPragma -= ((NI) 1);
		}
		goto LA569_;
		LA571_: ;
		{
			gcomma__renderer_941(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, ((NI) 0), ((NI) -1));
		}
		LA569_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116))) goto LA577_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_126));
		}
		goto LA575_;
		LA577_: ;
		{
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 26), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_127));
		}
		LA575_: ;
		gcoms__renderer_394(g);
		indentNL__renderer_203(g);
		gcommaAux__renderer_901(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
		dedent__renderer_209(g);
		putNL__renderer_192(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117))) goto LA583_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_126));
		}
		goto LA581_;
		LA583_: ;
		{
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 26), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_127));
		}
		LA581_: ;
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_128));
		gcommaAux__renderer_901(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
		gcoms__renderer_394(g);
		putNL__renderer_192(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 29), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_129));
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 32), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_126));
		gcomma__renderer_941(g, n, TM__1E0z9biZTE3PahFHulMjtyw_87, ((NI) 1), ((NI) -1));
		putNL__renderer_192(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 34), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_130));
		gcoms__renderer_394(g);
		indentNL__renderer_203(g);
		gcommaAux__renderer_901(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 102));
		dedent__renderer_209(g);
		putNL__renderer_192(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		gcoms__renderer_394(g);
		optNL__renderer_197(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T590_;
		optNL__renderer_197(g);
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 48), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_98));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -2));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gcoms__renderer_394(g);
		T590_ = NIM_NIL;
		T590_ = lastSon__ast_4832(n);
		gstmts__renderer_1013(g, T590_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 113), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_53), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 5), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_131));
		gsub__renderer_1403(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 7), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_81));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 42), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_132));
		gcomma__renderer_941(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		optNL__renderer_197(g);
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 21), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_133));
		gsub__renderer_1403(g, n, ((NI) 0));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gcoms__renderer_394(g);
		gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 1)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		optNL__renderer_197(g);
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 22), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_134), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gcoms__renderer_394(g);
		gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
	{
		optNL__renderer_197(g);
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA599_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 27), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_135), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		goto LA597_;
		LA599_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 16), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_136), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA597_: ;
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gcoms__renderer_394(g);
		gstmts__renderer_1013(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T609_;
		optNL__renderer_197(g);
		{
			NI T605_;
			T605_ = (NI)0;
			T605_ = len__ast_3198(n);
			if (!!((T605_ == ((NI) 1)))) goto LA606_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_128));
		}
		goto LA603_;
		LA606_: ;
		{
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 25), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_128), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA603_: ;
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -2));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		gcoms__renderer_394(g);
		T609_ = NIM_NIL;
		T609_ = lastSon__ast_4832(n);
		gstmts__renderer_1013(g, T609_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		{
			NIM_BOOL T613_;
			T613_ = (NIM_BOOL)0;
			T613_ = hasExplicitParams__renderer_2052(n);
			if (!T613_) goto LA614_;
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
			gsemicolon__renderer_959(g, n, ((NI) 0), ((NI) -1));
			put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		}
		LA614_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_45), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsemicolon__renderer_959(g, n, ((NI) 1), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			NIM_BOOL T619_;
			NI T620_;
			T619_ = (NIM_BOOL)0;
			T620_ = (NI)0;
			T620_ = len__ast_3198(n);
			T619_ = (((NI) 0) < T620_);
			if (!(T619_)) goto LA621_;
			T619_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA621_: ;
			if (!T619_) goto LA622_;
			putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
			gsub__renderer_846(g, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
		}
		LA622_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_137), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 92), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_65), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gcomma__renderer_953(g, n, ((NI) 0), ((NI) -1));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 93), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_66), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_137), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 90), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_138), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		gsub__renderer_1403(g, n, ((NI) 0));
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 91), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_55), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
	{
		tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c_2;
		nimZeroMem((void*)(&c_2), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext__renderer_830((&c_2));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_139));
		gsons__renderer_965(g, n, c_2, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c_3;
		nimZeroMem((void*)(&c_3), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext__renderer_830((&c_3));
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_140));
		gsub__renderer_841(g, (*n)._kind_6.sons->data[((NI) 0)], c_3, NIM_FALSE);
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 104), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_56));
		indentNL__renderer_203(g);
		gsons__renderer_965(g, n, c_3, ((NI) 1), ((NI) -1));
		dedent__renderer_209(g);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		put__renderer_226(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 61), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_141), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
		{
			if (!(((*g).flags &((NU16)1<<((NU)(((tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw) 5))&15U)))!=0)) goto LA632_;
			gsons__renderer_965(g, n, c, ((NI) 0), ((NI) -1));
		}
		LA632_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
	{
		gTypeClassTy__renderer_1249(g, n);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 161):
	{
		putWithSpace__renderer_875(g, ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 2), ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_143));
		gsub__renderer_841(g, (*n)._kind_6.sons->data[((NI) 0)], c, NIM_FALSE);
	}
	break;
	default:
	{
		NimStringDesc* T637_;
		T637_ = NIM_NIL;
		T637_ = rawNewString((reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 15);
appendString(T637_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_144));
appendString(T637_, reprEnum((NI)(*n).kind, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendChar(T637_, 41);
		internalErrorImpl__msgs_1431((*g).config, (*n).info, T637_, TM__1E0z9biZTE3PahFHulMjtyw_145);
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gsub__renderer_846)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL fromStmtList) {
	tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext__renderer_830((&c));
	gsub__renderer_841(g, n, c, fromStmtList);
}
N_LIB_PRIVATE N_NIMCALL(void, gstmts__renderer_1013)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyTuple__O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent) {
{	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA7_;
		{
			if (!doIndent) goto LA11_;
			indentNL__renderer_203(g);
		}
		LA11_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_3198(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA15;
					i = i_2;
					{
						if (!(((NI) 0) < i)) goto LA18_;
						optNL__renderer_199(g, (*n)._kind_6.sons->data[(NI)(i - ((NI) 1))], (*n)._kind_6.sons->data[i]);
					}
					goto LA16_;
					LA18_: ;
					{
						optNL__renderer_197(g);
					}
					LA16_: ;
					{
						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA23_;
						gstmts__renderer_1013(g, (*n)._kind_6.sons->data[i], c, NIM_FALSE);
					}
					goto LA21_;
					LA23_: ;
					{
						gsub__renderer_846(g, (*n)._kind_6.sons->data[i], NIM_TRUE);
					}
					LA21_: ;
					gcoms__renderer_394(g);
					i_2 += ((NI) 1);
				} LA15: ;
			}
		}
		{
			if (!doIndent) goto LA28_;
			dedent__renderer_209(g);
		}
		LA28_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		indentNL__renderer_203(g);
		gsub__renderer_846(g, n, NIM_FALSE);
		gcoms__renderer_394(g);
		dedent__renderer_209(g);
		optNL__renderer_197(g);
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	NimStringDesc* result;
	tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg g;
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T5_;
{	result = NIM_NIL;
	{
		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
		result = copyString(((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_2));
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
	T5_ = NIM_NIL;
	T5_ = newPartialConfigRef__options_2497();
	initSrcGen__renderer_101((&g), renderFlags, T5_);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA8_;
		gstmts__renderer_1013((&g), n, TM__1E0z9biZTE3PahFHulMjtyw_87, NIM_FALSE);
	}
	goto LA6_;
	LA8_: ;
	{
		gsub__renderer_846((&g), n, NIM_FALSE);
	}
	LA6_: ;
	result = copyString(g.buf);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = renderTree__renderer_46(n, 0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, renderModule__renderer_2109)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* outfile, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags, NI32 fid, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
	FILE* f;
	tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg g;
	f = (FILE*)0;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg));
	initSrcGen__renderer_101((&g), renderFlags, conf);
	g.fid = fid;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_3198(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				gsub__renderer_846((&g), (*n)._kind_6.sons->data[i], NIM_FALSE);
				optNL__renderer_197((&g));
				switch ((*(*n)._kind_6.sons->data[i]).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
				{
					putNL__renderer_192((&g));
				}
				break;
				default:
				{
				}
				break;
				}
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	gcoms__renderer_394((&g));
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = open__systemZio_389(&f, outfile, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
		if (!T8_) goto LA9_;
		write__systemZio_205(f, g.buf);
		close__systemZio_217(f);
	}
	goto LA6_;
	LA9_: ;
	{
		NimStringDesc* T12_;
		T12_ = NIM_NIL;
		T12_ = rawNewString((outfile ? outfile->Sup.len : 0) + 18);
appendString(T12_, ((NimStringDesc*) &TM__1E0z9biZTE3PahFHulMjtyw_146));
appendString(T12_, outfile);
		liMessage__msgs_1118(g.config, unknownLineInfo__lineinfos_281, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 15), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 1), TM__1E0z9biZTE3PahFHulMjtyw_147, NIM_FALSE);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initTokRender__renderer_2127)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T1_;
	T1_ = NIM_NIL;
	T1_ = newPartialConfigRef__options_2497();
	initSrcGen__renderer_101(r, renderFlags, T1_);
	gsub__renderer_846(r, n, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, getNextTok__renderer_2131)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r, tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ* kind, NimStringDesc** literal) {
	{
		NI T3_;
		NI length;
		T3_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		if (!((*r).idx < T3_)) goto LA4_;
		(*kind) = (*r).tokens->data[(*r).idx].kind;
		length = ((NI) ((*r).tokens->data[(*r).idx].length));
		unsureAsgnRef((void**) (&(*literal)), substr__system_7744((*r).buf, (*r).pos, (NI)((NI)((*r).pos + length) - ((NI) 1))));
		(*r).pos += length;
		(*r).idx += ((NI) 1);
	}
	goto LA1_;
	LA4_: ;
	{
		(*kind) = ((tyEnum_TokType__5VVBIL7Ozj1cc9akK23jAGQ) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getTokSym__renderer_2147)(tyObject_TSrcGen__T8CUsYfvFor5lPGY7PW7Dg* r) {
	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (*r).idx);
		if (!(T3_)) goto LA4_;
		T5_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		T3_ = ((*r).idx <= T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		result = (*r).tokens->data[(NI)((*r).idx - ((NI) 1))].sym;
	}
	goto LA1_;
	LA6_: ;
	{
		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void) {
static TNimNode* TM__1E0z9biZTE3PahFHulMjtyw_3_3[3];
static TNimNode TM__1E0z9biZTE3PahFHulMjtyw_0[4];
NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_.size = sizeof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA);
NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_.align = NIM_ALIGNOF(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA);
NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_.kind = 18;
NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_.base = 0;
TM__1E0z9biZTE3PahFHulMjtyw_3_3[0] = &TM__1E0z9biZTE3PahFHulMjtyw_0[1];
TM__1E0z9biZTE3PahFHulMjtyw_0[1].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[1].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, kind);
TM__1E0z9biZTE3PahFHulMjtyw_0[1].typ = (&NTItoktype__5VVBIL7Ozj1cc9akK23jAGQ_);
TM__1E0z9biZTE3PahFHulMjtyw_0[1].name = "kind";
TM__1E0z9biZTE3PahFHulMjtyw_3_3[1] = &TM__1E0z9biZTE3PahFHulMjtyw_0[2];
TM__1E0z9biZTE3PahFHulMjtyw_0[2].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[2].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, length);
TM__1E0z9biZTE3PahFHulMjtyw_0[2].typ = (&NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_);
TM__1E0z9biZTE3PahFHulMjtyw_0[2].name = "length";
TM__1E0z9biZTE3PahFHulMjtyw_3_3[2] = &TM__1E0z9biZTE3PahFHulMjtyw_0[3];
TM__1E0z9biZTE3PahFHulMjtyw_0[3].kind = 1;
TM__1E0z9biZTE3PahFHulMjtyw_0[3].offset = offsetof(tyObject_TRenderTok__FnEE3o2nWtqdjoC0wa2wgA, sym);
TM__1E0z9biZTE3PahFHulMjtyw_0[3].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
TM__1E0z9biZTE3PahFHulMjtyw_0[3].name = "sym";
TM__1E0z9biZTE3PahFHulMjtyw_0[0].len = 3; TM__1E0z9biZTE3PahFHulMjtyw_0[0].kind = 2; TM__1E0z9biZTE3PahFHulMjtyw_0[0].sons = &TM__1E0z9biZTE3PahFHulMjtyw_3_3[0];
NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_.node = &TM__1E0z9biZTE3PahFHulMjtyw_0[0];
NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_.size = sizeof(tySequence__0W45b4tBLx0JWnu0NjAmVQ*);
NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_.align = NIM_ALIGNOF(tySequence__0W45b4tBLx0JWnu0NjAmVQ*);
NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_.kind = 24;
NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_.base = (&NTItrendertok__FnEE3o2nWtqdjoC0wa2wgA_);
NTItrendertokseq__0W45b4tBLx0JWnu0NjAmVQ_.marker = Marker_tySequence__0W45b4tBLx0JWnu0NjAmVQ;
}

