/* Generated by Nim Compiler v0.19.0 */
/*   (c) 2018 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_NEW_MANGLING_RULES
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#include <dirent.h>
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg;
typedef struct RootObj RootObj;
typedef struct tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tySequence_b7kA8pLABz0wMAUNGYo6Wg tySequence_b7kA8pLABz0wMAUNGYo6Wg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ;
typedef struct tySequence_pUxI6Ljo6IKKHXKOZkQ7Og tySequence_pUxI6Ljo6IKKHXKOZkQ7Og;
typedef struct tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw;
typedef struct tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg;
typedef struct tyTuple_WCz3Z7at9aJyVFSh5OmwJNg tyTuple_WCz3Z7at9aJyVFSh5OmwJNg;
typedef struct tyObject_Env_dotdotslashdotdotslashdotdotslashdotdotslashnimslashlibslashpackagesslashdocutilsslashrstgendotnim__4Ve8wOWSE8Hdar7fr5TdwQ tyObject_Env_dotdotslashdotdotslashdotdotslashdotdotslashnimslashlibslashpackagesslashdocutilsslashrstgendotnim__4Ve8wOWSE8Hdar7fr5TdwQ;
typedef struct tySequence_xv3aaFd3JCw8NbmALHiezQ tySequence_xv3aaFd3JCw8NbmALHiezQ;
typedef struct tyTuple_7q7q3E6Oj24ZNVJb9aonhAg tyTuple_7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tySequence_sawZST1Esj3o7EY9ayWwGPw tySequence_sawZST1Esj3o7EY9ayWwGPw;
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_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA;
typedef struct tyTuple_UV3llMMYFckfui8YMBuUZA tyTuple_UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA;
typedef struct tyTuple_19af1Yi5wzYJHEoosvtCJdQ tyTuple_19af1Yi5wzYJHEoosvtCJdQ;
typedef struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ tySequence_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence_5PunAJrNQYcB8dF0jau3pQ tySequence_5PunAJrNQYcB8dF0jau3pQ;
typedef struct tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg;
typedef struct tyObject_Table_XC01wkRgzAyOjTiapde7hQ tyObject_Table_XC01wkRgzAyOjTiapde7hQ;
typedef struct tySequence_wAC0kXbVGkLoWP8vdi0sUw tySequence_wAC0kXbVGkLoWP8vdi0sUw;
typedef struct Exception Exception;
typedef struct tySequence_uB9b75OUPRENsBAu4AnoePA tySequence_uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyTuple_A9cRoiotm9actU8lLMnN9bYcw tyTuple_A9cRoiotm9actU8lLMnN9bYcw;
typedef struct tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ;
typedef struct tyTuple_sPaDkVPSC0MkcoXCxPH9ccA tyTuple_sPaDkVPSC0MkcoXCxPH9ccA;
typedef struct tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA;
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;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
typedef NU8 tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tySet_tyEnum_RstParseOption_fiZmsylYkyh6nEciRZcPsw;
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* filename, void* ClE_0);
void* ClE_0;
} tyProc_lRW9cfxqfm1ql4gkxfLReYg;
typedef NU8 tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc_r4CIWZzpiVlkxuVaaDT8Lw;
typedef NimStringDesc* tyArray_C9cQfUOxfT2Mk6yT19cPu9aIA[5];
struct tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ {
tySequence_pUxI6Ljo6IKKHXKOZkQ7Og* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* filename, NimStringDesc* cmd, NI status, NimStringDesc* content, void* ClE_0);
void* ClE_0;
} tyProc_t9cP9cH9bP2v9cQZNd2RjMTNLg;
struct tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg {
  RootObj Sup;
tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* config;
NI splitAfter;
NI listingCounter;
tySequence_b7kA8pLABz0wMAUNGYo6Wg* tocPart;
NIM_BOOL hasToc;
NimStringDesc* theIndex;
tySet_tyEnum_RstParseOption_fiZmsylYkyh6nEciRZcPsw options;
tyProc_lRW9cfxqfm1ql4gkxfLReYg findFile;
tyProc_r4CIWZzpiVlkxuVaaDT8Lw msgHandler;
NimStringDesc* filename;
tyArray_C9cQfUOxfT2Mk6yT19cPu9aIA meta;
NimStringDesc* currentSection;
tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ seenIndexTerms;
NI id;
tyProc_t9cP9cH9bP2v9cQZNd2RjMTNLg onTestSnippet;
};
struct tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw {
tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n;
NimStringDesc* refname;
NimStringDesc* header;
};
struct tyTuple_WCz3Z7at9aJyVFSh5OmwJNg {
void* Field0;
tyObject_Env_dotdotslashdotdotslashdotdotslashdotdotslashnimslashlibslashpackagesslashdocutilsslashrstgendotnim__4Ve8wOWSE8Hdar7fr5TdwQ* Field1;
};
typedef NU8 tyEnum_StringTableMode_G9c4wVDFIzf0xHmQvxso9a9cQ;
struct tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg {
  RootObj Sup;
NI counter;
tySequence_xv3aaFd3JCw8NbmALHiezQ* data;
tyEnum_StringTableMode_G9c4wVDFIzf0xHmQvxso9a9cQ mode;
};
struct tyTuple_7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU8 tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg;
typedef NU8 tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg;
struct tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg {
tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg kind;
NimStringDesc* text;
NI level;
tySequence_sawZST1Esj3o7EY9ayWwGPw* 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_SiRwrEKZdLgxqz9a9aoVBglg[512];
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_SiRwrEKZdLgxqz9a9aoVBglg 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;
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;
};
typedef NimStringDesc* tyArray_sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NimStringDesc* tyArray_nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tySet_tyChar_nmiMWKVIe46vacnhAFrQvw[32];
typedef NimStringDesc* tyArray_Re75IspeoxXy2oCZHwcRrA[2];
typedef NU8 tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ;
struct tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA {
NIM_BOOL numberLines;
NI startLine;
NimStringDesc* langStr;
tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ lang;
NimStringDesc* filename;
NimStringDesc* testCmd;
NI status;
};
typedef N_CLOSURE_PTR(void, TM_vGSJrCjWQr859bqRvctRIaA_132) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef N_CLOSURE_PTR(void, TM_vGSJrCjWQr859bqRvctRIaA_134) (tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* filename, NimStringDesc* cmd, NI status, NimStringDesc* content);
struct tyTuple_UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef NimStringDesc* tyArray_CchsCKVbWNDjfQ2XsaO6Aw[7];
typedef NimStringDesc* tyArray_8ZvwQIddfpj2THRVPsFzIQ[1];
typedef N_CLOSURE_PTR(void, TM_vGSJrCjWQr859bqRvctRIaA_142) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ msgKind, NimStringDesc* arg);
typedef NU8 tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw;
struct tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA {
  RootObj Sup;
tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw kind;
NI start;
NI length;
NCSTRING buf;
NI pos;
tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw state;
};
typedef NimStringDesc* tyArray_b121gTFK3KCOh1bfQWQzTw[33];
struct tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg {
NimStringDesc* keyword;
NimStringDesc* link;
NimStringDesc* linkTitle;
NimStringDesc* linkDesc;
};
struct tyObject_Table_XC01wkRgzAyOjTiapde7hQ {
tySequence_wAC0kXbVGkLoWP8vdi0sUw* data;
NI counter;
};
struct tyTuple_19af1Yi5wzYJHEoosvtCJdQ {
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* Field0;
tySequence_5PunAJrNQYcB8dF0jau3pQ* Field1;
tyObject_Table_XC01wkRgzAyOjTiapde7hQ Field2;
};
typedef NU8 tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg;
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence_uB9b75OUPRENsBAu4AnoePA* trace;
NU raise_id;
Exception* up;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (Exception* e, void* ClE_0);
void* ClE_0;
} tyProc_NT9bSe2DDkjdtx7j9aov2Z6g;
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
tyProc_NT9bSe2DDkjdtx7j9aov2Z6g raiseAction;
};
typedef NIM_CHAR tyArray_dTlC27m9c9aWd5dvuePYanug[256];
typedef NU8 tyEnum_FileMode_fVUBHvW79bXUw1j55Oo9avSQ;
typedef tyTuple_UV3llMMYFckfui8YMBuUZA tyArray_0ipey9aZuUA8jy4OAHzODQg[3];
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
void* ClE_0;
} tyProc_kTj9c3SX9agxDQPZYwemi6ug;
typedef NU8 tyEnum_SortOrder_8iBc6wlNqBa9cju9cUAhUAxA;
typedef N_CLOSURE_PTR(NI, TM_vGSJrCjWQr859bqRvctRIaA_183) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
struct tyTuple_A9cRoiotm9actU8lLMnN9bYcw {
NI Field0;
tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg Field1;
tySequence_5PunAJrNQYcB8dF0jau3pQ* Field2;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* x, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* y, void* ClE_0);
void* ClE_0;
} tyProc_zzrK9cTwi9admDvOCMDMSIXQ;
typedef N_CLOSURE_PTR(NI, TM_vGSJrCjWQr859bqRvctRIaA_185) (tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* x, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* y, void* ClE_0);
typedef NimStringDesc* tyArray_24KAM9afIUgUaqBaEBB6r9bg[3];
struct tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ {
NI Field0;
NimStringDesc* Field1;
NI Field2;
};
struct tyTuple_sPaDkVPSC0MkcoXCxPH9ccA {
NimStringDesc* Field0;
NimStringDesc* Field1;
NIM_BOOL Field2;
};
struct tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence_b7kA8pLABz0wMAUNGYo6Wg {
  TGenericSeq Sup;
  tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw data[SEQ_DECL_SIZE];
};
struct tySequence_sawZST1Esj3o7EY9ayWwGPw {
  TGenericSeq Sup;
  tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* data[SEQ_DECL_SIZE];
};
struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence_5PunAJrNQYcB8dF0jau3pQ {
  TGenericSeq Sup;
  tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg data[SEQ_DECL_SIZE];
};
struct tySequence_pUxI6Ljo6IKKHXKOZkQ7Og {
  TGenericSeq Sup;
  tyTuple_sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE];
};
struct tySequence_xv3aaFd3JCw8NbmALHiezQ {
  TGenericSeq Sup;
  tyTuple_sPaDkVPSC0MkcoXCxPH9ccA data[SEQ_DECL_SIZE];
};
struct tySequence_wAC0kXbVGkLoWP8vdi0sUw {
  TGenericSeq Sup;
  tyTuple_A9cRoiotm9actU8lLMnN9bYcw data[SEQ_DECL_SIZE];
};
struct tySequence_uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry_oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence_b7kA8pLABz0wMAUNGYo6Wg)(void* p, NI op);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem_cNwQQ4PlSJsZSwvoN5Uafwsystem)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple_7q7q3E6Oj24ZNVJb9aonhAg* Result);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, initTable_KsxTG8BCbxDPiy6BSitr3A)(NI initialSize, tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw)(tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NI, len_7sZ6jl1AobLSRAIdrbIp6A)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(void, renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderHeadline_9bVWgX0SWmhEi3eHlrcMD8g_3)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr);
static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_fCDI7oO1NNVXXURtxSzsRw)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, dispA_RAOvit1ohgeaPKED9bxTXqg)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringDesc** s, NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(void, setIndexTerm_274xJIcTRjQnVVxRhl7JXw)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* htmlFile, NimStringDesc* id, NimStringDesc* term, NimStringDesc* linkTitle, NimStringDesc* linkDesc);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ)(NimStringDesc* text);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, insert_I2A7f9cm4tauakyer0675nw)(NimStringDesc** x, NimStringDesc* item, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, stripTocHtml_vDgc6UnQZk169cRHmSFK49bw)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s, NIM_CHAR sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(void, nsuDelete)(NimStringDesc** s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(void, renderOverline_9bVWgX0SWmhEi3eHlrcMD8g_4)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderAux_zVlkCIHCkLQV6Nm9a32Dl4w)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* frmtA, NimStringDesc* frmtB, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderField_9bVWgX0SWmhEi3eHlrcMD8g_5)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes_8c8VtfxgpCNHWO7JhFDeLQ_2)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, esc_sm8y9bxy11QYfMg5P7N4rBQ)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* s, NI splitAfter);
N_LIB_PRIVATE N_NIMCALL(NI, nextSplitPoint_FmR3B79bc7ek4hJk8UMw5sw)(NimStringDesc* s, NI start);
static N_INLINE(void, addSplitter_NiV9bitv6r9blrelxZEG0IDQrstgen)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest);
static N_INLINE(void, escChar_YGLNRZBIuMRMXyXBmINWgwrstgen)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, addXmlChar_hOf0bAYL1hcEw9bahtCReBQ)(NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, addTexChar_hOf0bAYL1hcEw9bahtCReBQ_2)(NimStringDesc** dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar_nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, texColumns_FDRh6W9cQJGan7BsqIP21Pw)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg*, lastSon_6THavcP7GUSgGy7kiweW4w)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(void, renderImage_9bVWgX0SWmhEi3eHlrcMD8g_6)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue_VjyjaK09b2brDmklydzzMGg)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* fieldname);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dispF_aEoUshJxhNMbeFrPuMUWDg)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(void, renderCodeBlock_xm1lqgqJH2JaTbCE9aSPkow)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockParams_xkDDz8ly5WS9c6ex3diK8jg)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* Result);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, init_NTuY9brQvL5wyRAE1t1qR7g)(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* p);
N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockField_Dj9cPo9bAm285h0AIHVzSP9aQ)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* params);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, npuParseInt)(NimStringDesc* s, NI* number, NI start);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuUnescape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ, getSourceLanguage_pJRxVAMAZDc8hDhsyN6PCA)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(void, buildLinesHtmlTable_tUW9ckGjCgjb1x7qsWG9bQeA)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* params, NimStringDesc* code, tyTuple_UV3llMMYFckfui8YMBuUZA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCountLines)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, initGeneralTokenizer_mkl80sUMqVEnUERAYjzQnQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, NimStringDesc* buf);
N_LIB_PRIVATE N_NIMCALL(void, getNextToken_IbOZ0ks3AOdvZooFVi3ZqQ)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g, tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ lang);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_TWXUwbnq0SWWvDLfr8LXYw)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, deinitGeneralTokenizer_XKaqgmev4xnyyBfOanjk5g_7)(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA* g);
N_LIB_PRIVATE N_NIMCALL(void, renderContainer_9bVWgX0SWmhEi3eHlrcMD8g_7)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderIndexTerm_9bVWgX0SWmhEi3eHlrcMD8g_8)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey_aQ9bGlmunsxiPO9bn4NMLVdg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__5zoGSRJ7wsRe69aot0ujw0Q)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ* t, NimStringDesc* key, NI val);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault_YMr4P8nfgPQ9cO9b7WrcVHtg)(tyObject_Table_i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, renderSmiley_MxdnaMzu9aR9b9aF1150aR84A)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntry_9ckC1iztPiMMJJ2Ms5Ax4yg)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw e, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, renderTocEntries_8H2NASP82yYs4VTZ0edu9aQ)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NI* j, NI lvl, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, writeFile_c1B29b0ZdDRPHc27YaKqwaA)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(void, readIndexDir_Lyvg9cs1h7hEo22Dbto0kug)(NimStringDesc* dir, tyTuple_19af1Yi5wzYJHEoosvtCJdQ* Result);
static N_NIMCALL(void, Marker_tySequence_5PunAJrNQYcB8dF0jau3pQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initTable_t6S4pGZGZYSl9bUnFbB3OHQ)(NI initialSize, tyObject_Table_XC01wkRgzAyOjTiapde7hQ* Result);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
static N_INLINE(NimStringDesc*, pop_9cDsfK2acP02vJ9bhxIE9caEArstgen)(tySequence_sM4lkSb7zS6F7OVMvW9cffQ** s);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash__lXoMhn1ZYc9cAJa9bfA61msg)(NimStringDesc* head, NimStringDesc* tail);
static N_INLINE(NIM_BOOL, dirExists_wf0Ae3eLXw0lSNEFJMV3ognimblecmd)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsDir)(NimStringDesc* dir);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(FILE*, open_hqzpWQbdA2B8l9a6wwNoP4g)(NimStringDesc* filename, tyEnum_FileMode_fVUBHvW79bXUw1j55Oo9avSQ mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine_sO1bQXVRA6RP9cdYJXNKeSw)(FILE* f, NimStringDesc** line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_9bUFQ4OV1temcDF0GZp317g)(NimStringDesc* s, NI first);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDocumentationTitle_KCvhJRX8NjiWm2ra4I89c3w)(NimStringDesc* hyperlink);
N_LIB_PRIVATE N_NIMCALL(tySequence_sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2)(NimStringDesc* text);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, multiReplace_umfhYZ3JuLdIcd167CziMw)(NimStringDesc* s, tyTuple_UV3llMMYFckfui8YMBuUZA* replacements, NI replacementsLen_0);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(void, close_BWnr8V7RERYno9bIdPmw8Hw_3)(FILE* f);
N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, len_dBmnmNEkKiBsFBa0gY1oCw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ t);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq__aqmCa2fOhndlLIoSqkjFeA)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ* t, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* key, tySequence_5PunAJrNQYcB8dF0jau3pQ* val);
static N_INLINE(NI, emarkamp__6dtCP6C39bxOkT4wrIPJwKghashes)(NI h, NI val);
N_LIB_PRIVATE N_NIMCALL(NI, hash_uBstFm5SYVQeOL3j9c9bc58A)(NimStringDesc* x);
static N_INLINE(NI, emarkdollar__zs9byUtT9cNi2e9clB27b2cUAhashes)(NI h);
N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind_4ZlT7J43hhVxIqUd9anSuBg)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(void, sort_9a7klSx0Yu33UIahhT1Of7Q)(NimStringDesc** a, NI aLen_0, tyProc_kTj9c3SX9agxDQPZYwemi6ug cmp, tyEnum_SortOrder_8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(NI, cmp_xEnKsp9cfvO7Do9cTYXo8eJw)(NimStringDesc* x, NimStringDesc* y);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateDocumentationJumps_GAQg9cRt7q9aM5R5J450jtzw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ docs);
static N_INLINE(NIM_BOOL, isFilled_IxXD1UAPoEehVDW9cv9cRaewtables)(NI hcode);
N_LIB_PRIVATE N_NIMCALL(void, sort_LBrAL7WLeSCnpfzkOqm4Fg)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0, tyProc_zzrK9cTwi9admDvOCMDMSIXQ cmp, tyEnum_SortOrder_8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(NI, cmp_eaeF0IvdIXpvvWqU9ch00RQ)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateModuleJumps_XvDJJIC72xtGR9by9cl6CJKg)(tySequence_sM4lkSb7zS6F7OVMvW9cffQ* modules);
N_LIB_PRIVATE N_NIMCALL(void, sortIndex_si9azIDRK2jkpTELpHIJKZw)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(void, ltminus__ywiMlRt07odOULUubTsiKA)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateSymbolIndex_02WaOxScM0lGNzeuW0765A)(tySequence_5PunAJrNQYcB8dF0jau3pQ* symbols);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeLink_vDgc6UnQZk169cRHmSFK49bw_2)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
extern TNimType NTI_ytyiCJqK439aF9cIibuRVpAg_;
TNimType NTI_yF9cB1II0vYb2F0YKmIiArg_;
TNimType NTI_lDlBg9cTod71s9abpUj82lsw_;
extern TNimType NTI_n9cmoMXcDs47wYDFGEXuCfw_;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
TNimType NTI_z7kal23LlR1mL50YJIPMCw_;
extern TNimType NTI_eiDrOE3AS6QEbCsY2gtdWQ_;
extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg_;
TNimType NTI_b7kA8pLABz0wMAUNGYo6Wg_;
extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTI_triPNwGxgWAG1ULojVLJPA_;
extern TNimType NTI_lRW9cfxqfm1ql4gkxfLReYg_;
extern TNimType NTI_r4CIWZzpiVlkxuVaaDT8Lw_;
TNimType NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_;
extern TNimType NTI_i55W8RrwGKsG9cl0sAKxgkQ_;
TNimType NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_;
extern TNimType NTI_vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI_qs7rcJOE2Bz63jdUEPJtIg_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
TNimType NTI_VGrTBDzO5FHLY33yjUsvkA_;
extern TNimType NTI_LpbEPkKqvJ0VCa4hwZcOBQ_;
extern TNimType NTI_UV3llMMYFckfui8YMBuUZA_;
extern TNimType NTI_XJrmQSLLjVmugZQb54lVWA_;
TNimType NTI_19af1Yi5wzYJHEoosvtCJdQ_;
extern TNimType NTI_sM4lkSb7zS6F7OVMvW9cffQ_;
TNimType NTI_G9ccBDFWfr9aYnLgXTNGDHDg_;
TNimType NTI_5PunAJrNQYcB8dF0jau3pQ_;
extern TNimType NTI_XC01wkRgzAyOjTiapde7hQ_;
extern TSafePoint* excHandler_rqLlY5bs9atDw2OXYqJEn5g;
extern TNimType NTI_wAC0kXbVGkLoWP8vdi0sUw_;
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_8, ".nim", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_9, "Module ", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_10, "split.item.toc", 14);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_11, "-", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_12, "\012<h$1><a class=\"toc-backref\" id=\"$2\" href=\"#$2\">$3</a></h$1>", 60);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_13, "\\rsth$4{$3}\\label{$2}\012", 22);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_14, "\012<h$1 id=\"$2\">$3</h$1>", 22);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_15, "\\", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_16, "\\n", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_17, "\\t", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_18, "\012", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_19, "html", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_20, "<h$1 id=\"$2\"><center>$3</center></h$1>", 38);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_21, "\\rstov$4{$3}\\label{$2}\012", 23);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_22, "<hr />\012", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_23, "\\hrule\012", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_24, "<p>$1</p>\012", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_25, "$1\012\012", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_26, "<ul class=\"simple\">$1</ul>\012", 27);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_27, "\\begin{itemize}$1\\end{itemize}\012", 31);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_28, "<li>$1</li>\012", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_29, "\\item $1\012", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_30, "<ol class=\"simple\">$1</ol>\012", 27);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_31, "\\begin{enumerate}$1\\end{enumerate}\012", 35);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_32, "<dl class=\"docutils\">$1</dl>\012", 29);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_33, "\\begin{description}$1\\end{description}\012", 39);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_34, "<dt>$1</dt>\012", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_35, "\\item[$1] ", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_36, "<dd>$1</dd>\012", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_37, "$1\012", 3);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_38, "<table class=\"docinfo\" frame=\"void\" rules=\"none\"><col class=\"do"
"cinfo-name\" /><col class=\"docinfo-content\" /><tbody valign=\"top\""
">$1</tbody></table>", 146);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_39, "<wbr />", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_40, "\\-", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_41, "&amp;", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_42, "&lt;", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_43, "&gt;", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_44, "&quot;", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_45, "\\_", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_46, "\\symbol{123}", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_47, "\\symbol{125}", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_48, "\\symbol{91}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_49, "\\symbol{93}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_50, "\\symbol{92}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_51, "\\$", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_52, "\\&", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_53, "\\#", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_54, "\\%", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_55, "\\symbol{126}", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_56, "\\symbol{64}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_57, "\\symbol{94}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_58, "\\symbol{96}", 11);
static NIM_CONST tySet_tyChar_nmiMWKVIe46vacnhAFrQvw TM_vGSJrCjWQr859bqRvctRIaA_59 = {
0x00, 0x3E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_60, "author", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_61, "authors", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_62, "version", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_63, "<tr>$1</tr>\012", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_64, "$1", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_65, "<th class=\"docinfo-name\">$1:</th>", 33);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_66, "\\item[$1:]", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_67, "<td>$1</td>", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_68, " $1\012", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_69, "<table frame=\"void\">$1</table>", 30);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_70, "\\begin{description}\012$1\\end{description}\012", 40);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_71, "<th align=\"left\">$1</th>", 24);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_72, "\\item[$1]", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_73, "<td align=\"left\">$1</td>\012", 25);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_74, "/Users/andreasrumpf-mac/projects/nim/lib/packages/docutils/rstg"
"en.nim(1044, 14) `false` renderRstToOut", 102);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_75, "<pre>$1</pre>\012", 14);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_76, "\\begin{rstpre}\012$1\012\\end{rstpre}\012", 31);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_77, "/Users/andreasrumpf-mac/projects/nim/lib/packages/docutils/rstg"
"en.nim(1049, 14) `false` renderRstToOut", 102);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_78, "<p>$1</p>", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_79, "$1<br />", 8);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_80, "$1\\\\\012", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_81, "<blockquote><p>$1</p></blockquote>\012", 35);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_82, "\\begin{quote}$1\\end{quote}\012", 27);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_83, "<table border=\"1\" class=\"docutils\">$1</table>", 45);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_84, "\\begin{table}\\begin{rsttab}{", 28);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_85, "|X", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_86, "|}\012\\hline\012$1\\end{rsttab}\\end{table}", 35);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_87, " & ", 3);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_88, "\\\\\012\\hline\012", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_89, "<tr>", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_90, "</tr>\012", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_91, "<th>$1</th>", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_92, "\\textbf{$1}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_93, "/Users/andreasrumpf-mac/projects/nim/lib/packages/docutils/rstg"
"en.nim(1080, 14) `false` renderRstToOut", 102);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_94, "/Users/andreasrumpf-mac/projects/nim/lib/packages/docutils/rstg"
"en.nim(1082, 14) `false` renderRstToOut", 102);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_95, "/Users/andreasrumpf-mac/projects/nim/lib/packages/docutils/rstg"
"en.nim(1084, 14) `false` renderRstToOut", 102);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_96, "<a class=\"reference external\" href=\"#$2\">$1</a>", 47);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_97, "$1\\ref{$2}", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_98, "<a class=\"reference external\" href=\"$1\">$1</a>", 46);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_99, "\\href{$1}{$1}", 13);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_100, "<a class=\"reference external\" href=\"$2\">$1</a>", 46);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_101, "\\href{$2}{$1}", 13);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_102, "scale", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_103, " scale=\"$1\"", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_104, " scale=$1", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_105, "height", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_106, " height=\"$1\"", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_107, " height=$1", 10);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_108, "width", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_109, " width=\"$1\"", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_110, " width=$1", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_111, "alt", 3);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_112, " alt=\"$1\"", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_113, "align", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_114, " align=\"$1\"", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_115, "[$1]", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_116, ".mp4", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_117, ".ogg", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_118, ".webm", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_119, "      <video src=\"$1\"$2 autoPlay=\'true\' loop=\'true\' muted=\'true"
"\'>\012      Sorry, your browser doesn\'t support embedded videos\012   "
"   </video>\012    ", 143);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_120, "<img src=\"$1\"$2/>", 17);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_121, "\\includegraphics$2{$1}", 22);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_123, "number-lines", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_124, "file", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_125, "filename", 8);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_126, "test", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_127, "status", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_128, "exitcode", 8);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_129, "default-language", 16);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_130, "nim c -r $1", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_131, "\"", 1);
static NIM_CONST tyProc_t9cP9cH9bP2v9cQZNd2RjMTNLg TM_vGSJrCjWQr859bqRvctRIaA_133 = {NIM_NIL,NIM_NIL};
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_135, "doc.listing_start", 17);
extern NIM_CONST tyArray_CchsCKVbWNDjfQ2XsaO6Aw sourceLanguageToStr_HxGhuVvqzgyr9b5gK42kE9aw;
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_136, "doc.listing_end", 15);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_137, "<table class=\"line-nums-table\"><tbody><tr><td class=\"blob-line-"
"nums\"><pre class=\"line-nums\">", 92);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_138, "</pre></td><td>", 15);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_139, "</td></tr></tbody></table>", 26);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_140, "doc.listing_button", 18);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_141, "\\begin{rstpre}\012", 15);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_143, "<span class=\"$2\">$1</span>", 26);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_144, "\\span$2{$1}", 11);
extern NIM_CONST tyArray_b121gTFK3KCOh1bfQWQzTw tokenClassToStr_XoxGqeDe9c9bun9b5PoCUnzlg;
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_145, "\012\\end{rstpre}\012", 14);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_146, "<div>$1</div>", 13);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_147, "<div class=\"$1\">$2</div>", 24);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_148, "$2", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_149, "|$1|", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_150, "<sub>$1</sub>", 13);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_151, "\\rstsub{$1}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_152, "<sup>$1</sup>", 13);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_153, "\\rstsup{$1}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_154, "<em>$1</em>", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_155, "\\emph{$1}", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_156, "<strong>$1</strong>", 19);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_157, "<strong><em>$1</em></strong>", 28);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_158, "\\textbf{emph{$1}}", 17);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_159, "<cite>$1</cite>", 15);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_160, "<span id=\"$1\">$2</span>", 23);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_161, "$2\\label{$1}", 12);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_162, "<tt class=\"docutils literal\"><span class=\"pre\">$1</span></tt>", 61);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_163, "\\texttt{$1}", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_164, "<img src=\"$1\" width=\"15\"\012        height=\"17\" hspace=\"2\" vspace="
"\"2\" class=\"smiley\" />", 84);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_165, "\\includegraphics{$1}", 20);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_166, "doc.smiley_format", 17);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_167, "<li><a class=\"reference\" id=\"$1_toc\" href=\"#$1\">$2</a></li>\012", 60);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_168, "\\item\\label{$1_toc} $2\\ref{$1}\012", 31);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_169, "<ul class=\"simple\">$1</ul>", 26);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_170, "\\begin{enumerate}$1\\end{enumerate}", 34);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_174, ".", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_175, "..", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_176, ".idx", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_179, "\011", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_180, "\\\\", 2);
NIM_CONST tyArray_0ipey9aZuUA8jy4OAHzODQg TM_vGSJrCjWQr859bqRvctRIaA_178 = {{((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_17),
((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_179)}
,
{((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_16),
((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_18)}
,
{((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_180),
((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_15)}
}
;
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_181, "doc_toc_", 8);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_184, "Documents: ", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_186, "<a href=\"", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_187, "\">", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_188, "</a>", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_189, ", ", 2);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_190, ".<br/>", 6);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_191, "<p />", 5);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_192, "Modules: ", 9);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_193, ".html\">", 7);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_194, "<h2>API symbols</h2>\012", 21);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_195, "<dl>", 4);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_196, "%", 1);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_197, "<dt><a name=\"$2\" href=\"#$2\"><span>$1:</span></a></dt><dd><ul cl"
"ass=\"simple\">\012", 77);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_198, "<li><a class=\"reference external\"\012          title=\"$3\" data-doc"
"-search-tag=\"$2\" href=\"$1\">$2</a></li>\012          ", 112);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_199, "<li><a class=\"reference external\"\012          data-doc-search-tag"
"=\"$2\" href=\"$1\">$2</a></li>\012          ", 101);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_200, "</ul></dd>\012", 11);
STRING_LITERAL(TM_vGSJrCjWQr859bqRvctRIaA_201, "</dl>", 5);
static N_NIMCALL(void, Marker_tySequence_b7kA8pLABz0wMAUNGYo6Wg)(void* p, NI op) {
	tySequence_b7kA8pLABz0wMAUNGYo6Wg* a;
	NI T1_;
	a = (tySequence_b7kA8pLABz0wMAUNGYo6Wg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].n, op);
	nimGCvisit((void*)a->data[T1_].refname, op);
	nimGCvisit((void*)a->data[T1_].header, op);
	}
}

static N_INLINE(void, nimSetMem_cNwQQ4PlSJsZSwvoN5Uafwsystem)(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_cNwQQ4PlSJsZSwvoN5Uafwsystem(p, ((int) 0), size);
}

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_fmeFeLBvgmAHG9bC8ETS9bYQropes)(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_fmeFeLBvgmAHG9bC8ETS9bYQropes(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}

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_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}

static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest).data[((*dest).Sup.len)- 0]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, initRstGenerator_5ZUc9cHJlpfl0kWvAn6opQQ)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* g, tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* config, NimStringDesc* filename, tySet_tyEnum_RstParseOption_fiZmsylYkyh6nEciRZcPsw options, tyProc_lRW9cfxqfm1ql4gkxfLReYg findFile, tyProc_r4CIWZzpiVlkxuVaaDT8Lw msgHandler) {
	tyTuple_7q7q3E6Oj24ZNVJb9aonhAg fileParts;
	NimStringDesc* s;
	unsureAsgnRef((void**) (&(*g).config), config);
	(*g).target = target;
	unsureAsgnRef((void**) (&(*g).tocPart), NIM_NIL);
	unsureAsgnRef((void**) (&(*g).filename), copyString(filename));
	(*g).splitAfter = ((NI) 20);
	unsureAsgnRef((void**) (&(*g).theIndex), ((NimStringDesc*) NIM_NIL));
	(*g).options = options;
	unsureAsgnRef((void**) (&(*g).findFile.ClE_0), findFile.ClE_0);
	(*g).findFile.ClP_0 = findFile.ClP_0;
	unsureAsgnRef((void**) (&(*g).currentSection), ((NimStringDesc*) NIM_NIL));
	(*g).id = ((NI) 0);
	nimZeroMem((void*)(&fileParts), sizeof(tyTuple_7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile(filename, (&fileParts));
	{
		NimStringDesc* T5_;
		if (!eqStrings(fileParts.Field2, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_8))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = rawNewString((fileParts.Field1 ? fileParts.Field1->Sup.len : 0) + 7);
appendString(T5_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_9));
appendString(T5_, fileParts.Field1);
		unsureAsgnRef((void**) (&(*g).currentSection), T5_);
	}
	LA3_: ;
	initTable_KsxTG8BCbxDPiy6BSitr3A(((NI) 64), (&(*g).seenIndexTerms));
	unsureAsgnRef((void**) (&(*g).msgHandler.ClE_0), msgHandler.ClE_0);
	(*g).msgHandler.ClP_0 = msgHandler.ClP_0;
	s = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw(config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_10), ((NimStringDesc*) NIM_NIL));
	{
		if (!!(((s ? s->Sup.len : 0) == 0))) goto LA8_;
		(*g).splitAfter = nsuParseInt(s);
	}
	LA8_: ;
	{
		tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg i;
		NI res;
		i = (tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg)0;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= ((NI) 4))) goto LA12;
				i = ((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) (res));
				unsureAsgnRef((void**) (&(*g).meta[(i)- 0]), ((NimStringDesc*) NIM_NIL));
				res += ((NI) 1);
			} LA12: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], result);
				res += ((NI) 1);
			} LA4: ;
		}
	}
}

static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI)sizeof(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result;
}

static N_INLINE(void, rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
	c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p);
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
		rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c);
	}
	LA3_: ;
}

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c;
		if (!!((src == NIM_NIL))) goto LA3_;
		c = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src);
		(*c).refcount += ((NI) 8);
	}
	LA3_: ;
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c_2;
		if (!!(((*dest) == NIM_NIL))) goto LA7_;
		c_2 = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest));
		{
			(*c_2).refcount -= ((NI) 8);
			if (!((NU64)((*c_2).refcount) < (NU64)(((NI) 8)))) goto LA11_;
			rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system(c_2);
		}
		LA11_: ;
	}
	LA7_: ;
	(*dest) = src;
}

N_LIB_PRIVATE N_NIMCALL(void, dispA_RAOvit1ohgeaPKED9bxTXqg)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0) {
	{
		if (!!((target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA3_;
		nsuAddf(dest, xml, args, argsLen_0);
	}
	goto LA1_;
	LA3_: ;
	{
		nsuAddf(dest, tex, args, argsLen_0);
	}
	LA1_: ;
}

static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[((*dest).Sup.len)- 0] = c;
	(*dest).data[((NI)((*dest).Sup.len + ((NI) 1)))- 0] = 0;
	(*dest).Sup.len += ((NI) 1);
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ)(NimStringDesc* text) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = rawNewString(((NI) ((NI)((text ? text->Sup.len : 0) + ((NI) 3)))));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (text ? text->Sup.len : 0);
		{
			while (1) {
				if (!(i < L)) goto LA3;
				c = text->data[i];
				switch (((NU8)(c))) {
				case 92:
				{
					result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_15));
				}
				break;
				case 10:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_16));
				}
				break;
				case 13:
				{
				}
				break;
				case 9:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_17));
				}
				break;
				default:
				{
					result = addChar(result, c);
				}
				break;
				}
				i += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, setIndexTerm_274xJIcTRjQnVVxRhl7JXw)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NimStringDesc* htmlFile, NimStringDesc* id, NimStringDesc* term, NimStringDesc* linkTitle, NimStringDesc* linkDesc) {
	NimStringDesc* entry;
	NIM_BOOL isTitle;
	entry = copyString(term);
	isTitle = NIM_FALSE;
	entry = addChar(entry, 9);
	entry = resizeString(entry, (htmlFile ? htmlFile->Sup.len : 0) + 0);
appendString(entry, htmlFile);
	{
		if (!(((NI) 0) < (id ? id->Sup.len : 0))) goto LA3_;
		entry = addChar(entry, 35);
		entry = resizeString(entry, (id ? id->Sup.len : 0) + 0);
appendString(entry, id);
	}
	goto LA1_;
	LA3_: ;
	{
		isTitle = NIM_TRUE;
	}
	LA1_: ;
	{
		NIM_BOOL T8_;
		NimStringDesc* T12_;
		NimStringDesc* T13_;
		NimStringDesc* T14_;
		NimStringDesc* T15_;
		T8_ = (NIM_BOOL)0;
		T8_ = (((NI) 0) < (linkTitle ? linkTitle->Sup.len : 0));
		if (T8_) goto LA9_;
		T8_ = (((NI) 0) < (linkDesc ? linkDesc->Sup.len : 0));
		LA9_: ;
		if (!T8_) goto LA10_;
		T12_ = (NimStringDesc*)0;
		T13_ = (NimStringDesc*)0;
		T13_ = quoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ(linkTitle);
		T12_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 1);
appendChar(T12_, 9);
appendString(T12_, T13_);
		entry = resizeString(entry, (T12_ ? T12_->Sup.len : 0) + 0);
appendString(entry, T12_);
		T14_ = (NimStringDesc*)0;
		T15_ = (NimStringDesc*)0;
		T15_ = quoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ(linkDesc);
		T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 1);
appendChar(T14_, 9);
appendString(T14_, T15_);
		entry = resizeString(entry, (T14_ ? T14_->Sup.len : 0) + 0);
appendString(entry, T14_);
	}
	LA10_: ;
	entry = resizeString(entry, 1);
appendString(entry, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_18));
	{
		if (!isTitle) goto LA18_;
		insert_I2A7f9cm4tauakyer0675nw((&(*d).theIndex), entry, ((NI) 0));
	}
	goto LA16_;
	LA18_: ;
	{
		unsureAsgnRef((void**) (&(*d).theIndex), resizeString((*d).theIndex, (entry ? entry->Sup.len : 0) + 0));
appendString((*d).theIndex, entry);
	}
	LA16_: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, stripTocHtml_vDgc6UnQZk169cRHmSFK49bw)(NimStringDesc* s) {
	NimStringDesc* result;
	NI first;
{	result = (NimStringDesc*)0;
	result = copyString(s);
	first = nsuFindChar(result, 60, ((NI) 0), ((NI) 0));
	{
		while (1) {
			NI last;
			if (!(((NI) 0) <= first)) goto LA2;
			last = nsuFindChar(result, 62, ((NI) (first)), ((NI) 0));
			{
				if (!(last < ((NI) 0))) goto LA5_;
				goto BeforeRet_;
			}
			LA5_: ;
			nsuDelete((&result), first, last);
			first = nsuFindChar(result, 60, ((NI) (first)), ((NI) 0));
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, renderHeadline_9bVWgX0SWmhEi3eHlrcMD8g_3)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	NimStringDesc* tmp;
	NimStringDesc* sectionPrefix;
	NimStringDesc* refname;
	NimStringDesc* T15_;
	NimStringDesc* T16_;
	NimStringDesc* T27_;
	NimStringDesc* T28_;
	NimStringDesc* T29_;
	NimStringDesc* T30_;
	NimStringDesc* T31_;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
				res += ((NI) 1);
			} LA4: ;
		}
	}
	unsureAsgnRef((void**) (&(*d).currentSection), copyString(tmp));
	sectionPrefix = ((NimStringDesc*) NIM_NIL);
	{
		NI i_2;
		NI colontmp__2;
		NI T6_;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T6_ = (((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
		colontmp__2 = T6_;
		res_2 = colontmp__2;
		{
			while (1) {
				tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n2;
				if (!(((NI) 0) <= res_2)) goto LA8;
				i_2 = res_2;
				n2 = (*d).tocPart->data[i_2].n;
				{
					NimStringDesc* T13_;
					NimStringDesc* T14_;
					if (!((*n2).level < (*n).level)) goto LA11_;
					T13_ = (NimStringDesc*)0;
					T14_ = (NimStringDesc*)0;
					T14_ = rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ(n2);
					T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 1);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_11));
					sectionPrefix = T13_;
					goto LA5;
				}
				LA11_: ;
				res_2 -= ((NI) 1);
			} LA8: ;
		}
	} LA5: ;
	T15_ = (NimStringDesc*)0;
	T16_ = (NimStringDesc*)0;
	T16_ = rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ(n);
	T15_ = rawNewString((sectionPrefix ? sectionPrefix->Sup.len : 0) + (T16_ ? T16_->Sup.len : 0) + 0);
appendString(T15_, sectionPrefix);
appendString(T15_, T16_);
	refname = T15_;
	{
		NI length;
		NI T21_;
		NimStringDesc* T22_;
		NimStringDesc* T23_;
		tyArray_sMpvt1sOxOJ3LFGulnbeMQ T24_;
		if (!(*d).hasToc) goto LA19_;
		T21_ = ((*d).tocPart ? (*d).tocPart->Sup.len : 0);
		length = T21_;
		unsureAsgnRef((void**) (&(*d).tocPart), (tySequence_b7kA8pLABz0wMAUNGYo6Wg*) setLengthSeqV2(&((*d).tocPart)->Sup, (&NTI_b7kA8pLABz0wMAUNGYo6Wg_), ((NI) ((NI)(length + ((NI) 1))))));
		T22_ = (NimStringDesc*)0;
		T22_ = (*d).tocPart->data[length].refname; (*d).tocPart->data[length].refname = copyStringRC1(refname);
		if (T22_) nimGCunrefNoCycle(T22_);
		asgnRefNoCycle((void**) (&(*d).tocPart->data[length].n), n);
		T23_ = (NimStringDesc*)0;
		T23_ = (*d).tocPart->data[length].header; (*d).tocPart->data[length].header = copyStringRC1(tmp);
		if (T23_) nimGCunrefNoCycle(T23_);
		nimZeroMem((void*)T24_, sizeof(tyArray_sMpvt1sOxOJ3LFGulnbeMQ));
		T24_[0] = nimIntToStr((*n).level);
		T24_[1] = copyString((*d).tocPart->data[length].refname);
		T24_[2] = copyString(tmp);
		T24_[3] = nimCharToStr(((NIM_CHAR) (((NI) ((NI)((NI)((*n).level - ((NI) 1)) + ((NI) 65)))))));
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_12), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_13), T24_, 4);
	}
	goto LA17_;
	LA19_: ;
	{
		tyArray_sMpvt1sOxOJ3LFGulnbeMQ T26_;
		nimZeroMem((void*)T26_, sizeof(tyArray_sMpvt1sOxOJ3LFGulnbeMQ));
		T26_[0] = nimIntToStr((*n).level);
		T26_[1] = copyString(refname);
		T26_[2] = copyString(tmp);
		T26_[3] = nimCharToStr(((NIM_CHAR) (((NI) ((NI)((NI)((*n).level - ((NI) 1)) + ((NI) 65)))))));
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_14), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_13), T26_, 4);
	}
	LA17_: ;
	T27_ = (NimStringDesc*)0;
	T27_ = nosextractFilename((*d).filename);
	T28_ = (NimStringDesc*)0;
	T28_ = noschangeFileExt(T27_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_19));
	T29_ = (NimStringDesc*)0;
	T29_ = stripTocHtml_vDgc6UnQZk169cRHmSFK49bw(tmp);
	T30_ = (NimStringDesc*)0;
	T31_ = (NimStringDesc*)0;
	T31_ = nsuRepeatChar(32, ((NI) (((((NI) 0) >= (*n).level) ? ((NI) 0) : (*n).level))));
	T30_ = rawNewString((T31_ ? T31_->Sup.len : 0) + (tmp ? tmp->Sup.len : 0) + 0);
appendString(T30_, T31_);
appendString(T30_, tmp);
	setIndexTerm_274xJIcTRjQnVVxRhl7JXw(d, T28_, refname, T29_, T30_, ((NimStringDesc*) NIM_NIL));
}

N_LIB_PRIVATE N_NIMCALL(void, renderOverline_9bVWgX0SWmhEi3eHlrcMD8g_4)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	{
		if (!(((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0] ? (*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]->Sup.len : 0) == ((NI) 0))) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
			colontmp_ = (NI)(T6_ - ((NI) 1));
			res = ((NI) 0);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
					res += ((NI) 1);
				} LA8: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0] ? (*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]->Sup.len : 0) == ((NI) 0))) goto LA10_;
		{
			NI i_2;
			NI colontmp__2;
			NI T13_;
			NI res_2;
			i_2 = (NI)0;
			colontmp__2 = (NI)0;
			T13_ = (NI)0;
			T13_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
			colontmp__2 = (NI)(T13_ - ((NI) 1));
			res_2 = ((NI) 0);
			{
				while (1) {
					if (!(res_2 <= colontmp__2)) goto LA15;
					i_2 = res_2;
					renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_2], (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]));
					res_2 += ((NI) 1);
				} LA15: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 2))- 0]));
	}
	goto LA1_;
	LA10_: ;
	{
		NimStringDesc* tmp;
		tyArray_sMpvt1sOxOJ3LFGulnbeMQ T21_;
		tmp = ((NimStringDesc*) NIM_NIL);
		{
			NI i_3;
			NI colontmp__3;
			NI T18_;
			NI res_3;
			i_3 = (NI)0;
			colontmp__3 = (NI)0;
			T18_ = (NI)0;
			T18_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
			colontmp__3 = (NI)(T18_ - ((NI) 1));
			res_3 = ((NI) 0);
			{
				while (1) {
					if (!(res_3 <= colontmp__3)) goto LA20;
					i_3 = res_3;
					renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_3], (&tmp));
					res_3 += ((NI) 1);
				} LA20: ;
			}
		}
		unsureAsgnRef((void**) (&(*d).currentSection), copyString(tmp));
		nimZeroMem((void*)T21_, sizeof(tyArray_sMpvt1sOxOJ3LFGulnbeMQ));
		T21_[0] = nimIntToStr((*n).level);
		T21_[1] = rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ(n);
		T21_[2] = copyString(tmp);
		T21_[3] = nimCharToStr(((NIM_CHAR) (((NI) ((NI)((NI)((*n).level - ((NI) 1)) + ((NI) 65)))))));
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_20), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_21), T21_, 4);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, renderAux_zVlkCIHCkLQV6Nm9a32Dl4w)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc* frmtA, NimStringDesc* frmtB, NimStringDesc** result) {
	NimStringDesc* tmp;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
		colontmp_ = (NI)(T2_ - ((NI) 1));
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T9_;
		if (!!(((*d).target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA7_;
		nimZeroMem((void*)T9_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T9_[0] = copyString(tmp);
		nsuAddf(result, frmtA, T9_, 1);
	}
	goto LA5_;
	LA7_: ;
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T11_;
		nimZeroMem((void*)T11_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T11_[0] = copyString(tmp);
		nsuAddf(result, frmtB, T11_, 1);
	}
	LA5_: ;
}

N_LIB_PRIVATE N_NIMCALL(NI, nextSplitPoint_FmR3B79bc7ek4hJk8UMw5sw)(NimStringDesc* s, NI start) {
	NI result;
{	result = (NI)0;
	result = start;
	{
		while (1) {
			if (!(result < (NI)((s ? s->Sup.len : 0) + ((NI) 0)))) goto LA2;
			switch (((NU8)(s->data[result]))) {
			case 95:
			{
				goto BeforeRet_;
			}
			break;
			case 97 ... 122:
			{
				{
					if (!((NI)(result + ((NI) 1)) < (NI)((s ? s->Sup.len : 0) + ((NI) 0)))) goto LA7_;
					{
						if (!(((NU8)(s->data[(NI)(result + ((NI) 1))])) >= ((NU8)(65)) && ((NU8)(s->data[(NI)(result + ((NI) 1))])) <= ((NU8)(90)))) goto LA11_;
						goto BeforeRet_;
					}
					LA11_: ;
				}
				LA7_: ;
			}
			break;
			default:
			{
			}
			break;
			}
			result += ((NI) 1);
		} LA2: ;
	}
	result -= ((NI) 1);
	}BeforeRet_: ;
	return result;
}

static N_INLINE(void, addSplitter_NiV9bitv6r9blrelxZEG0IDQrstgen)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest) {
	switch (target) {
	case ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 0):
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 7));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_39));
	}
	break;
	case ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1):
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_40));
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, addXmlChar_hOf0bAYL1hcEw9bahtCReBQ)(NimStringDesc** dest, NIM_CHAR c) {
	switch (((NU8)(c))) {
	case 38:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 5));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_41));
	}
	break;
	case 60:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 4));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_42));
	}
	break;
	case 62:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 4));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_43));
	}
	break;
	case 34:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 6));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_44));
	}
	break;
	default:
	{
		unsureAsgnRef((void**) (&(*dest)), addChar((*dest), c));
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, addTexChar_hOf0bAYL1hcEw9bahtCReBQ_2)(NimStringDesc** dest, NIM_CHAR c) {
	switch (((NU8)(c))) {
	case 95:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_45));
	}
	break;
	case 123:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_46));
	}
	break;
	case 125:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_47));
	}
	break;
	case 91:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_48));
	}
	break;
	case 93:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_49));
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_50));
	}
	break;
	case 36:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_51));
	}
	break;
	case 38:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_52));
	}
	break;
	case 35:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_53));
	}
	break;
	case 37:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 2));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_54));
	}
	break;
	case 126:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 12));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_55));
	}
	break;
	case 64:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_56));
	}
	break;
	case 94:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_57));
	}
	break;
	case 96:
	{
		unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), 11));
appendString((*dest), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_58));
	}
	break;
	default:
	{
		unsureAsgnRef((void**) (&(*dest)), addChar((*dest), c));
	}
	break;
	}
}

static N_INLINE(void, escChar_YGLNRZBIuMRMXyXBmINWgwrstgen)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc** dest, NIM_CHAR c) {
	switch (target) {
	case ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 0):
	{
		addXmlChar_hOf0bAYL1hcEw9bahtCReBQ(dest, c);
	}
	break;
	case ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1):
	{
		addTexChar_hOf0bAYL1hcEw9bahtCReBQ_2(dest, c);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, esc_sm8y9bxy11QYfMg5P7N4rBQ)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* s, NI splitAfter) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI partLen;
		NI j;
		if (!(((NI) 0) <= splitAfter)) goto LA3_;
		partLen = ((NI) 0);
		j = ((NI) 0);
		{
			while (1) {
				NI k;
				if (!(j < (s ? s->Sup.len : 0))) goto LA6;
				k = nextSplitPoint_FmR3B79bc7ek4hJk8UMw5sw(s, j);
				partLen = ((NI) 0);
				addSplitter_NiV9bitv6r9blrelxZEG0IDQrstgen(target, (&result));
				{
					NI i;
					NI res;
					i = (NI)0;
					res = j;
					{
						while (1) {
							if (!(res <= k)) goto LA9;
							i = res;
							escChar_YGLNRZBIuMRMXyXBmINWgwrstgen(target, (&result), s->data[i]);
							res += ((NI) 1);
						} LA9: ;
					}
				}
				partLen += (NI)((NI)(k - j) + ((NI) 1));
				j = (NI)(k + ((NI) 1));
			} LA6: ;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI i_2;
			NI colontmp_;
			NI res_2;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
			res_2 = ((NI) 0);
			{
				while (1) {
					if (!(res_2 <= colontmp_)) goto LA13;
					i_2 = res_2;
					escChar_YGLNRZBIuMRMXyXBmINWgwrstgen(target, (&result), s->data[i_2]);
					res_2 += ((NI) 1);
				} LA13: ;
			}
		}
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, renderField_9bVWgX0SWmhEi3eHlrcMD8g_5)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	NIM_BOOL b;
	b = NIM_FALSE;
	{
		NimStringDesc* fieldname;
		NimStringDesc* fieldval;
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!((*d).target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1))) goto LA3_;
		fieldname = addNodes_8c8VtfxgpCNHWO7JhFDeLQ_2((*n).sons->data[((NI) 0)]);
		T5_ = (NimStringDesc*)0;
		T5_ = addNodes_8c8VtfxgpCNHWO7JhFDeLQ_2((*n).sons->data[((NI) 1)]);
		T6_ = (NimStringDesc*)0;
		T6_ = nsuStrip(T5_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
		fieldval = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T6_, ((NI) -1));
		{
			NIM_BOOL T9_;
			NI T10_;
			NI T12_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NI)0;
			T10_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_60));
			T9_ = (T10_ == ((NI) 0));
			if (T9_) goto LA11_;
			T12_ = (NI)0;
			T12_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_61));
			T9_ = (T12_ == ((NI) 0));
			LA11_: ;
			if (!T9_) goto LA13_;
			{
				if (!(((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0] ? (*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0]->Sup.len : 0) == ((NI) 0))) goto LA17_;
				unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 3))- 0]), copyString(fieldval));
				b = NIM_TRUE;
			}
			LA17_: ;
		}
		goto LA7_;
		LA13_: ;
		{
			NI T20_;
			T20_ = (NI)0;
			T20_ = nsuCmpIgnoreStyle(fieldname, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_62));
			if (!(T20_ == ((NI) 0))) goto LA21_;
			{
				if (!(((*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0] ? (*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0]->Sup.len : 0) == ((NI) 0))) goto LA25_;
				unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 4))- 0]), copyString(fieldval));
				b = NIM_TRUE;
			}
			LA25_: ;
		}
		goto LA7_;
		LA21_: ;
		LA7_: ;
	}
	LA3_: ;
	{
		if (!!(b)) goto LA29_;
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_63), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_64), result);
	}
	LA29_: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, texColumns_FDRh6W9cQJGan7BsqIP21Pw)(tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI colontmp_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
		res = ((NI) 1);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA3;
				i = res;
				result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_85));
				res += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dispF_aEoUshJxhNMbeFrPuMUWDg)(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw target, NimStringDesc* xml, NimStringDesc* tex, NimStringDesc** args, NI argsLen_0) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		if (!!((target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA3_;
		result = nsuFormatOpenArray(xml, args, argsLen_0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = nsuFormatOpenArray(tex, args, argsLen_0);
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, renderImage_9bVWgX0SWmhEi3eHlrcMD8g_6)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	NimStringDesc* arg;
	NimStringDesc* options;
	NimStringDesc* s;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T8_;
	NimStringDesc* T9_;
	NimStringDesc* T15_;
	NimStringDesc* T16_;
	NimStringDesc* T22_;
	NimStringDesc* T23_;
	NimStringDesc* T29_;
	NimStringDesc* T30_;
	NimStringDesc* htmlOut;
	tyArray_Re75IspeoxXy2oCZHwcRrA T50_;
	arg = getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3(n);
	options = ((NimStringDesc*) NIM_NIL);
	T1_ = (NimStringDesc*)0;
	T1_ = getFieldValue_VjyjaK09b2brDmklydzzMGg(n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_102));
	T2_ = (NimStringDesc*)0;
	T2_ = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	s = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T2_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T7_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T7_[0] = copyString(s);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, (&options), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_103), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_104), T7_, 1);
	}
	LA5_: ;
	T8_ = (NimStringDesc*)0;
	T8_ = getFieldValue_VjyjaK09b2brDmklydzzMGg(n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_105));
	T9_ = (NimStringDesc*)0;
	T9_ = nsuStrip(T8_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	s = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T9_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T14_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA12_;
		nimZeroMem((void*)T14_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T14_[0] = copyString(s);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, (&options), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_106), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_107), T14_, 1);
	}
	LA12_: ;
	T15_ = (NimStringDesc*)0;
	T15_ = getFieldValue_VjyjaK09b2brDmklydzzMGg(n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_108));
	T16_ = (NimStringDesc*)0;
	T16_ = nsuStrip(T15_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	s = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T16_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T21_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA19_;
		nimZeroMem((void*)T21_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T21_[0] = copyString(s);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, (&options), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_109), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_110), T21_, 1);
	}
	LA19_: ;
	T22_ = (NimStringDesc*)0;
	T22_ = getFieldValue_VjyjaK09b2brDmklydzzMGg(n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_111));
	T23_ = (NimStringDesc*)0;
	T23_ = nsuStrip(T22_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	s = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T23_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T28_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA26_;
		nimZeroMem((void*)T28_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T28_[0] = copyString(s);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, (&options), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_112), ((NimStringDesc*) NIM_NIL), T28_, 1);
	}
	LA26_: ;
	T29_ = (NimStringDesc*)0;
	T29_ = getFieldValue_VjyjaK09b2brDmklydzzMGg(n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_113));
	T30_ = (NimStringDesc*)0;
	T30_ = nsuStrip(T29_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	s = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T30_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T35_;
		if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA33_;
		nimZeroMem((void*)T35_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T35_[0] = copyString(s);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, (&options), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_114), ((NimStringDesc*) NIM_NIL), T35_, 1);
	}
	LA33_: ;
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T40_;
		if (!(((NI) 0) < (options ? options->Sup.len : 0))) goto LA38_;
		nimZeroMem((void*)T40_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T40_[0] = copyString(options);
		options = dispF_aEoUshJxhNMbeFrPuMUWDg((*d).target, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_64), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_115), T40_, 1);
	}
	LA38_: ;
	htmlOut = ((NimStringDesc*) NIM_NIL);
	{
		NIM_BOOL T43_;
		NIM_BOOL T44_;
		T43_ = (NIM_BOOL)0;
		T44_ = (NIM_BOOL)0;
		T44_ = nsuEndsWith(arg, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_116));
		if (T44_) goto LA45_;
		T44_ = nsuEndsWith(arg, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_117));
		LA45_: ;
		T43_ = T44_;
		if (T43_) goto LA46_;
		T43_ = nsuEndsWith(arg, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_118));
		LA46_: ;
		if (!T43_) goto LA47_;
		htmlOut = copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_119));
	}
	goto LA41_;
	LA47_: ;
	{
		htmlOut = copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_120));
	}
	LA41_: ;
	nimZeroMem((void*)T50_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
	T50_[0] = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, arg, ((NI) -1));
	T50_[1] = copyString(options);
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, htmlOut, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_121), T50_, 2);
	{
		NI T53_;
		T53_ = (NI)0;
		T53_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
		if (!(((NI) 3) <= T53_)) goto LA54_;
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], result);
	}
	LA54_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, init_NTuY9brQvL5wyRAE1t1qR7g)(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* p) {
	(*p).startLine = ((NI) 1);
	(*p).lang = ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 0);
	unsureAsgnRef((void**) (&(*p).langStr), ((NimStringDesc*) NIM_NIL));
}

N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockField_Dj9cPo9bAm285h0AIHVzSP9aQ)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* params) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3(n);
	T2_ = (NimStringDesc*)0;
	T2_ = nsuToLowerAsciiStr(T1_);
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_123))) goto LA3_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_124))) goto LA4_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_125))) goto LA4_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_126))) goto LA5_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_127))) goto LA6_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_128))) goto LA6_;
	if (eqStrings(T2_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_129))) goto LA7_;
	goto LA8_;
	LA3_: ;
	{
		NI number;
		(*params).numberLines = NIM_TRUE;
		number = (NI)0;
		{
			NimStringDesc* T13_;
			NI T14_;
			T13_ = (NimStringDesc*)0;
			T13_ = getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4(n);
			T14_ = (NI)0;
			T14_ = npuParseInt(T13_, (&number), ((NI) 0));
			if (!(((NI) 0) < T14_)) goto LA15_;
			(*params).startLine = number;
		}
		LA15_: ;
	}
	goto LA9_;
	LA4_: ;
	{
		NimStringDesc* T18_;
		T18_ = (NimStringDesc*)0;
		T18_ = getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4(n);
		unsureAsgnRef((void**) (&(*params).filename), nsuStrip(T18_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59));
	}
	goto LA9_;
	LA5_: ;
	{
		NimStringDesc* T20_;
		T20_ = (NimStringDesc*)0;
		T20_ = getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4(n);
		unsureAsgnRef((void**) (&(*params).testCmd), nsuStrip(T20_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59));
		{
			if (!(((*params).testCmd ? (*params).testCmd->Sup.len : 0) == ((NI) 0))) goto LA23_;
			unsureAsgnRef((void**) (&(*params).testCmd), copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_130)));
		}
		goto LA21_;
		LA23_: ;
		{
			unsureAsgnRef((void**) (&(*params).testCmd), nsuUnescape((*params).testCmd, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_131), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_131)));
		}
		LA21_: ;
	}
	goto LA9_;
	LA6_: ;
	{
		NI status;
		status = (NI)0;
		{
			NimStringDesc* T29_;
			NI T30_;
			T29_ = (NimStringDesc*)0;
			T29_ = getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4(n);
			T30_ = (NI)0;
			T30_ = npuParseInt(T29_, (&status), ((NI) 0));
			if (!(((NI) 0) < T30_)) goto LA31_;
			(*params).status = status;
		}
		LA31_: ;
	}
	goto LA9_;
	LA7_: ;
	{
		NimStringDesc* T34_;
		T34_ = (NimStringDesc*)0;
		T34_ = getFieldValue_8c8VtfxgpCNHWO7JhFDeLQ_4(n);
		unsureAsgnRef((void**) (&(*params).langStr), nsuStrip(T34_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59));
		(*params).lang = getSourceLanguage_pJRxVAMAZDc8hDhsyN6PCA((*params).langStr);
	}
	goto LA9_;
	LA8_: ;
	{
		NimStringDesc* T36_;
		T36_ = (NimStringDesc*)0;
		T36_ = getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3(n);
		(*d).msgHandler.ClE_0? (*d).msgHandler.ClP_0((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ) 9), T36_, (*d).msgHandler.ClE_0):((TM_vGSJrCjWQr859bqRvctRIaA_132)((*d).msgHandler.ClP_0))((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ) 9), T36_);
	}
	LA9_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, parseCodeBlockParams_xkDDz8ly5WS9c6ex3diK8jg)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* Result) {
	NimStringDesc* T13_;
{	genericReset((void*)Result, (&NTI_VGrTBDzO5FHLY33yjUsvkA_));
	init_NTuY9brQvL5wyRAE1t1qR7g(Result);
	{
		if (!(n == 0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*n).sons->data[((NI) 1)] == 0))) goto LA7_;
		{
			tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* son;
			tySequence_sawZST1Esj3o7EY9ayWwGPw* colontmp_;
			NI i;
			NI L;
			NI T10_;
			son = (tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg*)0;
			colontmp_ = (tySequence_sawZST1Esj3o7EY9ayWwGPw*)0;
			colontmp_ = (*(*n).sons->data[((NI) 1)]).sons;
			i = ((NI) 0);
			T10_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T10_;
			{
				while (1) {
					if (!(i < L)) goto LA12;
					son = colontmp_->data[i];
					parseCodeBlockField_Dj9cPo9bAm285h0AIHVzSP9aQ(d, son, Result);
					i += ((NI) 1);
				} LA12: ;
			}
		}
	}
	LA7_: ;
	T13_ = (NimStringDesc*)0;
	T13_ = getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3(n);
	unsureAsgnRef((void**) (&(*Result).langStr), nsuStrip(T13_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59));
	{
		if (!!((((*Result).langStr ? (*Result).langStr->Sup.len : 0) == 0))) goto LA16_;
		(*Result).lang = getSourceLanguage_pJRxVAMAZDc8hDhsyN6PCA((*Result).langStr);
	}
	LA16_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, buildLinesHtmlTable_tUW9ckGjCgjb1x7qsWG9bQeA)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA* params, NimStringDesc* code, tyTuple_UV3llMMYFckfui8YMBuUZA* Result) {
	NimStringDesc* id;
	NI codeLines;
	NimStringDesc* T8_;
	NI line;
	NimStringDesc* T13_;
	NimStringDesc* T14_;
	tyArray_Re75IspeoxXy2oCZHwcRrA T15_;
	NimStringDesc* T16_;
	NimStringDesc* T17_;
	NimStringDesc* T18_;
	NimStringDesc* T19_;
	NimStringDesc* T20_;
	NimStringDesc* T21_;
{	genericReset((void*)Result, (&NTI_UV3llMMYFckfui8YMBuUZA_));
	(*d).listingCounter += ((NI) 1);
	id = nimIntToStr((*d).listingCounter);
	{
		NimStringDesc* T5_;
		tyArray_Re75IspeoxXy2oCZHwcRrA T6_;
		NimStringDesc* T7_;
		if (!!((*params).numberLines)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_135), ((NimStringDesc*) NIM_NIL));
		nimZeroMem((void*)T6_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
		T6_[0] = copyString(id);
		T6_[1] = copyString(sourceLanguageToStr_HxGhuVvqzgyr9b5gK42kE9aw[((*params).lang)- 0]);
		unsureAsgnRef((void**) (&(*Result).Field0), nsuFormatOpenArray(T5_, T6_, 2));
		T7_ = (NimStringDesc*)0;
		T7_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_136), ((NimStringDesc*) NIM_NIL));
		unsureAsgnRef((void**) (&(*Result).Field1), nsuFormatSingleElem(T7_, id));
		goto BeforeRet_;
	}
	LA3_: ;
	T8_ = (NimStringDesc*)0;
	T8_ = nsuStrip(code, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	codeLines = nsuCountLines(T8_);
	unsureAsgnRef((void**) (&(*Result).Field0), copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_137)));
	line = (*params).startLine;
	{
		while (1) {
			NimStringDesc* T11_;
			NimStringDesc* T12_;
			if (!(((NI) 0) < codeLines)) goto LA10;
			T11_ = (NimStringDesc*)0;
			T12_ = (NimStringDesc*)0;
			T12_ = nimIntToStr(line);
			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 1);
appendString(T11_, T12_);
appendString(T11_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_18));
			unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, (T11_ ? T11_->Sup.len : 0) + 0));
appendString((*Result).Field0, T11_);
			line += ((NI) 1);
			codeLines -= ((NI) 1);
		} LA10: ;
	}
	T13_ = (NimStringDesc*)0;
	T14_ = (NimStringDesc*)0;
	T14_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_135), ((NimStringDesc*) NIM_NIL));
	nimZeroMem((void*)T15_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
	T15_[0] = copyString(id);
	T15_[1] = copyString(sourceLanguageToStr_HxGhuVvqzgyr9b5gK42kE9aw[((*params).lang)- 0]);
	T16_ = (NimStringDesc*)0;
	T16_ = nsuFormatOpenArray(T14_, T15_, 2);
	T13_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 15);
appendString(T13_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_138));
appendString(T13_, T16_);
	unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, (T13_ ? T13_->Sup.len : 0) + 0));
appendString((*Result).Field0, T13_);
	T17_ = (NimStringDesc*)0;
	T18_ = (NimStringDesc*)0;
	T18_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_136), ((NimStringDesc*) NIM_NIL));
	T19_ = (NimStringDesc*)0;
	T19_ = nsuFormatSingleElem(T18_, id);
	T20_ = (NimStringDesc*)0;
	T20_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_140), ((NimStringDesc*) NIM_NIL));
	T21_ = (NimStringDesc*)0;
	T21_ = nsuFormatSingleElem(T20_, id);
	T17_ = rawNewString((T19_ ? T19_->Sup.len : 0) + (T21_ ? T21_->Sup.len : 0) + 26);
appendString(T17_, T19_);
appendString(T17_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_139));
appendString(T17_, T21_);
	unsureAsgnRef((void**) (&(*Result).Field1), T17_);
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, renderCodeBlock_xm1lqgqJH2JaTbCE9aSPkow)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA params;
	tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* m;
	tyTuple_UV3llMMYFckfui8YMBuUZA T11_;
	NimStringDesc* blockStart;
	NimStringDesc* blockEnd;
	tyArray_8ZvwQIddfpj2THRVPsFzIQ T12_;
	tyArray_8ZvwQIddfpj2THRVPsFzIQ T33_;
{	{
		if (!((*n).sons->data[((NI) 2)] == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&params), sizeof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA));
	parseCodeBlockParams_xkDDz8ly5WS9c6ex3diK8jg(d, n, (&params));
	m = (*(*n).sons->data[((NI) 2)]).sons->data[((NI) 0)];
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = (((NI) 0) < (params.testCmd ? params.testCmd->Sup.len : 0));
		if (!(T7_)) goto LA8_;
		T7_ = !(((*d).onTestSnippet.ClP_0 == TM_vGSJrCjWQr859bqRvctRIaA_133.ClP_0 && (*d).onTestSnippet.ClE_0 == TM_vGSJrCjWQr859bqRvctRIaA_133.ClE_0));
		LA8_: ;
		if (!T7_) goto LA9_;
		(*d).onTestSnippet.ClE_0? (*d).onTestSnippet.ClP_0(d, params.filename, params.testCmd, params.status, (*m).text, (*d).onTestSnippet.ClE_0):((TM_vGSJrCjWQr859bqRvctRIaA_134)((*d).onTestSnippet.ClP_0))(d, params.filename, params.testCmd, params.status, (*m).text);
	}
	LA9_: ;
	nimZeroMem((void*)(&T11_), sizeof(tyTuple_UV3llMMYFckfui8YMBuUZA));
	buildLinesHtmlTable_tUW9ckGjCgjb1x7qsWG9bQeA(d, (&params), (*m).text, (&T11_));
	blockStart = (NimStringDesc*)0;
	blockStart = T11_.Field0;
	blockEnd = (NimStringDesc*)0;
	blockEnd = T11_.Field1;
	nimZeroMem((void*)T12_, sizeof(tyArray_8ZvwQIddfpj2THRVPsFzIQ));
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, blockStart, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_141), T12_, 0);
	{
		if (!(params.lang == ((tyEnum_SourceLanguage_LpbEPkKqvJ0VCa4hwZcOBQ) 0))) goto LA15_;
		{
			if (!(((NI) 0) < (params.langStr ? params.langStr->Sup.len : 0))) goto LA19_;
			(*d).msgHandler.ClE_0? (*d).msgHandler.ClP_0((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ) 8), params.langStr, (*d).msgHandler.ClE_0):((TM_vGSJrCjWQr859bqRvctRIaA_142)((*d).msgHandler.ClP_0))((*d).filename, ((NI) 1), ((NI) 0), ((tyEnum_MsgKind_iviJnHlj9acPYlnNRbd9bhkQ) 8), params.langStr);
		}
		LA19_: ;
		{
			NIM_CHAR letter;
			NimStringDesc* colontmp_;
			NI i;
			NI L;
			letter = (NIM_CHAR)0;
			colontmp_ = (NimStringDesc*)0;
			colontmp_ = (*m).text;
			i = ((NI) 0);
			L = (colontmp_ ? colontmp_->Sup.len : 0);
			{
				while (1) {
					if (!(i < L)) goto LA23;
					letter = colontmp_->data[i];
					escChar_YGLNRZBIuMRMXyXBmINWgwrstgen((*d).target, result, letter);
					i += ((NI) 1);
				} LA23: ;
			}
		}
	}
	goto LA13_;
	LA15_: ;
	{
		tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA g;
		nimZeroMem((void*)(&g), sizeof(tyObject_GeneralTokenizer_XJrmQSLLjVmugZQb54lVWA));
		g.Sup.m_type = (&NTI_XJrmQSLLjVmugZQb54lVWA_);
		initGeneralTokenizer_mkl80sUMqVEnUERAYjzQnQ((&g), (*m).text);
		{
			while (1) {
				getNextToken_IbOZ0ks3AOdvZooFVi3ZqQ((&g), params.lang);
				switch (g.kind) {
				case ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 0):
				{
					goto LA25;
				}
				break;
				case ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 1):
				case ((tyEnum_TokenClass_UcAPDGzMlzghdb9c8MB7mEw) 2):
				{
					NimStringDesc* T29_;
					T29_ = (NimStringDesc*)0;
					T29_ = substr_TWXUwbnq0SWWvDLfr8LXYw((*m).text, g.start, (NI)((NI)(g.length + g.start) - ((NI) 1)));
					unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T29_ ? T29_->Sup.len : 0) + 0));
appendString((*result), T29_);
				}
				break;
				default:
				{
					tyArray_Re75IspeoxXy2oCZHwcRrA T31_;
					NimStringDesc* T32_;
					nimZeroMem((void*)T31_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
					T32_ = (NimStringDesc*)0;
					T32_ = substr_TWXUwbnq0SWWvDLfr8LXYw((*m).text, g.start, (NI)((NI)(g.length + g.start) - ((NI) 1)));
					T31_[0] = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T32_, ((NI) -1));
					T31_[1] = copyString(tokenClassToStr_XoxGqeDe9c9bun9b5PoCUnzlg[(g.kind)- 0]);
					dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_143), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_144), T31_, 2);
				}
				break;
				}
			}
		} LA25: ;
		deinitGeneralTokenizer_XKaqgmev4xnyyBfOanjk5g_7((&g));
	}
	LA13_: ;
	nimZeroMem((void*)T33_, sizeof(tyArray_8ZvwQIddfpj2THRVPsFzIQ));
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, blockEnd, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_145), T33_, 0);
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, renderContainer_9bVWgX0SWmhEi3eHlrcMD8g_7)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	NimStringDesc* tmp;
	NimStringDesc* arg;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	tmp = ((NimStringDesc*) NIM_NIL);
	renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], (&tmp));
	T1_ = (NimStringDesc*)0;
	T1_ = getArgument_8c8VtfxgpCNHWO7JhFDeLQ_3(n);
	T2_ = (NimStringDesc*)0;
	T2_ = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM_vGSJrCjWQr859bqRvctRIaA_59);
	arg = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, T2_, ((NI) -1));
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T7_;
		if (!((arg ? arg->Sup.len : 0) == 0)) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T7_[0] = copyString(tmp);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_146), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_64), T7_, 1);
	}
	goto LA3_;
	LA5_: ;
	{
		tyArray_Re75IspeoxXy2oCZHwcRrA T9_;
		nimZeroMem((void*)T9_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
		T9_[0] = copyString(arg);
		T9_[1] = copyString(tmp);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_147), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_148), T9_, 2);
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, renderIndexTerm_9bVWgX0SWmhEi3eHlrcMD8g_8)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	NimStringDesc* refname;
	NimStringDesc* id;
	NimStringDesc* T8_;
	NI T9_;
	NimStringDesc* T10_;
	NimStringDesc* term;
	NimStringDesc* T11_;
	NimStringDesc* T12_;
	tyArray_Re75IspeoxXy2oCZHwcRrA T13_;
	refname = rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ(n);
	{
		NIM_BOOL T3_;
		NI T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasKey_aQ9bGlmunsxiPO9bn4NMLVdg((*d).seenIndexTerms, refname);
		if (!T3_) goto LA4_;
		T6_ = (NI)0;
		T6_ = getOrDefault_YMr4P8nfgPQ9cO9b7WrcVHtg((*d).seenIndexTerms, refname);
		X5BX5Deq__5zoGSRJ7wsRe69aot0ujw0Q((&(*d).seenIndexTerms), refname, (NI)(T6_ + ((NI) 1)));
	}
	goto LA1_;
	LA4_: ;
	{
		X5BX5Deq__5zoGSRJ7wsRe69aot0ujw0Q((&(*d).seenIndexTerms), refname, ((NI) 1));
	}
	LA1_: ;
	T8_ = (NimStringDesc*)0;
	T9_ = (NI)0;
	T9_ = getOrDefault_YMr4P8nfgPQ9cO9b7WrcVHtg((*d).seenIndexTerms, refname);
	T10_ = (NimStringDesc*)0;
	T10_ = nimIntToStr(T9_);
	T8_ = rawNewString((refname ? refname->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 1);
appendString(T8_, refname);
appendChar(T8_, 95);
appendString(T8_, T10_);
	id = T8_;
	term = ((NimStringDesc*) NIM_NIL);
	renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, (&term));
	T11_ = (NimStringDesc*)0;
	T11_ = nosextractFilename((*d).filename);
	T12_ = (NimStringDesc*)0;
	T12_ = noschangeFileExt(T11_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_19));
	setIndexTerm_274xJIcTRjQnVVxRhl7JXw(d, T12_, id, term, (*d).currentSection, ((NimStringDesc*) NIM_NIL));
	nimZeroMem((void*)T13_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
	T13_[0] = copyString(id);
	T13_[1] = copyString(term);
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_160), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_161), T13_, 2);
}

N_LIB_PRIVATE N_NIMCALL(void, renderSmiley_MxdnaMzu9aR9b9aF1150aR84A)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
	tyArray_nHXaesL0DJZHyVS07ARPRA T1_;
	NimStringDesc* T2_;
	nimZeroMem((void*)T1_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
	T2_ = (NimStringDesc*)0;
	T2_ = getOrDefault_H9ck9bJDr0wy9bImHhMsTWhpw((*d).config, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_166), ((NimStringDesc*) NIM_NIL));
	T1_[0] = nsuFormatSingleElem(T2_, (*n).text);
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_164), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_165), T1_, 1);
}

N_LIB_PRIVATE N_NIMCALL(void, renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* n, NimStringDesc** result) {
{	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 0):
	{
		renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 1):
	{
		renderHeadline_9bVWgX0SWmhEi3eHlrcMD8g_3(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 2):
	{
		renderOverline_9bVWgX0SWmhEi3eHlrcMD8g_4(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 3):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_22), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_23), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 4):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_24), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_25), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 5):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_26), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_27), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 6):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 8):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_28), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_29), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 7):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_30), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_31), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 9):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_32), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_33), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 10):
	{
		renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 11):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_34), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_35), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 12):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_36), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_37), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 13):
	{
		NimStringDesc* tmp;
		tmp = ((NimStringDesc*) NIM_NIL);
		{
			NI i;
			NI colontmp_;
			NI T19_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T19_ = (NI)0;
			T19_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
			colontmp_ = (NI)(T19_ - ((NI) 1));
			res = ((NI) 0);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA21;
					i = res;
					renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i], (&tmp));
					res += ((NI) 1);
				} LA21: ;
			}
		}
		{
			tyArray_nHXaesL0DJZHyVS07ARPRA T26_;
			if (!!(((tmp ? tmp->Sup.len : 0) == ((NI) 0)))) goto LA24_;
			nimZeroMem((void*)T26_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
			T26_[0] = copyString(tmp);
			dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_38), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_33), T26_, 1);
		}
		LA24_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 14):
	{
		renderField_9bVWgX0SWmhEi3eHlrcMD8g_5(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 15):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_65), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_66), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 16):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_67), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_68), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 51):
	{
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 2)], result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 17):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_69), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_70), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 18):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_63), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_64), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 19):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_71), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_72), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 23):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_73), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_68), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 20):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 21):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 22):
	{
		{
			if (!NIM_TRUE) goto LA38_;
			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_74));
		}
		LA38_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 24):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_75), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_76), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 25):
	{
		{
			if (!NIM_TRUE) goto LA44_;
			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_77));
		}
		LA44_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 26):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_78), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_25), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 27):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_79), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_80), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 28):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_81), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_82), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 29):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 30):
	{
		NimStringDesc* T50_;
		NimStringDesc* T51_;
		T50_ = (NimStringDesc*)0;
		T51_ = (NimStringDesc*)0;
		T51_ = texColumns_FDRh6W9cQJGan7BsqIP21Pw(n);
		T50_ = rawNewString((T51_ ? T51_->Sup.len : 0) + 63);
appendString(T50_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_84));
appendString(T50_, T51_);
appendString(T50_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_86));
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_83), T50_, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 31):
	{
		{
			NI T55_;
			T55_ = (NI)0;
			T55_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
			if (!(((NI) 1) <= T55_)) goto LA56_;
			{
				if (!((*d).target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1))) goto LA60_;
				renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], result);
				{
					NI i_2;
					NI colontmp__2;
					NI T63_;
					NI res_2;
					i_2 = (NI)0;
					colontmp__2 = (NI)0;
					T63_ = (NI)0;
					T63_ = len_7sZ6jl1AobLSRAIdrbIp6A(n);
					colontmp__2 = (NI)(T63_ - ((NI) 1));
					res_2 = ((NI) 1);
					{
						while (1) {
							if (!(res_2 <= colontmp__2)) goto LA65;
							i_2 = res_2;
							unsureAsgnRef((void**) (&(*result)), resizeString((*result), 3));
appendString((*result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_87));
							renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[i_2], result);
							res_2 += ((NI) 1);
						} LA65: ;
					}
				}
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 10));
appendString((*result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_88));
			}
			goto LA58_;
			LA60_: ;
			{
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 4));
appendString((*result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_89));
				renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 6));
appendString((*result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_90));
			}
			LA58_: ;
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 33):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_67), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_64), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 32):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_91), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_92), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 34):
	{
		{
			if (!NIM_TRUE) goto LA72_;
			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_93));
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 35):
	{
		{
			if (!NIM_TRUE) goto LA77_;
			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_94));
		}
		LA77_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 36):
	{
		{
			if (!NIM_TRUE) goto LA82_;
			failedAssertImpl_aDmpBTs9cPuXp0Mp9cfiNeyA(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_95));
		}
		LA82_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 39):
	{
		NimStringDesc* tmp_2;
		tyArray_Re75IspeoxXy2oCZHwcRrA T85_;
		tmp_2 = ((NimStringDesc*) NIM_NIL);
		renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, (&tmp_2));
		nimZeroMem((void*)T85_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
		T85_[0] = copyString(tmp_2);
		T85_[1] = rstnodeToRefname_8c8VtfxgpCNHWO7JhFDeLQ(n);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_96), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_97), T85_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 37):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_98), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_99), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 38):
	{
		NimStringDesc* tmp0;
		NimStringDesc* tmp1;
		tyArray_Re75IspeoxXy2oCZHwcRrA T88_;
		tmp0 = ((NimStringDesc*) NIM_NIL);
		tmp1 = ((NimStringDesc*) NIM_NIL);
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&tmp0));
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 1)], (&tmp1));
		nimZeroMem((void*)T88_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
		T88_[0] = copyString(tmp0);
		T88_[1] = copyString(tmp1);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_100), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_101), T88_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 41):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 42):
	{
		renderAux_9bVWgX0SWmhEi3eHlrcMD8g_2(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 48):
	{
		{
			tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* T95_;
			NimStringDesc* T96_;
			if (!!(((*d).target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1)))) goto LA93_;
			T95_ = (tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg*)0;
			T95_ = lastSon_6THavcP7GUSgGy7kiweW4w(n);
			T96_ = (NimStringDesc*)0;
			T96_ = addNodes_8c8VtfxgpCNHWO7JhFDeLQ_2(T95_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T96_ ? T96_->Sup.len : 0) + 0));
appendString((*result), T96_);
		}
		LA93_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 49):
	{
		{
			tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg* T102_;
			NimStringDesc* T103_;
			if (!((*d).target == ((tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw) 1))) goto LA100_;
			T102_ = (tyObject_RstNode_CjRS2xrmuD58kdGedE3yyg*)0;
			T102_ = lastSon_6THavcP7GUSgGy7kiweW4w(n);
			T103_ = (NimStringDesc*)0;
			T103_ = addNodes_8c8VtfxgpCNHWO7JhFDeLQ_2(T102_);
			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T103_ ? T103_->Sup.len : 0) + 0));
appendString((*result), T103_);
		}
		LA100_: ;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 45):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 46):
	{
		renderImage_9bVWgX0SWmhEi3eHlrcMD8g_6(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 47):
	{
		renderCodeBlock_xm1lqgqJH2JaTbCE9aSPkow(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 50):
	{
		renderContainer_9bVWgX0SWmhEi3eHlrcMD8g_7(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 62):
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 52):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_149), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_149), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 40):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) NIM_NIL), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 53):
	{
		NimStringDesc* tmp0_2;
		NimStringDesc* tmp1_2;
		tyArray_Re75IspeoxXy2oCZHwcRrA T110_;
		tmp0_2 = ((NimStringDesc*) NIM_NIL);
		tmp1_2 = ((NimStringDesc*) NIM_NIL);
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&tmp0_2));
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 1)], (&tmp1_2));
		nimZeroMem((void*)T110_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
		T110_[0] = copyString(tmp0_2);
		T110_[1] = copyString(tmp1_2);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_143), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_144), T110_, 2);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 54):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_150), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_151), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 55):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_152), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_153), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 57):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_154), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_155), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 58):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_156), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_92), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 59):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_157), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_158), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 60):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_159), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_155), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 56):
	{
		renderIndexTerm_9bVWgX0SWmhEi3eHlrcMD8g_8(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 61):
	{
		renderAux_zVlkCIHCkLQV6Nm9a32Dl4w(d, n, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_162), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_163), result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 63):
	{
		renderSmiley_MxdnaMzu9aR9b9aF1150aR84A(d, n, result);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 64):
	{
		NimStringDesc* T121_;
		T121_ = (NimStringDesc*)0;
		T121_ = esc_sm8y9bxy11QYfMg5P7N4rBQ((*d).target, (*n).text, ((NI) -1));
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T121_ ? T121_->Sup.len : 0) + 0));
appendString((*result), T121_);
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 44):
	{
		(*d).hasToc = NIM_TRUE;
	}
	break;
	case ((tyEnum_RstNodeKind_Q1jM9a8f0MKlvbLZpipB3qg) 43):
	{
		unsureAsgnRef((void**) (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]), ((NimStringDesc*) NIM_NIL));
		renderRstToOut_9bVWgX0SWmhEi3eHlrcMD8g(d, (*n).sons->data[((NI) 0)], (&(*d).meta[(((tyEnum_MetaEnum_HD14RiMbGt9aRJpE4GI3T9cg) 1))- 0]));
	}
	break;
	}
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, renderTocEntry_9ckC1iztPiMMJJ2Ms5Ax4yg)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw e, NimStringDesc** result) {
	tyArray_Re75IspeoxXy2oCZHwcRrA T1_;
	nimZeroMem((void*)T1_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
	T1_[0] = copyString(e.refname);
	T1_[1] = copyString(e.header);
	dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_167), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_168), T1_, 2);
}

N_LIB_PRIVATE N_NIMCALL(void, renderTocEntries_8H2NASP82yYs4VTZ0edu9aQ)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* d, NI* j, NI lvl, NimStringDesc** result) {
	NimStringDesc* tmp;
	tmp = ((NimStringDesc*) NIM_NIL);
	{
		while (1) {
			NI T3_;
			NI a;
			T3_ = (((*d).tocPart ? (*d).tocPart->Sup.len : 0)-1);
			if (!((*j) <= T3_)) goto LA2;
			a = ((*(*d).tocPart->data[(*j)].n).level > 0? ((*(*d).tocPart->data[(*j)].n).level) : -((*(*d).tocPart->data[(*j)].n).level));
			{
				if (!(a == lvl)) goto LA6_;
				renderTocEntry_9ckC1iztPiMMJJ2Ms5Ax4yg(d, (*d).tocPart->data[(*j)], (&tmp));
				(*j) += ((NI) 1);
			}
			goto LA4_;
			LA6_: ;
			{
				if (!(lvl < a)) goto LA9_;
				renderTocEntries_8H2NASP82yYs4VTZ0edu9aQ(d, j, a, (&tmp));
			}
			goto LA4_;
			LA9_: ;
			{
				goto LA1;
			}
			LA4_: ;
		} LA2: ;
	} LA1: ;
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T16_;
		if (!(((NI) 1) < lvl)) goto LA14_;
		nimZeroMem((void*)T16_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		T16_[0] = copyString(tmp);
		dispA_RAOvit1ohgeaPKED9bxTXqg((*d).target, result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_169), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_170), T16_, 1);
	}
	goto LA12_;
	LA14_: ;
	{
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (tmp ? tmp->Sup.len : 0) + 0));
appendString((*result), tmp);
	}
	LA12_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, writeIndexFile_9bxhm9bdovFh9a1UQ2JGbKz8Q)(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg* g, NimStringDesc* outfile) {
	{
		if (!(((NI) 0) < ((*g).theIndex ? (*g).theIndex->Sup.len : 0))) goto LA3_;
		writeFile_c1B29b0ZdDRPHc27YaKqwaA(outfile, (*g).theIndex);
	}
	LA3_: ;
}
static N_NIMCALL(void, Marker_tySequence_5PunAJrNQYcB8dF0jau3pQ)(void* p, NI op) {
	tySequence_5PunAJrNQYcB8dF0jau3pQ* a;
	NI T1_;
	a = (tySequence_5PunAJrNQYcB8dF0jau3pQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].keyword, op);
	nimGCvisit((void*)a->data[T1_].link, op);
	nimGCvisit((void*)a->data[T1_].linkTitle, op);
	nimGCvisit((void*)a->data[T1_].linkDesc, op);
	}
}

static N_INLINE(NimStringDesc*, pop_9cDsfK2acP02vJ9bhxIE9caEArstgen)(tySequence_sM4lkSb7zS6F7OVMvW9cffQ** s) {
	NimStringDesc* result;
	NI L;
	NI T1_;
	result = (NimStringDesc*)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	L = (NI)(T1_ - ((NI) 1));
	result = copyString((*s)->data[L]);
	unsureAsgnRef((void**) (&(*s)), (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*s))->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (L))));
	return result;
}

static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}

static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).hasRaiseAction = NIM_FALSE;
	(*s).prev = excHandler_rqLlY5bs9atDw2OXYqJEn5g;
	excHandler_rqLlY5bs9atDw2OXYqJEn5g = s;
}

static N_INLINE(NIM_BOOL, dirExists_wf0Ae3eLXw0lSNEFJMV3ognimblecmd)(NimStringDesc* dir) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = nosexistsDir(dir);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDocumentationTitle_KCvhJRX8NjiWm2ra4I89c3w)(NimStringDesc* hyperlink) {
	NIM_BOOL result;
	NI T1_;
	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = nsuFindChar(hyperlink, 35, ((NI) 0), ((NI) 0));
	result = (T1_ < ((NI) 0));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2)(NimStringDesc* text) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = multiReplace_umfhYZ3JuLdIcd167CziMw(text, TM_vGSJrCjWQr859bqRvctRIaA_178, 3);
	return result;
}

static N_INLINE(void, popSafePoint)(void) {
	excHandler_rqLlY5bs9atDw2OXYqJEn5g = (*excHandler_rqLlY5bs9atDw2OXYqJEn5g).prev;
}

static N_INLINE(NI, emarkamp__6dtCP6C39bxOkT4wrIPJwKghashes)(NI h, NI val) {
	NI result;
	result = (NI)0;
	result = (NI)((NU64)(h) + (NU64)(val));
	result = (NI)((NU64)(result) + (NU64)((NI)((NU64)(result) << (NU64)(((NI) 10)))));
	result = (NI)(result ^ (NI)((NU64)(result) >> (NU64)(((NI) 6))));
	return result;
}

static N_INLINE(NI, emarkdollar__zs9byUtT9cNi2e9clB27b2cUAhashes)(NI h) {
	NI result;
	result = (NI)0;
	result = (NI)((NU64)(h) + (NU64)((NI)((NU64)(h) << (NU64)(((NI) 3)))));
	result = (NI)(result ^ (NI)((NU64)(result) >> (NU64)(((NI) 11))));
	result = (NI)((NU64)(result) + (NU64)((NI)((NU64)(result) << (NU64)(((NI) 15)))));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, hash_Q7BtvrecnTohFQH6ezREJw)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* x) {
	NI result;
	NI T1_;
	NI T2_;
	NI T3_;
	NI T4_;
	result = (NI)0;
	T1_ = (NI)0;
	T1_ = hash_uBstFm5SYVQeOL3j9c9bc58A((*x).keyword);
	T2_ = (NI)0;
	T2_ = hash_uBstFm5SYVQeOL3j9c9bc58A((*x).link);
	result = emarkamp__6dtCP6C39bxOkT4wrIPJwKghashes(T1_, T2_);
	T3_ = (NI)0;
	T3_ = hash_uBstFm5SYVQeOL3j9c9bc58A((*x).linkTitle);
	result = emarkamp__6dtCP6C39bxOkT4wrIPJwKghashes(result, T3_);
	T4_ = (NI)0;
	T4_ = hash_uBstFm5SYVQeOL3j9c9bc58A((*x).linkDesc);
	result = emarkamp__6dtCP6C39bxOkT4wrIPJwKghashes(result, T4_);
	result = emarkdollar__zs9byUtT9cNi2e9clB27b2cUAhashes(result);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, readIndexDir_Lyvg9cs1h7hEo22Dbto0kug)(NimStringDesc* dir, tyTuple_19af1Yi5wzYJHEoosvtCJdQ* Result) {
	NI volatile L;
	tyProc_kTj9c3SX9agxDQPZYwemi6ug T224_;
	genericReset((void*)Result, (&NTI_19af1Yi5wzYJHEoosvtCJdQ_));
	unsureAsgnRef((void**) (&(*Result).Field0), NIM_NIL);
	initTable_t6S4pGZGZYSl9bUnFbB3OHQ(((NI) 32), (&(*Result).Field2));
	unsureAsgnRef((void**) (&(*Result).Field1), (tySequence_5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 15000)));
	unsureAsgnRef((void**) (&(*Result).Field1), (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0)));
	L = ((NI) 0);
	{
		NimStringDesc* path;
		tySequence_sM4lkSb7zS6F7OVMvW9cffQ* volatile stack;
		NimStringDesc* T2_;
		path = (NimStringDesc*)0;
		stack = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ_), 1);
		T2_ = (NimStringDesc*)0;
		T2_ = stack->data[0]; stack->data[0] = copyStringRC1(dir);
		if (T2_) nimGCunrefNoCycle(T2_);
		{
			while (1) {
				NI T5_;
				T5_ = (stack ? stack->Sup.len : 0);
				if (!(((NI) 0) < T5_)) goto LA4;
				{
					tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg k;
					NimStringDesc* p;
					NimStringDesc* colontmp_;
					DIR* d;
					k = (tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg)0;
					p = (NimStringDesc*)0;
					colontmp_ = (NimStringDesc*)0;
					colontmp_ = pop_9cDsfK2acP02vJ9bhxIE9caEArstgen((&stack));
					d = opendir(nimToCStringConv(colontmp_));
					{
						TSafePoint TM_vGSJrCjWQr859bqRvctRIaA_173;
						if (!!((d == NIM_NIL))) goto LA9_;
						pushSafePoint(&TM_vGSJrCjWQr859bqRvctRIaA_173);
						TM_vGSJrCjWQr859bqRvctRIaA_173.status = _setjmp(TM_vGSJrCjWQr859bqRvctRIaA_173.context);
						if (TM_vGSJrCjWQr859bqRvctRIaA_173.status == 0) {
							{
								while (1) {
									{
										struct dirent* x;
										NimStringDesc* volatile y;
										x = readdir(d);
										{
											if (!(x == NIM_NIL)) goto LA17_;
											goto LA12;
										}
										LA17_: ;
										y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
										{
											NIM_BOOL T21_;
											struct stat s;
											tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg volatile k_2;
											T21_ = (NIM_BOOL)0;
											T21_ = !(eqStrings(y, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_174)));
											if (!(T21_)) goto LA22_;
											T21_ = !(eqStrings(y, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_175)));
											LA22_: ;
											if (!T21_) goto LA23_;
											nimZeroMem((void*)(&s), sizeof(struct stat));
											{
												if (!NIM_TRUE) goto LA27_;
												y = slash__lXoMhn1ZYc9cAJa9bfA61msg(colontmp_, y);
											}
											LA27_: ;
											k_2 = ((tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg) 0);
											{
												if (!!(((*x).d_type == ((NI8) 0)))) goto LA31_;
												{
													if (!((*x).d_type == ((NI8) 4))) goto LA35_;
													k_2 = ((tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg) 2);
												}
												LA35_: ;
												{
													if (!((*x).d_type == ((NI8) 10))) goto LA39_;
													{
														NIM_BOOL T43_;
														T43_ = (NIM_BOOL)0;
														T43_ = dirExists_wf0Ae3eLXw0lSNEFJMV3ognimblecmd(y);
														if (!T43_) goto LA44_;
														k_2 = ((tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg) 3);
													}
													goto LA41_;
													LA44_: ;
													{
														k_2 = ((tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg) 1);
													}
													LA41_: ;
												}
												LA39_: ;
												k = k_2;
												p = y;
												{
													NIM_BOOL T49_;
													NI T53_;
													NimStringDesc* T54_;
													T49_ = (NIM_BOOL)0;
													T49_ = ((12 &(1U<<((NU)(k)&7U)))!=0);
													if (!(T49_)) goto LA50_;
													T49_ = ((4 &(1U<<((NU)(k)&7U)))!=0);
													LA50_: ;
													if (!T49_) goto LA51_;
													stack = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&(stack)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_));
													T53_ = stack->Sup.len++;
													T54_ = (NimStringDesc*)0;
													T54_ = stack->data[T53_]; stack->data[T53_] = copyStringRC1(p);
													if (T54_) nimGCunrefNoCycle(T54_);
												}
												LA51_: ;
												{
													if (!((1 &(1U<<((NU)(k)&7U)))!=0)) goto LA57_;
													path = p;
													{
														NIM_BOOL T61_;
														tySequence_5PunAJrNQYcB8dF0jau3pQ* volatile fileEntries;
														tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg title;
														NI volatile F;
														T61_ = (NIM_BOOL)0;
														T61_ = nsuEndsWith(path, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_176));
														if (!T61_) goto LA62_;
														fileEntries = (tySequence_5PunAJrNQYcB8dF0jau3pQ*)0;
														nimZeroMem((void*)(&title), sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg));
														F = ((NI) 0);
														fileEntries = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 500));
														fileEntries = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0));
														{
															NimStringDesc* line;
															FILE* f;
															TSafePoint TM_vGSJrCjWQr859bqRvctRIaA_177;
															line = (NimStringDesc*)0;
															f = open_hqzpWQbdA2B8l9a6wwNoP4g(path, ((tyEnum_FileMode_fVUBHvW79bXUw1j55Oo9avSQ) 0), ((NI) 8000));
															pushSafePoint(&TM_vGSJrCjWQr859bqRvctRIaA_177);
															TM_vGSJrCjWQr859bqRvctRIaA_177.status = _setjmp(TM_vGSJrCjWQr859bqRvctRIaA_177.context);
															if (TM_vGSJrCjWQr859bqRvctRIaA_177.status == 0) {
																NimStringDesc* res;
																res = rawNewString(((NI) 80));
																{
																	while (1) {
																		NIM_BOOL T68_;
																		T68_ = (NIM_BOOL)0;
																		T68_ = readLine_sO1bQXVRA6RP9cdYJXNKeSw(f, (&res));
																		if (!T68_) goto LA67;
																		line = res;
																		{
																			NI s_2;
																			s_2 = nsuFindChar(line, 9, ((NI) 0), ((NI) 0));
																			{
																				if (!(s_2 < ((NI) 0))) goto LA72_;
																				goto LA69;
																			}
																			LA72_: ;
																			fileEntries = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) ((NI)(F + ((NI) 1)))));
																			asgnRefNoCycle((void**) (&fileEntries->data[F].keyword), substr_TWXUwbnq0SWWvDLfr8LXYw(line, ((NI) 0), (NI)(s_2 - ((NI) 1))));
																			asgnRefNoCycle((void**) (&fileEntries->data[F].link), substr_9bUFQ4OV1temcDF0GZp317g(line, (NI)(s_2 + ((NI) 1))));
																			{
																				NIM_BOOL T76_;
																				T76_ = (NIM_BOOL)0;
																				T76_ = ((title.keyword ? title.keyword->Sup.len : 0) == ((NI) 0));
																				if (!(T76_)) goto LA77_;
																				T76_ = isDocumentationTitle_KCvhJRX8NjiWm2ra4I89c3w(fileEntries->data[F].link);
																				LA77_: ;
																				if (!T76_) goto LA78_;
																				title.keyword = copyString(fileEntries->data[F].keyword);
																				title.link = copyString(fileEntries->data[F].link);
																			}
																			LA78_: ;
																			{
																				NI T82_;
																				tySequence_sM4lkSb7zS6F7OVMvW9cffQ* extraCols;
																				NimStringDesc* T85_;
																				T82_ = (NI)0;
																				T82_ = nsuFindChar(fileEntries->data[F].link, 9, ((NI) 0), ((NI) 0));
																				if (!(((NI) 0) < T82_)) goto LA83_;
																				extraCols = nsuSplitChar(fileEntries->data[F].link, 9, ((NI) -1));
																				T85_ = (NimStringDesc*)0;
																				T85_ = fileEntries->data[F].link; fileEntries->data[F].link = copyStringRC1(extraCols->data[((NI) 0)]);
																				if (T85_) nimGCunrefNoCycle(T85_);
																				asgnRefNoCycle((void**) (&fileEntries->data[F].linkTitle), unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2(extraCols->data[((NI) 1)]));
																				asgnRefNoCycle((void**) (&fileEntries->data[F].linkDesc), unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2(extraCols->data[((NI) 2)]));
																			}
																			goto LA80_;
																			LA83_: ;
																			{
																				asgnRefNoCycle((void**) (&fileEntries->data[F].linkTitle), ((NimStringDesc*) NIM_NIL));
																				asgnRefNoCycle((void**) (&fileEntries->data[F].linkDesc), ((NimStringDesc*) NIM_NIL));
																			}
																			LA80_: ;
																			F += ((NI) 1);
																		} LA69: ;
																	} LA67: ;
																}
																popSafePoint();
															}
															else {
																popSafePoint();
															}
															{
																close_BWnr8V7RERYno9bIdPmw8Hw_3(f);
															}
															if (TM_vGSJrCjWQr859bqRvctRIaA_177.status != 0) reraiseException();
														}
														{
															if (!((title.keyword ? title.keyword->Sup.len : 0) == ((NI) 0))) goto LA91_;
															{
																NI i;
																NI volatile i_2;
																i = (NI)0;
																i_2 = ((NI) 0);
																{
																	while (1) {
																		if (!(i_2 < F)) goto LA95;
																		i = i_2;
																		{
																			NimStringDesc* toc;
																			NimStringDesc* T103_;
																			NimStringDesc* T104_;
																			NimStringDesc* T105_;
																			NimStringDesc* T106_;
																			toc = fileEntries->data[i].linkTitle;
																			{
																				NIM_BOOL T99_;
																				T99_ = (NIM_BOOL)0;
																				T99_ = (((NI) 0) < (toc ? toc->Sup.len : 0));
																				if (!(T99_)) goto LA100_;
																				T99_ = ((NU8)(toc->data[((NI) 0)]) == (NU8)(32));
																				LA100_: ;
																				if (!T99_) goto LA101_;
																				goto LA96;
																			}
																			LA101_: ;
																			unsureAsgnRef((void**) (&(*Result).Field1), (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) ((NI)(L + ((NI) 1))))));
																			T103_ = (NimStringDesc*)0;
																			T103_ = (*Result).Field1->data[L].keyword; (*Result).Field1->data[L].keyword = copyStringRC1(fileEntries->data[i].keyword);
																			if (T103_) nimGCunrefNoCycle(T103_);
																			T104_ = (NimStringDesc*)0;
																			T104_ = (*Result).Field1->data[L].link; (*Result).Field1->data[L].link = copyStringRC1(fileEntries->data[i].link);
																			if (T104_) nimGCunrefNoCycle(T104_);
																			T105_ = (NimStringDesc*)0;
																			T105_ = (*Result).Field1->data[L].linkTitle; (*Result).Field1->data[L].linkTitle = copyStringRC1(fileEntries->data[i].linkTitle);
																			if (T105_) nimGCunrefNoCycle(T105_);
																			T106_ = (NimStringDesc*)0;
																			T106_ = (*Result).Field1->data[L].linkDesc; (*Result).Field1->data[L].linkDesc = copyStringRC1(fileEntries->data[i].linkDesc);
																			if (T106_) nimGCunrefNoCycle(T106_);
																			L += ((NI) 1);
																		} LA96: ;
																		i_2 += ((NI) 1);
																	} LA95: ;
																}
															}
															{
																NI T109_;
																NimStringDesc* volatile x_2;
																NI i_3;
																T109_ = (fileEntries ? fileEntries->Sup.len : 0);
																if (!(((NI) 0) < T109_)) goto LA110_;
																x_2 = copyString(fileEntries->data[((NI) 0)].link);
																i_3 = nsuFindChar(x_2, 35, ((NI) 0), ((NI) 0));
																{
																	if (!(((NI) 0) < i_3)) goto LA114_;
																	x_2 = substr_TWXUwbnq0SWWvDLfr8LXYw(x_2, ((NI) 0), (NI)(i_3 - ((NI) 1)));
																}
																LA114_: ;
																{
																	NimStringDesc* T120_;
																	NI T121_;
																	NimStringDesc* T122_;
																	if (!!((i_3 == ((NI) 0)))) goto LA118_;
																	T120_ = (NimStringDesc*)0;
																	T120_ = noschangeFileExt(x_2, ((NimStringDesc*) NIM_NIL));
																	unsureAsgnRef((void**) (&(*Result).Field0), (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&((*Result).Field0)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_)));
																	T121_ = (*Result).Field0->Sup.len++;
																	T122_ = (NimStringDesc*)0;
																	T122_ = (*Result).Field0->data[T121_]; (*Result).Field0->data[T121_] = copyStringRC1(T120_);
																	if (T122_) nimGCunrefNoCycle(T122_);
																}
																LA118_: ;
															}
															LA110_: ;
														}
														goto LA89_;
														LA91_: ;
														{
															NimStringDesc* T124_;
															NI T125_;
															NimStringDesc* T126_;
															T124_ = (NimStringDesc*)0;
															T125_ = (NI)0;
															T125_ = len_dBmnmNEkKiBsFBa0gY1oCw((*Result).Field2);
															T126_ = (NimStringDesc*)0;
															T126_ = nimIntToStr(T125_);
															T124_ = rawNewString((T126_ ? T126_->Sup.len : 0) + 8);
appendString(T124_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_181));
appendString(T124_, T126_);
															title.linkTitle = T124_;
															X5BX5Deq__aqmCa2fOhndlLIoSqkjFeA((&(*Result).Field2), (&title), fileEntries);
														}
														LA89_: ;
													}
													LA62_: ;
												}
												LA57_: ;
												goto LA14;
											}
											LA31_: ;
											{
												int T129_;
												T129_ = (int)0;
												T129_ = lstat(nimToCStringConv(y), (&s));
												if (!(T129_ < ((NI32) 0))) goto LA130_;
												goto LA12;
											}
											LA130_: ;
											{
												NIM_BOOL T134_;
												T134_ = (NIM_BOOL)0;
												T134_ = S_ISDIR(s.st_mode);
												if (!T134_) goto LA135_;
												k_2 = ((tyEnum_PathComponent_9c1SIU9cO1wHcl09b703A9cDrg) 2);
											}
											goto LA132_;
											LA135_: ;
											{
												NIM_BOOL T138_;
												T138_ = (NIM_BOOL)0;
												T138_ = S_ISLNK(s.st_mode);
												if (!T138_) goto LA139_;
												k_2 = getSymlinkFileKind_4ZlT7J43hhVxIqUd9anSuBg(y);
											}
											goto LA132_;
											LA139_: ;
											LA132_: ;
											k = k_2;
											p = y;
											{
												NIM_BOOL T143_;
												NI T147_;
												NimStringDesc* T148_;
												T143_ = (NIM_BOOL)0;
												T143_ = ((12 &(1U<<((NU)(k)&7U)))!=0);
												if (!(T143_)) goto LA144_;
												T143_ = ((4 &(1U<<((NU)(k)&7U)))!=0);
												LA144_: ;
												if (!T143_) goto LA145_;
												stack = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&(stack)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_));
												T147_ = stack->Sup.len++;
												T148_ = (NimStringDesc*)0;
												T148_ = stack->data[T147_]; stack->data[T147_] = copyStringRC1(p);
												if (T148_) nimGCunrefNoCycle(T148_);
											}
											LA145_: ;
											{
												if (!((1 &(1U<<((NU)(k)&7U)))!=0)) goto LA151_;
												path = p;
												{
													NIM_BOOL T155_;
													tySequence_5PunAJrNQYcB8dF0jau3pQ* volatile fileEntries_2;
													tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg title_2;
													NI volatile F_2;
													T155_ = (NIM_BOOL)0;
													T155_ = nsuEndsWith(path, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_176));
													if (!T155_) goto LA156_;
													fileEntries_2 = (tySequence_5PunAJrNQYcB8dF0jau3pQ*)0;
													nimZeroMem((void*)(&title_2), sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg));
													F_2 = ((NI) 0);
													fileEntries_2 = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) newSeq((&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 500));
													fileEntries_2 = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries_2)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) 0));
													{
														NimStringDesc* line_2;
														FILE* f_2;
														TSafePoint TM_vGSJrCjWQr859bqRvctRIaA_182;
														line_2 = (NimStringDesc*)0;
														f_2 = open_hqzpWQbdA2B8l9a6wwNoP4g(path, ((tyEnum_FileMode_fVUBHvW79bXUw1j55Oo9avSQ) 0), ((NI) 8000));
														pushSafePoint(&TM_vGSJrCjWQr859bqRvctRIaA_182);
														TM_vGSJrCjWQr859bqRvctRIaA_182.status = _setjmp(TM_vGSJrCjWQr859bqRvctRIaA_182.context);
														if (TM_vGSJrCjWQr859bqRvctRIaA_182.status == 0) {
															NimStringDesc* res_2;
															res_2 = rawNewString(((NI) 80));
															{
																while (1) {
																	NIM_BOOL T162_;
																	T162_ = (NIM_BOOL)0;
																	T162_ = readLine_sO1bQXVRA6RP9cdYJXNKeSw(f_2, (&res_2));
																	if (!T162_) goto LA161;
																	line_2 = res_2;
																	{
																		NI s_3;
																		s_3 = nsuFindChar(line_2, 9, ((NI) 0), ((NI) 0));
																		{
																			if (!(s_3 < ((NI) 0))) goto LA166_;
																			goto LA163;
																		}
																		LA166_: ;
																		fileEntries_2 = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&(fileEntries_2)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) ((NI)(F_2 + ((NI) 1)))));
																		asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].keyword), substr_TWXUwbnq0SWWvDLfr8LXYw(line_2, ((NI) 0), (NI)(s_3 - ((NI) 1))));
																		asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].link), substr_9bUFQ4OV1temcDF0GZp317g(line_2, (NI)(s_3 + ((NI) 1))));
																		{
																			NIM_BOOL T170_;
																			T170_ = (NIM_BOOL)0;
																			T170_ = ((title_2.keyword ? title_2.keyword->Sup.len : 0) == ((NI) 0));
																			if (!(T170_)) goto LA171_;
																			T170_ = isDocumentationTitle_KCvhJRX8NjiWm2ra4I89c3w(fileEntries_2->data[F_2].link);
																			LA171_: ;
																			if (!T170_) goto LA172_;
																			title_2.keyword = copyString(fileEntries_2->data[F_2].keyword);
																			title_2.link = copyString(fileEntries_2->data[F_2].link);
																		}
																		LA172_: ;
																		{
																			NI T176_;
																			tySequence_sM4lkSb7zS6F7OVMvW9cffQ* extraCols_2;
																			NimStringDesc* T179_;
																			T176_ = (NI)0;
																			T176_ = nsuFindChar(fileEntries_2->data[F_2].link, 9, ((NI) 0), ((NI) 0));
																			if (!(((NI) 0) < T176_)) goto LA177_;
																			extraCols_2 = nsuSplitChar(fileEntries_2->data[F_2].link, 9, ((NI) -1));
																			T179_ = (NimStringDesc*)0;
																			T179_ = fileEntries_2->data[F_2].link; fileEntries_2->data[F_2].link = copyStringRC1(extraCols_2->data[((NI) 0)]);
																			if (T179_) nimGCunrefNoCycle(T179_);
																			asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].linkTitle), unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2(extraCols_2->data[((NI) 1)]));
																			asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].linkDesc), unquoteIndexColumn_6CpxPFso7i8kkZ8S7NnhQQ_2(extraCols_2->data[((NI) 2)]));
																		}
																		goto LA174_;
																		LA177_: ;
																		{
																			asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].linkTitle), ((NimStringDesc*) NIM_NIL));
																			asgnRefNoCycle((void**) (&fileEntries_2->data[F_2].linkDesc), ((NimStringDesc*) NIM_NIL));
																		}
																		LA174_: ;
																		F_2 += ((NI) 1);
																	} LA163: ;
																} LA161: ;
															}
															popSafePoint();
														}
														else {
															popSafePoint();
														}
														{
															close_BWnr8V7RERYno9bIdPmw8Hw_3(f_2);
														}
														if (TM_vGSJrCjWQr859bqRvctRIaA_182.status != 0) reraiseException();
													}
													{
														if (!((title_2.keyword ? title_2.keyword->Sup.len : 0) == ((NI) 0))) goto LA185_;
														{
															NI i_4;
															NI volatile i_5;
															i_4 = (NI)0;
															i_5 = ((NI) 0);
															{
																while (1) {
																	if (!(i_5 < F_2)) goto LA189;
																	i_4 = i_5;
																	{
																		NimStringDesc* toc_2;
																		NimStringDesc* T197_;
																		NimStringDesc* T198_;
																		NimStringDesc* T199_;
																		NimStringDesc* T200_;
																		toc_2 = fileEntries_2->data[i_4].linkTitle;
																		{
																			NIM_BOOL T193_;
																			T193_ = (NIM_BOOL)0;
																			T193_ = (((NI) 0) < (toc_2 ? toc_2->Sup.len : 0));
																			if (!(T193_)) goto LA194_;
																			T193_ = ((NU8)(toc_2->data[((NI) 0)]) == (NU8)(32));
																			LA194_: ;
																			if (!T193_) goto LA195_;
																			goto LA190;
																		}
																		LA195_: ;
																		unsureAsgnRef((void**) (&(*Result).Field1), (tySequence_5PunAJrNQYcB8dF0jau3pQ*) setLengthSeqV2(&((*Result).Field1)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_), ((NI) ((NI)(L + ((NI) 1))))));
																		T197_ = (NimStringDesc*)0;
																		T197_ = (*Result).Field1->data[L].keyword; (*Result).Field1->data[L].keyword = copyStringRC1(fileEntries_2->data[i_4].keyword);
																		if (T197_) nimGCunrefNoCycle(T197_);
																		T198_ = (NimStringDesc*)0;
																		T198_ = (*Result).Field1->data[L].link; (*Result).Field1->data[L].link = copyStringRC1(fileEntries_2->data[i_4].link);
																		if (T198_) nimGCunrefNoCycle(T198_);
																		T199_ = (NimStringDesc*)0;
																		T199_ = (*Result).Field1->data[L].linkTitle; (*Result).Field1->data[L].linkTitle = copyStringRC1(fileEntries_2->data[i_4].linkTitle);
																		if (T199_) nimGCunrefNoCycle(T199_);
																		T200_ = (NimStringDesc*)0;
																		T200_ = (*Result).Field1->data[L].linkDesc; (*Result).Field1->data[L].linkDesc = copyStringRC1(fileEntries_2->data[i_4].linkDesc);
																		if (T200_) nimGCunrefNoCycle(T200_);
																		L += ((NI) 1);
																	} LA190: ;
																	i_5 += ((NI) 1);
																} LA189: ;
															}
														}
														{
															NI T203_;
															NimStringDesc* volatile x_3;
															NI i_6;
															T203_ = (fileEntries_2 ? fileEntries_2->Sup.len : 0);
															if (!(((NI) 0) < T203_)) goto LA204_;
															x_3 = copyString(fileEntries_2->data[((NI) 0)].link);
															i_6 = nsuFindChar(x_3, 35, ((NI) 0), ((NI) 0));
															{
																if (!(((NI) 0) < i_6)) goto LA208_;
																x_3 = substr_TWXUwbnq0SWWvDLfr8LXYw(x_3, ((NI) 0), (NI)(i_6 - ((NI) 1)));
															}
															LA208_: ;
															{
																NimStringDesc* T214_;
																NI T215_;
																NimStringDesc* T216_;
																if (!!((i_6 == ((NI) 0)))) goto LA212_;
																T214_ = (NimStringDesc*)0;
																T214_ = noschangeFileExt(x_3, ((NimStringDesc*) NIM_NIL));
																unsureAsgnRef((void**) (&(*Result).Field0), (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&((*Result).Field0)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_)));
																T215_ = (*Result).Field0->Sup.len++;
																T216_ = (NimStringDesc*)0;
																T216_ = (*Result).Field0->data[T215_]; (*Result).Field0->data[T215_] = copyStringRC1(T214_);
																if (T216_) nimGCunrefNoCycle(T216_);
															}
															LA212_: ;
														}
														LA204_: ;
													}
													goto LA183_;
													LA185_: ;
													{
														NimStringDesc* T218_;
														NI T219_;
														NimStringDesc* T220_;
														T218_ = (NimStringDesc*)0;
														T219_ = (NI)0;
														T219_ = len_dBmnmNEkKiBsFBa0gY1oCw((*Result).Field2);
														T220_ = (NimStringDesc*)0;
														T220_ = nimIntToStr(T219_);
														T218_ = rawNewString((T220_ ? T220_->Sup.len : 0) + 8);
appendString(T218_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_181));
appendString(T218_, T220_);
														title_2.linkTitle = T218_;
														X5BX5Deq__aqmCa2fOhndlLIoSqkjFeA((&(*Result).Field2), (&title_2), fileEntries_2);
													}
													LA183_: ;
												}
												LA156_: ;
											}
											LA151_: ;
										}
										LA23_: ;
									} LA14: ;
								}
							} LA12: ;
							popSafePoint();
						}
						else {
							popSafePoint();
						}
						{
							int T223_;
							T223_ = (int)0;
							T223_ = closedir(d);
							T223_;
						}
						if (TM_vGSJrCjWQr859bqRvctRIaA_173.status != 0) reraiseException();
					}
					LA9_: ;
				}
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T224_), sizeof(tyProc_kTj9c3SX9agxDQPZYwemi6ug));
	T224_.ClP_0 = ((TM_vGSJrCjWQr859bqRvctRIaA_183) (cmp_xEnKsp9cfvO7Do9cTYXo8eJw)); T224_.ClE_0 = NIM_NIL;
	sort_9a7klSx0Yu33UIahhT1Of7Q((*Result).Field0->data, ((*Result).Field0 ? (*Result).Field0->Sup.len : 0), T224_, ((tyEnum_SortOrder_8iBc6wlNqBa9cju9cUAhUAxA) 1));
}

static N_INLINE(NIM_BOOL, isFilled_IxXD1UAPoEehVDW9cv9cRaewtables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, cmp_eaeF0IvdIXpvvWqU9ch00RQ)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* b) {
	NI result;
	result = (NI)0;
	result = nsuCmpIgnoreStyle((*a).keyword, (*b).keyword);
	{
		if (!(result == ((NI) 0))) goto LA3_;
		result = nsuCmpIgnoreStyle((*a).link, (*b).link);
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateDocumentationJumps_GAQg9cRt7q9aM5R5J450jtzw)(tyObject_Table_XC01wkRgzAyOjTiapde7hQ docs) {
	NimStringDesc* result;
	tySequence_5PunAJrNQYcB8dF0jau3pQ* titles;
	tySequence_5PunAJrNQYcB8dF0jau3pQ* result_2;
	tyProc_zzrK9cTwi9admDvOCMDMSIXQ T16_;
	tySequence_sM4lkSb7zS6F7OVMvW9cffQ* chunks;
	NimStringDesc* T24_;
	NimStringDesc* T25_;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_184));
	result_2 = NIM_NIL;
	{
		tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg x;
		nimZeroMem((void*)(&x), sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg));
		{
			NI h;
			NI colontmp_;
			NI T3_;
			NI res;
			h = (NI)0;
			colontmp_ = (NI)0;
			T3_ = ((docs.data ? docs.data->Sup.len : 0)-1);
			colontmp_ = T3_;
			res = ((NI) 0);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA5;
					h = res;
					{
						NIM_BOOL T8_;
						NI T11_;
						NimStringDesc* T12_;
						NimStringDesc* T13_;
						NimStringDesc* T14_;
						NimStringDesc* T15_;
						T8_ = (NIM_BOOL)0;
						T8_ = isFilled_IxXD1UAPoEehVDW9cv9cRaewtables(docs.data->data[h].Field0);
						if (!T8_) goto LA9_;
						x.keyword = docs.data->data[h].Field1.keyword;
						x.link = docs.data->data[h].Field1.link;
						x.linkTitle = docs.data->data[h].Field1.linkTitle;
						x.linkDesc = docs.data->data[h].Field1.linkDesc;
						result_2 = (tySequence_5PunAJrNQYcB8dF0jau3pQ*) incrSeqV3(&(result_2)->Sup, (&NTI_5PunAJrNQYcB8dF0jau3pQ_));
						T11_ = result_2->Sup.len++;
						T12_ = (NimStringDesc*)0;
						T12_ = result_2->data[T11_].keyword; result_2->data[T11_].keyword = copyStringRC1(x.keyword);
						if (T12_) nimGCunrefNoCycle(T12_);
						T13_ = (NimStringDesc*)0;
						T13_ = result_2->data[T11_].link; result_2->data[T11_].link = copyStringRC1(x.link);
						if (T13_) nimGCunrefNoCycle(T13_);
						T14_ = (NimStringDesc*)0;
						T14_ = result_2->data[T11_].linkTitle; result_2->data[T11_].linkTitle = copyStringRC1(x.linkTitle);
						if (T14_) nimGCunrefNoCycle(T14_);
						T15_ = (NimStringDesc*)0;
						T15_ = result_2->data[T11_].linkDesc; result_2->data[T11_].linkDesc = copyStringRC1(x.linkDesc);
						if (T15_) nimGCunrefNoCycle(T15_);
					}
					LA9_: ;
					res += ((NI) 1);
				} LA5: ;
			}
		}
	}
	genericSeqAssign((&titles), result_2, (&NTI_5PunAJrNQYcB8dF0jau3pQ_));
	nimZeroMem((void*)(&T16_), sizeof(tyProc_zzrK9cTwi9admDvOCMDMSIXQ));
	T16_.ClP_0 = ((TM_vGSJrCjWQr859bqRvctRIaA_185) (cmp_eaeF0IvdIXpvvWqU9ch00RQ)); T16_.ClE_0 = NIM_NIL;
	sort_LBrAL7WLeSCnpfzkOqm4Fg(titles->data, (titles ? titles->Sup.len : 0), T16_, ((tyEnum_SortOrder_8iBc6wlNqBa9cju9cUAhUAxA) 1));
	chunks = NIM_NIL;
	{
		tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg title;
		NI i;
		NI L;
		NI T18_;
		nimZeroMem((void*)(&title), sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg));
		i = ((NI) 0);
		T18_ = (titles ? titles->Sup.len : 0);
		L = T18_;
		{
			while (1) {
				NimStringDesc* T21_;
				NI T22_;
				NimStringDesc* T23_;
				if (!(i < L)) goto LA20;
				title.keyword = titles->data[i].keyword;
				title.link = titles->data[i].link;
				title.linkTitle = titles->data[i].linkTitle;
				title.linkDesc = titles->data[i].linkDesc;
				T21_ = (NimStringDesc*)0;
				T21_ = rawNewString((title.link ? title.link->Sup.len : 0) + (title.keyword ? title.keyword->Sup.len : 0) + 15);
appendString(T21_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_186));
appendString(T21_, title.link);
appendString(T21_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_187));
appendString(T21_, title.keyword);
appendString(T21_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_188));
				chunks = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&(chunks)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_));
				T22_ = chunks->Sup.len++;
				T23_ = (NimStringDesc*)0;
				T23_ = chunks->data[T22_]; chunks->data[T22_] = copyStringRC1(T21_);
				if (T23_) nimGCunrefNoCycle(T23_);
				i += ((NI) 1);
			} LA20: ;
		}
	}
	T24_ = (NimStringDesc*)0;
	T25_ = (NimStringDesc*)0;
	T25_ = nsuJoinSep(chunks->data, (chunks ? chunks->Sup.len : 0), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_189));
	T24_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 6);
appendString(T24_, T25_);
appendString(T24_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_190));
	result = resizeString(result, (T24_ ? T24_->Sup.len : 0) + 0);
appendString(result, T24_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateModuleJumps_XvDJJIC72xtGR9by9cl6CJKg)(tySequence_sM4lkSb7zS6F7OVMvW9cffQ* modules) {
	NimStringDesc* result;
	tySequence_sM4lkSb7zS6F7OVMvW9cffQ* chunks;
	NimStringDesc* T8_;
	NimStringDesc* T9_;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_192));
	chunks = NIM_NIL;
	{
		NimStringDesc* name;
		NI i;
		NI L;
		NI T2_;
		name = (NimStringDesc*)0;
		i = ((NI) 0);
		T2_ = (modules ? modules->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc* T5_;
				NI T6_;
				NimStringDesc* T7_;
				if (!(i < L)) goto LA4;
				name = modules->data[i];
				T5_ = (NimStringDesc*)0;
				T5_ = rawNewString((name ? name->Sup.len : 0) + (name ? name->Sup.len : 0) + 20);
appendString(T5_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_186));
appendString(T5_, name);
appendString(T5_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_193));
appendString(T5_, name);
appendString(T5_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_188));
				chunks = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3(&(chunks)->Sup, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_));
				T6_ = chunks->Sup.len++;
				T7_ = (NimStringDesc*)0;
				T7_ = chunks->data[T6_]; chunks->data[T6_] = copyStringRC1(T5_);
				if (T7_) nimGCunrefNoCycle(T7_);
				i += ((NI) 1);
			} LA4: ;
		}
	}
	T8_ = (NimStringDesc*)0;
	T9_ = (NimStringDesc*)0;
	T9_ = nsuJoinSep(chunks->data, (chunks ? chunks->Sup.len : 0), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_189));
	T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 6);
appendString(T8_, T9_);
appendString(T8_, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_190));
	result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(result, T8_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, ltminus__ywiMlRt07odOULUubTsiKA)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* b) {
	unsureAsgnRef((void**) (&(*a).keyword), (*b).keyword);
	unsureAsgnRef((void**) (&(*a).link), (*b).link);
	unsureAsgnRef((void**) (&(*a).linkTitle), (*b).linkTitle);
	unsureAsgnRef((void**) (&(*a).linkDesc), (*b).linkDesc);
}

N_LIB_PRIVATE N_NIMCALL(void, sortIndex_si9azIDRK2jkpTELpHIJKZw)(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg* a, NI aLen_0) {
	NI n;
	NI h;
	n = aLen_0;
	h = ((NI) 1);
	{
		while (1) {
			h = (NI)((NI)(((NI) 3) * h) + ((NI) 1));
			{
				if (!(n < h)) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	{
		while (1) {
			h = (NI)(h / ((NI) 3));
			{
				NI i;
				NI colontmp_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = (NI)(n - ((NI) 1));
				res = h;
				{
					while (1) {
						tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg v;
						NI j;
						if (!(res <= colontmp_)) goto LA11;
						i = res;
						nimZeroMem((void*)(&v), sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg));
						ltminus__ywiMlRt07odOULUubTsiKA((&v), (&a[i]));
						j = i;
						{
							while (1) {
								NI T14_;
								T14_ = (NI)0;
								T14_ = cmp_eaeF0IvdIXpvvWqU9ch00RQ((&a[(NI)(j - h)]), (&v));
								if (!(((NI) 0) <= T14_)) goto LA13;
								ltminus__ywiMlRt07odOULUubTsiKA((&a[j]), (&a[(NI)(j - h)]));
								j = (NI)(j - h);
								{
									if (!(j < h)) goto LA17_;
									goto LA12;
								}
								LA17_: ;
							} LA13: ;
						} LA12: ;
						ltminus__ywiMlRt07odOULUubTsiKA((&a[j]), (&v));
						res += ((NI) 1);
					} LA11: ;
				}
			}
			{
				if (!(h == ((NI) 1))) goto LA21_;
				goto LA7;
			}
			LA21_: ;
		}
	} LA7: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeLink_vDgc6UnQZk169cRHmSFK49bw_2)(NimStringDesc* s) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = rawNewString(((NI) ((NI)((s ? s->Sup.len : 0) + (NI)((NU64)((s ? s->Sup.len : 0)) >> (NU64)(((NI) 2)))))));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (s ? s->Sup.len : 0);
		{
			while (1) {
				if (!(i < L)) goto LA3;
				c = s->data[i];
				switch (((NU8)(c))) {
				case 97 ... 122:
				case 95:
				case 65 ... 90:
				case 48 ... 57:
				case 46:
				case 35:
				case 44:
				case 47:
				{
					result = addChar(result, c);
				}
				break;
				default:
				{
					NimStringDesc* T6_;
					result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_196));
					T6_ = (NimStringDesc*)0;
					T6_ = nsuToHex(((NI64) (((NU8)(c)))), ((NI) 2));
					result = resizeString(result, (T6_ ? T6_->Sup.len : 0) + 0);
appendString(result, T6_);
				}
				break;
				}
				i += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, generateSymbolIndex_02WaOxScM0lGNzeuW0765A)(tySequence_5PunAJrNQYcB8dF0jau3pQ* symbols) {
	NimStringDesc* result;
	NI i;
	result = (NimStringDesc*)0;
	result = copyString(((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_195));
	i = ((NI) 0);
	{
		while (1) {
			NI T3_;
			NimStringDesc* keyword;
			NimStringDesc* cleanedKeyword;
			tyArray_Re75IspeoxXy2oCZHwcRrA T4_;
			NI j;
			T3_ = (symbols ? symbols->Sup.len : 0);
			if (!(i < T3_)) goto LA2;
			keyword = symbols->data[i].keyword;
			cleanedKeyword = escapeLink_vDgc6UnQZk169cRHmSFK49bw_2(keyword);
			nimZeroMem((void*)T4_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
			T4_[0] = copyString(keyword);
			T4_[1] = copyString(cleanedKeyword);
			nsuAddf((&result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_197), T4_, 2);
			j = i;
			{
				while (1) {
					NIM_BOOL T7_;
					NI T8_;
					NimStringDesc* url;
					NimStringDesc* text;
					NimStringDesc* desc;
					T7_ = (NIM_BOOL)0;
					T8_ = (symbols ? symbols->Sup.len : 0);
					T7_ = (j < T8_);
					if (!(T7_)) goto LA9_;
					T7_ = eqStrings(keyword, symbols->data[j].keyword);
					LA9_: ;
					if (!T7_) goto LA6;
					url = symbols->data[j].link;
					{
						if (!(((NI) 0) < (symbols->data[j].linkTitle ? symbols->data[j].linkTitle->Sup.len : 0))) goto LA12_;
						text = symbols->data[j].linkTitle;
					}
					goto LA10_;
					LA12_: ;
					{
						text = url;
					}
					LA10_: ;
					{
						if (!(((NI) 0) < (symbols->data[j].linkDesc ? symbols->data[j].linkDesc->Sup.len : 0))) goto LA17_;
						desc = symbols->data[j].linkDesc;
					}
					goto LA15_;
					LA17_: ;
					{
						desc = ((NimStringDesc*) NIM_NIL);
					}
					LA15_: ;
					{
						tyArray_24KAM9afIUgUaqBaEBB6r9bg T24_;
						if (!(((NI) 0) < (desc ? desc->Sup.len : 0))) goto LA22_;
						nimZeroMem((void*)T24_, sizeof(tyArray_24KAM9afIUgUaqBaEBB6r9bg));
						T24_[0] = copyString(url);
						T24_[1] = copyString(text);
						T24_[2] = copyString(desc);
						nsuAddf((&result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_198), T24_, 3);
					}
					goto LA20_;
					LA22_: ;
					{
						tyArray_Re75IspeoxXy2oCZHwcRrA T26_;
						nimZeroMem((void*)T26_, sizeof(tyArray_Re75IspeoxXy2oCZHwcRrA));
						T26_[0] = copyString(url);
						T26_[1] = copyString(text);
						nsuAddf((&result), ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_199), T26_, 2);
					}
					LA20_: ;
					j += ((NI) 1);
				} LA6: ;
			}
			result = resizeString(result, 11);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_200));
			i = j;
		} LA2: ;
	}
	result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_201));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mergeIndexes_i4m89avgsd5Oo6ABITznUIg)(NimStringDesc* dir) {
	NimStringDesc* result;
	tyTuple_19af1Yi5wzYJHEoosvtCJdQ T1_;
	tySequence_sM4lkSb7zS6F7OVMvW9cffQ* modules;
	tySequence_5PunAJrNQYcB8dF0jau3pQ* symbols;
	tyObject_Table_XC01wkRgzAyOjTiapde7hQ docs;
	result = (NimStringDesc*)0;
	nimZeroMem((void*)(&T1_), sizeof(tyTuple_19af1Yi5wzYJHEoosvtCJdQ));
	readIndexDir_Lyvg9cs1h7hEo22Dbto0kug(dir, (&T1_));
	modules = (tySequence_sM4lkSb7zS6F7OVMvW9cffQ*)0;
	genericSeqAssign((&modules), T1_.Field0, (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_));
	symbols = (tySequence_5PunAJrNQYcB8dF0jau3pQ*)0;
	genericSeqAssign((&symbols), T1_.Field1, (&NTI_5PunAJrNQYcB8dF0jau3pQ_));
	nimZeroMem((void*)(&docs), sizeof(tyObject_Table_XC01wkRgzAyOjTiapde7hQ));
	genericSeqAssign((&docs.data), T1_.Field2.data, (&NTI_wAC0kXbVGkLoWP8vdi0sUw_));
	docs.counter = T1_.Field2.counter;
	result = ((NimStringDesc*) NIM_NIL);
	{
		NI T4_;
		NimStringDesc* T7_;
		T4_ = (NI)0;
		T4_ = len_dBmnmNEkKiBsFBa0gY1oCw(docs);
		if (!(((NI) 0) < T4_)) goto LA5_;
		T7_ = (NimStringDesc*)0;
		T7_ = generateDocumentationJumps_GAQg9cRt7q9aM5R5J450jtzw(docs);
		result = resizeString(result, (T7_ ? T7_->Sup.len : 0) + 0);
appendString(result, T7_);
		result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_191));
	}
	LA5_: ;
	{
		NI T10_;
		NimStringDesc* T13_;
		T10_ = (modules ? modules->Sup.len : 0);
		if (!(((NI) 0) < T10_)) goto LA11_;
		T13_ = (NimStringDesc*)0;
		T13_ = generateModuleJumps_XvDJJIC72xtGR9by9cl6CJKg(modules);
		result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
appendString(result, T13_);
		result = resizeString(result, 5);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_191));
	}
	LA11_: ;
	{
		NI T16_;
		NimStringDesc* T19_;
		T16_ = (symbols ? symbols->Sup.len : 0);
		if (!(((NI) 0) < T16_)) goto LA17_;
		sortIndex_si9azIDRK2jkpTELpHIJKZw(symbols->data, (symbols ? symbols->Sup.len : 0));
		result = resizeString(result, 21);
appendString(result, ((NimStringDesc*) &TM_vGSJrCjWQr859bqRvctRIaA_194));
		T19_ = (NimStringDesc*)0;
		T19_ = generateSymbolIndex_02WaOxScM0lGNzeuW0765A(symbols);
		result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0);
appendString(result, T19_);
	}
	LA17_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, docutils_rstgenInit000)(void) {
{
	TFrame FR_; FR_.len = 0;
}
}

N_LIB_PRIVATE N_NIMCALL(void, docutils_rstgenDatInit000)(void) {
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_2[16];
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_3[2];
NI TM_vGSJrCjWQr859bqRvctRIaA_5;
static char* NIM_CONST TM_vGSJrCjWQr859bqRvctRIaA_4[2] = {
"outHtml", 
"outLatex"};
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_6[3];
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_7[2];
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_122[7];
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_171[3];
static TNimNode* TM_vGSJrCjWQr859bqRvctRIaA_172[4];
static TNimNode TM_vGSJrCjWQr859bqRvctRIaA_0[44];
NTI_yF9cB1II0vYb2F0YKmIiArg_.size = sizeof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg);
NTI_yF9cB1II0vYb2F0YKmIiArg_.kind = 17;
NTI_yF9cB1II0vYb2F0YKmIiArg_.base = (&NTI_ytyiCJqK439aF9cIibuRVpAg_);
TM_vGSJrCjWQr859bqRvctRIaA_2[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[1];
NTI_lDlBg9cTod71s9abpUj82lsw_.size = sizeof(tyEnum_OutputTarget_lDlBg9cTod71s9abpUj82lsw);
NTI_lDlBg9cTod71s9abpUj82lsw_.kind = 14;
NTI_lDlBg9cTod71s9abpUj82lsw_.base = 0;
NTI_lDlBg9cTod71s9abpUj82lsw_.flags = 3;
for (TM_vGSJrCjWQr859bqRvctRIaA_5 = 0; TM_vGSJrCjWQr859bqRvctRIaA_5 < 2; TM_vGSJrCjWQr859bqRvctRIaA_5++) {
TM_vGSJrCjWQr859bqRvctRIaA_0[TM_vGSJrCjWQr859bqRvctRIaA_5+2].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[TM_vGSJrCjWQr859bqRvctRIaA_5+2].offset = TM_vGSJrCjWQr859bqRvctRIaA_5;
TM_vGSJrCjWQr859bqRvctRIaA_0[TM_vGSJrCjWQr859bqRvctRIaA_5+2].name = TM_vGSJrCjWQr859bqRvctRIaA_4[TM_vGSJrCjWQr859bqRvctRIaA_5];
TM_vGSJrCjWQr859bqRvctRIaA_3[TM_vGSJrCjWQr859bqRvctRIaA_5] = &TM_vGSJrCjWQr859bqRvctRIaA_0[TM_vGSJrCjWQr859bqRvctRIaA_5+2];
}
TM_vGSJrCjWQr859bqRvctRIaA_0[4].len = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[4].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[4].sons = &TM_vGSJrCjWQr859bqRvctRIaA_3[0];
NTI_lDlBg9cTod71s9abpUj82lsw_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[4];
TM_vGSJrCjWQr859bqRvctRIaA_0[1].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[1].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, target);
TM_vGSJrCjWQr859bqRvctRIaA_0[1].typ = (&NTI_lDlBg9cTod71s9abpUj82lsw_);
TM_vGSJrCjWQr859bqRvctRIaA_0[1].name = "target";
TM_vGSJrCjWQr859bqRvctRIaA_2[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[5];
TM_vGSJrCjWQr859bqRvctRIaA_0[5].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[5].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, config);
TM_vGSJrCjWQr859bqRvctRIaA_0[5].typ = (&NTI_n9cmoMXcDs47wYDFGEXuCfw_);
TM_vGSJrCjWQr859bqRvctRIaA_0[5].name = "config";
TM_vGSJrCjWQr859bqRvctRIaA_2[2] = &TM_vGSJrCjWQr859bqRvctRIaA_0[6];
TM_vGSJrCjWQr859bqRvctRIaA_0[6].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[6].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, splitAfter);
TM_vGSJrCjWQr859bqRvctRIaA_0[6].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[6].name = "splitAfter";
TM_vGSJrCjWQr859bqRvctRIaA_2[3] = &TM_vGSJrCjWQr859bqRvctRIaA_0[7];
TM_vGSJrCjWQr859bqRvctRIaA_0[7].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[7].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, listingCounter);
TM_vGSJrCjWQr859bqRvctRIaA_0[7].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[7].name = "listingCounter";
TM_vGSJrCjWQr859bqRvctRIaA_2[4] = &TM_vGSJrCjWQr859bqRvctRIaA_0[8];
NTI_z7kal23LlR1mL50YJIPMCw_.size = sizeof(tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw);
NTI_z7kal23LlR1mL50YJIPMCw_.kind = 18;
NTI_z7kal23LlR1mL50YJIPMCw_.base = 0;
NTI_z7kal23LlR1mL50YJIPMCw_.flags = 2;
TM_vGSJrCjWQr859bqRvctRIaA_6[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[10];
TM_vGSJrCjWQr859bqRvctRIaA_0[10].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[10].offset = offsetof(tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw, n);
TM_vGSJrCjWQr859bqRvctRIaA_0[10].typ = (&NTI_eiDrOE3AS6QEbCsY2gtdWQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[10].name = "n";
TM_vGSJrCjWQr859bqRvctRIaA_6[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[11];
TM_vGSJrCjWQr859bqRvctRIaA_0[11].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[11].offset = offsetof(tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw, refname);
TM_vGSJrCjWQr859bqRvctRIaA_0[11].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[11].name = "refname";
TM_vGSJrCjWQr859bqRvctRIaA_6[2] = &TM_vGSJrCjWQr859bqRvctRIaA_0[12];
TM_vGSJrCjWQr859bqRvctRIaA_0[12].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[12].offset = offsetof(tyObject_TocEntry_z7kal23LlR1mL50YJIPMCw, header);
TM_vGSJrCjWQr859bqRvctRIaA_0[12].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[12].name = "header";
TM_vGSJrCjWQr859bqRvctRIaA_0[9].len = 3; TM_vGSJrCjWQr859bqRvctRIaA_0[9].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[9].sons = &TM_vGSJrCjWQr859bqRvctRIaA_6[0];
NTI_z7kal23LlR1mL50YJIPMCw_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[9];
NTI_b7kA8pLABz0wMAUNGYo6Wg_.size = sizeof(tySequence_b7kA8pLABz0wMAUNGYo6Wg*);
NTI_b7kA8pLABz0wMAUNGYo6Wg_.kind = 24;
NTI_b7kA8pLABz0wMAUNGYo6Wg_.base = (&NTI_z7kal23LlR1mL50YJIPMCw_);
NTI_b7kA8pLABz0wMAUNGYo6Wg_.flags = 2;
NTI_b7kA8pLABz0wMAUNGYo6Wg_.marker = Marker_tySequence_b7kA8pLABz0wMAUNGYo6Wg;
TM_vGSJrCjWQr859bqRvctRIaA_0[8].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[8].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, tocPart);
TM_vGSJrCjWQr859bqRvctRIaA_0[8].typ = (&NTI_b7kA8pLABz0wMAUNGYo6Wg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[8].name = "tocPart";
TM_vGSJrCjWQr859bqRvctRIaA_2[5] = &TM_vGSJrCjWQr859bqRvctRIaA_0[13];
TM_vGSJrCjWQr859bqRvctRIaA_0[13].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[13].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, hasToc);
TM_vGSJrCjWQr859bqRvctRIaA_0[13].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[13].name = "hasToc";
TM_vGSJrCjWQr859bqRvctRIaA_2[6] = &TM_vGSJrCjWQr859bqRvctRIaA_0[14];
TM_vGSJrCjWQr859bqRvctRIaA_0[14].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[14].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, theIndex);
TM_vGSJrCjWQr859bqRvctRIaA_0[14].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[14].name = "theIndex";
TM_vGSJrCjWQr859bqRvctRIaA_2[7] = &TM_vGSJrCjWQr859bqRvctRIaA_0[15];
TM_vGSJrCjWQr859bqRvctRIaA_0[15].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[15].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, options);
TM_vGSJrCjWQr859bqRvctRIaA_0[15].typ = (&NTI_triPNwGxgWAG1ULojVLJPA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[15].name = "options";
TM_vGSJrCjWQr859bqRvctRIaA_2[8] = &TM_vGSJrCjWQr859bqRvctRIaA_0[16];
TM_vGSJrCjWQr859bqRvctRIaA_0[16].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[16].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, findFile);
TM_vGSJrCjWQr859bqRvctRIaA_0[16].typ = (&NTI_lRW9cfxqfm1ql4gkxfLReYg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[16].name = "findFile";
TM_vGSJrCjWQr859bqRvctRIaA_2[9] = &TM_vGSJrCjWQr859bqRvctRIaA_0[17];
TM_vGSJrCjWQr859bqRvctRIaA_0[17].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[17].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, msgHandler);
TM_vGSJrCjWQr859bqRvctRIaA_0[17].typ = (&NTI_r4CIWZzpiVlkxuVaaDT8Lw_);
TM_vGSJrCjWQr859bqRvctRIaA_0[17].name = "msgHandler";
TM_vGSJrCjWQr859bqRvctRIaA_2[10] = &TM_vGSJrCjWQr859bqRvctRIaA_0[18];
TM_vGSJrCjWQr859bqRvctRIaA_0[18].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[18].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, filename);
TM_vGSJrCjWQr859bqRvctRIaA_0[18].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[18].name = "filename";
TM_vGSJrCjWQr859bqRvctRIaA_2[11] = &TM_vGSJrCjWQr859bqRvctRIaA_0[19];
NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_.size = sizeof(tyArray_C9cQfUOxfT2Mk6yT19cPu9aIA);
NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_.kind = 16;
NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_.base = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_.flags = 2;
TM_vGSJrCjWQr859bqRvctRIaA_0[19].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[19].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, meta);
TM_vGSJrCjWQr859bqRvctRIaA_0[19].typ = (&NTI_C9cQfUOxfT2Mk6yT19cPu9aIA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[19].name = "meta";
TM_vGSJrCjWQr859bqRvctRIaA_2[12] = &TM_vGSJrCjWQr859bqRvctRIaA_0[20];
TM_vGSJrCjWQr859bqRvctRIaA_0[20].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[20].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, currentSection);
TM_vGSJrCjWQr859bqRvctRIaA_0[20].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[20].name = "currentSection";
TM_vGSJrCjWQr859bqRvctRIaA_2[13] = &TM_vGSJrCjWQr859bqRvctRIaA_0[21];
TM_vGSJrCjWQr859bqRvctRIaA_0[21].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[21].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, seenIndexTerms);
TM_vGSJrCjWQr859bqRvctRIaA_0[21].typ = (&NTI_i55W8RrwGKsG9cl0sAKxgkQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[21].name = "seenIndexTerms";
TM_vGSJrCjWQr859bqRvctRIaA_2[14] = &TM_vGSJrCjWQr859bqRvctRIaA_0[22];
TM_vGSJrCjWQr859bqRvctRIaA_0[22].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[22].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, id);
TM_vGSJrCjWQr859bqRvctRIaA_0[22].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[22].name = "id";
TM_vGSJrCjWQr859bqRvctRIaA_2[15] = &TM_vGSJrCjWQr859bqRvctRIaA_0[23];
NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_.size = sizeof(tyTuple_WCz3Z7at9aJyVFSh5OmwJNg);
NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_.kind = 18;
NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_.base = 0;
TM_vGSJrCjWQr859bqRvctRIaA_7[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[25];
TM_vGSJrCjWQr859bqRvctRIaA_0[25].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[25].offset = offsetof(tyTuple_WCz3Z7at9aJyVFSh5OmwJNg, Field0);
TM_vGSJrCjWQr859bqRvctRIaA_0[25].typ = (&NTI_vr5DoT1jILTGdRlYv1OYpw_);
TM_vGSJrCjWQr859bqRvctRIaA_0[25].name = "Field0";
TM_vGSJrCjWQr859bqRvctRIaA_7[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[26];
TM_vGSJrCjWQr859bqRvctRIaA_0[26].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[26].offset = offsetof(tyTuple_WCz3Z7at9aJyVFSh5OmwJNg, Field1);
TM_vGSJrCjWQr859bqRvctRIaA_0[26].typ = (&NTI_qs7rcJOE2Bz63jdUEPJtIg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[26].name = "Field1";
TM_vGSJrCjWQr859bqRvctRIaA_0[24].len = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[24].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[24].sons = &TM_vGSJrCjWQr859bqRvctRIaA_7[0];
NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[24];
TM_vGSJrCjWQr859bqRvctRIaA_0[23].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[23].offset = offsetof(tyObject_RstGenerator_yF9cB1II0vYb2F0YKmIiArg, onTestSnippet);
TM_vGSJrCjWQr859bqRvctRIaA_0[23].typ = (&NTI_t9cP9cH9bP2v9cQZNd2RjMTNLg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[23].name = "onTestSnippet";
TM_vGSJrCjWQr859bqRvctRIaA_0[0].len = 16; TM_vGSJrCjWQr859bqRvctRIaA_0[0].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[0].sons = &TM_vGSJrCjWQr859bqRvctRIaA_2[0];
NTI_yF9cB1II0vYb2F0YKmIiArg_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[0];
NTI_VGrTBDzO5FHLY33yjUsvkA_.size = sizeof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA);
NTI_VGrTBDzO5FHLY33yjUsvkA_.kind = 18;
NTI_VGrTBDzO5FHLY33yjUsvkA_.base = 0;
NTI_VGrTBDzO5FHLY33yjUsvkA_.flags = 2;
TM_vGSJrCjWQr859bqRvctRIaA_122[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[28];
TM_vGSJrCjWQr859bqRvctRIaA_0[28].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[28].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, numberLines);
TM_vGSJrCjWQr859bqRvctRIaA_0[28].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[28].name = "numberLines";
TM_vGSJrCjWQr859bqRvctRIaA_122[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[29];
TM_vGSJrCjWQr859bqRvctRIaA_0[29].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[29].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, startLine);
TM_vGSJrCjWQr859bqRvctRIaA_0[29].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[29].name = "startLine";
TM_vGSJrCjWQr859bqRvctRIaA_122[2] = &TM_vGSJrCjWQr859bqRvctRIaA_0[30];
TM_vGSJrCjWQr859bqRvctRIaA_0[30].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[30].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, langStr);
TM_vGSJrCjWQr859bqRvctRIaA_0[30].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[30].name = "langStr";
TM_vGSJrCjWQr859bqRvctRIaA_122[3] = &TM_vGSJrCjWQr859bqRvctRIaA_0[31];
TM_vGSJrCjWQr859bqRvctRIaA_0[31].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[31].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, lang);
TM_vGSJrCjWQr859bqRvctRIaA_0[31].typ = (&NTI_LpbEPkKqvJ0VCa4hwZcOBQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[31].name = "lang";
TM_vGSJrCjWQr859bqRvctRIaA_122[4] = &TM_vGSJrCjWQr859bqRvctRIaA_0[32];
TM_vGSJrCjWQr859bqRvctRIaA_0[32].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[32].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, filename);
TM_vGSJrCjWQr859bqRvctRIaA_0[32].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[32].name = "filename";
TM_vGSJrCjWQr859bqRvctRIaA_122[5] = &TM_vGSJrCjWQr859bqRvctRIaA_0[33];
TM_vGSJrCjWQr859bqRvctRIaA_0[33].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[33].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, testCmd);
TM_vGSJrCjWQr859bqRvctRIaA_0[33].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[33].name = "testCmd";
TM_vGSJrCjWQr859bqRvctRIaA_122[6] = &TM_vGSJrCjWQr859bqRvctRIaA_0[34];
TM_vGSJrCjWQr859bqRvctRIaA_0[34].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[34].offset = offsetof(tyObject_CodeBlockParams_VGrTBDzO5FHLY33yjUsvkA, status);
TM_vGSJrCjWQr859bqRvctRIaA_0[34].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_vGSJrCjWQr859bqRvctRIaA_0[34].name = "status";
TM_vGSJrCjWQr859bqRvctRIaA_0[27].len = 7; TM_vGSJrCjWQr859bqRvctRIaA_0[27].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[27].sons = &TM_vGSJrCjWQr859bqRvctRIaA_122[0];
NTI_VGrTBDzO5FHLY33yjUsvkA_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[27];
NTI_19af1Yi5wzYJHEoosvtCJdQ_.size = sizeof(tyTuple_19af1Yi5wzYJHEoosvtCJdQ);
NTI_19af1Yi5wzYJHEoosvtCJdQ_.kind = 18;
NTI_19af1Yi5wzYJHEoosvtCJdQ_.base = 0;
NTI_19af1Yi5wzYJHEoosvtCJdQ_.flags = 2;
TM_vGSJrCjWQr859bqRvctRIaA_171[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[36];
TM_vGSJrCjWQr859bqRvctRIaA_0[36].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[36].offset = offsetof(tyTuple_19af1Yi5wzYJHEoosvtCJdQ, Field0);
TM_vGSJrCjWQr859bqRvctRIaA_0[36].typ = (&NTI_sM4lkSb7zS6F7OVMvW9cffQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[36].name = "Field0";
TM_vGSJrCjWQr859bqRvctRIaA_171[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[37];
NTI_G9ccBDFWfr9aYnLgXTNGDHDg_.size = sizeof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg);
NTI_G9ccBDFWfr9aYnLgXTNGDHDg_.kind = 18;
NTI_G9ccBDFWfr9aYnLgXTNGDHDg_.base = 0;
NTI_G9ccBDFWfr9aYnLgXTNGDHDg_.flags = 2;
TM_vGSJrCjWQr859bqRvctRIaA_172[0] = &TM_vGSJrCjWQr859bqRvctRIaA_0[39];
TM_vGSJrCjWQr859bqRvctRIaA_0[39].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[39].offset = offsetof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg, keyword);
TM_vGSJrCjWQr859bqRvctRIaA_0[39].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[39].name = "keyword";
TM_vGSJrCjWQr859bqRvctRIaA_172[1] = &TM_vGSJrCjWQr859bqRvctRIaA_0[40];
TM_vGSJrCjWQr859bqRvctRIaA_0[40].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[40].offset = offsetof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg, link);
TM_vGSJrCjWQr859bqRvctRIaA_0[40].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[40].name = "link";
TM_vGSJrCjWQr859bqRvctRIaA_172[2] = &TM_vGSJrCjWQr859bqRvctRIaA_0[41];
TM_vGSJrCjWQr859bqRvctRIaA_0[41].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[41].offset = offsetof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg, linkTitle);
TM_vGSJrCjWQr859bqRvctRIaA_0[41].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[41].name = "linkTitle";
TM_vGSJrCjWQr859bqRvctRIaA_172[3] = &TM_vGSJrCjWQr859bqRvctRIaA_0[42];
TM_vGSJrCjWQr859bqRvctRIaA_0[42].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[42].offset = offsetof(tyObject_IndexEntry_G9ccBDFWfr9aYnLgXTNGDHDg, linkDesc);
TM_vGSJrCjWQr859bqRvctRIaA_0[42].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg_);
TM_vGSJrCjWQr859bqRvctRIaA_0[42].name = "linkDesc";
TM_vGSJrCjWQr859bqRvctRIaA_0[38].len = 4; TM_vGSJrCjWQr859bqRvctRIaA_0[38].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[38].sons = &TM_vGSJrCjWQr859bqRvctRIaA_172[0];
NTI_G9ccBDFWfr9aYnLgXTNGDHDg_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[38];
NTI_5PunAJrNQYcB8dF0jau3pQ_.size = sizeof(tySequence_5PunAJrNQYcB8dF0jau3pQ*);
NTI_5PunAJrNQYcB8dF0jau3pQ_.kind = 24;
NTI_5PunAJrNQYcB8dF0jau3pQ_.base = (&NTI_G9ccBDFWfr9aYnLgXTNGDHDg_);
NTI_5PunAJrNQYcB8dF0jau3pQ_.flags = 2;
NTI_5PunAJrNQYcB8dF0jau3pQ_.marker = Marker_tySequence_5PunAJrNQYcB8dF0jau3pQ;
TM_vGSJrCjWQr859bqRvctRIaA_0[37].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[37].offset = offsetof(tyTuple_19af1Yi5wzYJHEoosvtCJdQ, Field1);
TM_vGSJrCjWQr859bqRvctRIaA_0[37].typ = (&NTI_5PunAJrNQYcB8dF0jau3pQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[37].name = "Field1";
TM_vGSJrCjWQr859bqRvctRIaA_171[2] = &TM_vGSJrCjWQr859bqRvctRIaA_0[43];
TM_vGSJrCjWQr859bqRvctRIaA_0[43].kind = 1;
TM_vGSJrCjWQr859bqRvctRIaA_0[43].offset = offsetof(tyTuple_19af1Yi5wzYJHEoosvtCJdQ, Field2);
TM_vGSJrCjWQr859bqRvctRIaA_0[43].typ = (&NTI_XC01wkRgzAyOjTiapde7hQ_);
TM_vGSJrCjWQr859bqRvctRIaA_0[43].name = "Field2";
TM_vGSJrCjWQr859bqRvctRIaA_0[35].len = 3; TM_vGSJrCjWQr859bqRvctRIaA_0[35].kind = 2; TM_vGSJrCjWQr859bqRvctRIaA_0[35].sons = &TM_vGSJrCjWQr859bqRvctRIaA_171[0];
NTI_19af1Yi5wzYJHEoosvtCJdQ_.node = &TM_vGSJrCjWQr859bqRvctRIaA_0[35];
}

