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

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#include <setjmp.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA;
typedef struct tySequence__itU9cAYRNnSMU3pWsbVN4bA tySequence__itU9cAYRNnSMU3pWsbVN4bA;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__lrunEzM3UiMYKPLPCTNo0w tySequence__lrunEzM3UiMYKPLPCTNo0w;
typedef struct tySequence__29caZmiPrO6d9cg0Ucdm9bdAA tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
typedef struct tySequence__SugKu9bev7GtgZTDZMD2xgw tySequence__SugKu9bev7GtgZTDZMD2xgw;
typedef struct tySequence__59axsmyJq9bYh2MONDvuwAkA tySequence__59axsmyJq9bYh2MONDvuwAkA;
typedef struct tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ;
typedef struct tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw;
typedef struct tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ;
typedef struct tyTuple__wOvXi5VibnCNgN9buQRQD4A tyTuple__wOvXi5VibnCNgN9buQRQD4A;
typedef struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA;
typedef struct tyTuple__msoRFpgv3EcbLwCh9arSpYw tyTuple__msoRFpgv3EcbLwCh9arSpYw;
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_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ;
typedef struct tySequence__HsIBrWWNKBMO7j6datX5Dw tySequence__HsIBrWWNKBMO7j6datX5Dw;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Token__E0ilHwDrlCLqd7buwAkizA tyObject_Token__E0ilHwDrlCLqd7buwAkizA;
typedef struct tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA;
typedef struct tySequence__V9cBl110bSARQ3Xk9bVaXHDw tySequence__V9cBl110bSARQ3Xk9bVaXHDw;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct tySequence__lBgZ7a89beZGYPl8PiANMTA tySequence__lBgZ7a89beZGYPl8PiANMTA;
typedef struct tyTuple__NsOXiclpudEmVBDvfdmAhQ tyTuple__NsOXiclpudEmVBDvfdmAhQ;
typedef struct TSafePoint TSafePoint;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ;
typedef struct tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg;
typedef struct tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ;
typedef struct tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA;
typedef struct tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_rstdotnim_rst___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ {
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIdx;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* idxToFilename;
};
typedef NU8 tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ;
typedef NU8 tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__zVyAuQlxcO3X84ar49cKZSg;
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* filename, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
struct tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA {
tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options;
tySequence__itU9cAYRNnSMU3pWsbVN4bA* hLevels;
NI hTitleCnt;
NI hCurLevel;
NimStringDesc* currRole;
tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ currRoleKind;
tySequence__lrunEzM3UiMYKPLPCTNo0w* subs;
tySequence__lrunEzM3UiMYKPLPCTNo0w* refs;
tySequence__29caZmiPrO6d9cg0Ucdm9bdAA* anchors;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteNum;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteNumRef;
NI currFootnoteNumRef;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteSym;
tySequence__SugKu9bev7GtgZTDZMD2xgw* lineFootnoteSymRef;
NI currFootnoteSymRef;
tySequence__59axsmyJq9bYh2MONDvuwAkA* footnotes;
tyProc__zVyAuQlxcO3X84ar49cKZSg msgHandler;
tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile;
tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames;
NI32 currFileIdx;
NIM_BOOL hasToc;
};
typedef NU8 tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg;
struct tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ {
NIM_CHAR symbol;
NIM_BOOL hasOverline;
NI line;
NIM_BOOL hasPeers;
};
struct tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw {
NimStringDesc* key;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value;
};
struct tyTuple__wOvXi5VibnCNgN9buQRQD4A {
NimStringDesc* Field0;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* Field1;
};
struct tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA;
struct tyTuple__msoRFpgv3EcbLwCh9arSpYw {
tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA Field0;
NI Field1;
NI Field2;
NI Field3;
NimStringDesc* Field4;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g;
typedef NU8 tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw;
typedef NimStringDesc* tyArray__liEHWGc8ZQamBVW4msvrhA[15];
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_55) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, void* ClE_0);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_56) (NimStringDesc* filename, void* ClE_0);
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ {
  RootObj Sup;
NI idx;
tySequence__HsIBrWWNKBMO7j6datX5Dw* tok;
tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s;
tySequence__qwqHTkRvwhrRyENtudHQ7g* indentStack;
NI line;
NI col;
NimStringDesc* curAnchor;
};
typedef NU8 tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA;
struct tyObject_Token__E0ilHwDrlCLqd7buwAkizA {
tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA kind;
NI ival;
NimStringDesc* symbol;
NI line;
NI col;
};
struct tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA {
  RootObj Sup;
NCSTRING buf;
NI bufpos;
NI line;
NI col;
NI baseIndent;
NIM_BOOL adornmentLine;
NIM_BOOL escapeNext;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ {
tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind;
union{
struct {NimStringDesc* text;
} _kind_1;
struct {NimStringDesc* labelFmt;
} _kind_2;
struct {NimStringDesc* lineIndent;
} _kind_3;
struct {NimStringDesc* adType;
} _kind_4;
struct {NI level;
} _kind_5;
struct {NI order;
} _kind_6;
struct {tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info;
} _kind_7;
};
NimStringDesc* anchor;
tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_75) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_80) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_103) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef NU8 tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g;
typedef N_NIMCALL_PTR(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, tyProc__8jki48pN6I4kzivtVA9bgyA) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
typedef NU8 tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g;
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
struct tyTuple__NsOXiclpudEmVBDvfdmAhQ {
tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA Field0;
NI Field1;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef tyTuple__UV3llMMYFckfui8YMBuUZA tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w[34];
typedef NimStringDesc* tyArray__haiLFy0nBviVTKFGuwztzQ[5];
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_237) (NimStringDesc* filename);
struct tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ {
  RootObj Sup;
NI colonstate_;
NI w1;
NI col2;
};
typedef NimStringDesc* tyArray__yt5VDPNtUGx9cBkOVakHwdQ[6];
typedef NI tyArray__oXFh4MvEDAk4hEbFQSH7yQ[6];
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0);
void* ClE_0;
} tyProc__TWwcwyFYRc2hmkAA29bgwkg;
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_261) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report);
typedef N_CLOSURE_PTR(NIM_BOOL, TM__6mNpeIAN05DnDNzb9b3611A_263) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report);
struct tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg {
  RootObj Sup;
NI colonstate_;
tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ p1;
};
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NI l, void* ClE_0);
void* ClE_0;
} tyProc__oybrFf5HprJ7Qzy6JCxzgw;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_272) (NI l);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_274) (NI l);
struct tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ {
  RootObj Sup;
NI colonstate_;
tySequence__8Np6tlClE5az1CyqZdN19bQ* row1;
NI colNum2;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a3;
tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b4;
tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q5;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0);
void* ClE_0;
} tyProc__OBLbZMF9cZ0RIuutSABbCrQ;
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_277) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_280) (tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
struct tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ {
  RootObj Sup;
NI colonstate_;
tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s1;
};
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_282) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0);
void* ClE_0;
} tyProc__j9cp8d5W6OEfco3brTgaIgw;
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_285) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_286) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_288) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef N_CLOSURE_PTR(NimStringDesc*, TM__6mNpeIAN05DnDNzb9b3611A_289) (tySequence__SugKu9bev7GtgZTDZMD2xgw* locations);
typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y, void* ClE_0);
void* ClE_0;
} tyProc__gB5GcYGEl9c9bdmXRILxVndQ;
typedef N_CLOSURE_PTR(NI, TM__6mNpeIAN05DnDNzb9b3611A_291) (tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y);
typedef N_CLOSURE_PTR(NI, TM__6mNpeIAN05DnDNzb9b3611A_292) (tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y);
typedef N_CLOSURE_PTR(NI, TM__6mNpeIAN05DnDNzb9b3611A_293) (tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y, void* ClE_0);
struct tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA {
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* head;
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* tail;
};
struct tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q {
tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* next;
tyTuple__msoRFpgv3EcbLwCh9arSpYw value;
};
typedef NimStringDesc* tyArray__17w6ns39bmjfAZ429aQpCFUA[9];
typedef N_CLOSURE_PTR(void, TM__6mNpeIAN05DnDNzb9b3611A_302) (NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__itU9cAYRNnSMU3pWsbVN4bA {
  TGenericSeq Sup;
  tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ data[SEQ_DECL_SIZE];
};
struct tySequence__lrunEzM3UiMYKPLPCTNo0w {
  TGenericSeq Sup;
  tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__29caZmiPrO6d9cg0Ucdm9bdAA {
  TGenericSeq Sup;
  tyTuple__wOvXi5VibnCNgN9buQRQD4A data[SEQ_DECL_SIZE];
};
struct tySequence__SugKu9bev7GtgZTDZMD2xgw {
  TGenericSeq Sup;
  tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA data[SEQ_DECL_SIZE];
};
struct tySequence__59axsmyJq9bYh2MONDvuwAkA {
  TGenericSeq Sup;
  tyTuple__msoRFpgv3EcbLwCh9arSpYw data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__HsIBrWWNKBMO7j6datX5Dw {
  TGenericSeq Sup;
  tyObject_Token__E0ilHwDrlCLqd7buwAkizA data[SEQ_DECL_SIZE];
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct tySequence__V9cBl110bSARQ3Xk9bVaXHDw {
  TGenericSeq Sup;
  tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* data[SEQ_DECL_SIZE];
};
struct tySequence__lBgZ7a89beZGYPl8PiANMTA {
  TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
  TGenericSeq Sup;
  tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultRole__packagesZdocutilsZrst_522)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRoleAux__packagesZdocutilsZrst_530)(NimStringDesc* sym);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g, getSourceLanguage__packagesZdocutilsZhighlite_97)(NimStringDesc* name);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__packagesZdocutilsZrst_475)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgkind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw, whichMsgClass__packagesZdocutilsZrst_362)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ k);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, symbolName__packagesZdocutilsZrst_365)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_NIMCALL(void, Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0);
N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__packagesZdocutilsZrst_519)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, setCurrFilename__packagesZdocutilsZrst_544)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* file1);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrst_538)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames);
N_LIB_PRIVATE N_NIMCALL(NI32, getOrDefault__packagesZdocutilsZrst_614)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI32 default_0);
static N_INLINE(NI, rawGet__packagesZdocutilsZrst_624)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___packagesZdocutilsZrst_967)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val);
static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NIM_BOOL, mustRehash__packagesZdocutilsZrst_1140)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__packagesZdocutilsZrst_1293)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__packagesZdocutilsZrst_1597)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__packagesZdocutilsZrst_1766)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
static N_NIMCALL(void, Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, initParser__packagesZdocutilsZrst_2138)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState);
N_LIB_PRIVATE N_NIMCALL(void, getTokens__packagesZdocutilsZrst_237)(NimStringDesc* buffer, tySequence__HsIBrWWNKBMO7j6datX5Dw** tokens);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__packagesZdocutilsZrst_221)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getThing__packagesZdocutilsZrst_106)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, getIndent__packagesZdocutilsZrst_214)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__packagesZdocutilsZrst_185)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, NI start);
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCurrentLineAdornment__packagesZdocutilsZrst_132)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L);
N_LIB_PRIVATE N_NIMCALL(void, getPunctAdornment__packagesZdocutilsZrst_153)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_174)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDoc__packagesZdocutilsZrst_5824)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSectionWrapper__packagesZdocutilsZrst_6419)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNode__packagesZdocutilsZrstast_109)(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons, NimStringDesc* anchor);
N_LIB_PRIVATE N_NIMCALL(void, parseSection__packagesZdocutilsZrst_5170)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2113)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, pushInd__packagesZdocutilsZrst_2119)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI ind);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNodeA__packagesZdocutilsZrst_4020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_196)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* son);
N_LIB_PRIVATE N_NIMCALL(void, popInd__packagesZdocutilsZrst_2126)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichSection__packagesZdocutilsZrst_5556)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__packagesZdocutilsZrst_4285)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NI, getRefnameIdx__packagesZdocutilsZrst_4036)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validRefnamePunct__packagesZdocutilsZrst_4029)(NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1341)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2109)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, currFilename__packagesZdocutilsZrst_2016)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFilename__packagesZdocutilsZrst_2007)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, NI32 fid);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NI, curLine__packagesZdocutilsZrst_2077)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5502)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5185)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__packagesZdocutilsZrst_5173)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAdornmentHeadline__packagesZdocutilsZrst_5408)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI adornmentIdx);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2085)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__packagesZdocutilsZrst_5528)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5524)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__packagesZdocutilsZrst_5506)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, findPipe__packagesZdocutilsZrst_5543)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__packagesZdocutilsZrst_5521)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5513)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLiteralBlock__packagesZdocutilsZrst_5286)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstLeaf__packagesZdocutilsZrstast_187)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseBulletList__packagesZdocutilsZrst_6062)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLineBlock__packagesZdocutilsZrst_5638)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDotDot__packagesZdocutilsZrst_5284)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__packagesZdocutilsZrst_5106)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, getRefname__packagesZdocutilsZrst_4061)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2102)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, selectDir__packagesZdocutilsZrst_6644)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirAdmonition__packagesZdocutilsZrst_6607)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6522)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6452)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2478)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2474)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI iTok);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newLeaf__packagesZdocutilsZrst_4026)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5164)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(void, parseInline__packagesZdocutilsZrst_5002)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4219)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstStart__packagesZdocutilsZrst_4204)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rstRuleSurround__packagesZdocutilsZrst_4192)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4197)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4774)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__packagesZdocutilsZrst_4125)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup, NIM_BOOL exact);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstEnd__packagesZdocutilsZrst_4110)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownEnd__packagesZdocutilsZrst_4103)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4744)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__packagesZdocutilsZrst_59)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2173)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** r, NIM_BOOL* b);
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrstast_102)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4856)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRole__packagesZdocutilsZrst_4384)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toInlineCode__packagesZdocutilsZrst_4392)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* language);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNode__packagesZdocutilsZrstast_157)(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* sons);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toOtherRole__packagesZdocutilsZrst_4411)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parsePostfix__packagesZdocutilsZrst_4431)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__packagesZdocutilsZrst_4360)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b);
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2278)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__packagesZdocutilsZrst_61)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__packagesZdocutilsZrst_2158)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, finalizeInterpreted__packagesZdocutilsZrst_4437)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* node, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons, NimStringDesc* roleName);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__packagesZdocutilsZrst_4882)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
static N_NIMCALL(void, Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA)(void* p, NI op);
static N_INLINE(NIM_BOOL, checkParen__packagesZdocutilsZrst_4634)(tyObject_Token__E0ilHwDrlCLqd7buwAkizA* token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack);
N_LIB_PRIVATE N_NIMCALL(void, add__packagesZdocutilsZrstast_203)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnoteName__packagesZdocutilsZrst_4969)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL reference);
N_LIB_PRIVATE N_NIMCALL(tyTuple__NsOXiclpudEmVBDvfdmAhQ, getFootnoteType__packagesZdocutilsZrst_4939)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSmiley__packagesZdocutilsZrst_4493)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4476)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuContinuesWith)(NimStringDesc* s, NimStringDesc* substr, NI start);
N_LIB_PRIVATE N_NIMCALL(void, parseWordOrRef__packagesZdocutilsZrst_4702)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__packagesZdocutilsZrst_4568)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseUrl__packagesZdocutilsZrst_4669)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFields__packagesZdocutilsZrst_5211)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseField__packagesZdocutilsZrst_5196)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5188)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseBlockContent__packagesZdocutilsZrst_6511)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** father, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirCodeBlock__packagesZdocutilsZrst_6568)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL nimExtension);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s, NIM_BOOL leading, NIM_BOOL trailing, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_63)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* fieldname);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__packagesZdocutilsZrst_2080)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* filename);
static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_465)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContainer__packagesZdocutilsZrst_6586)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContents__packagesZdocutilsZrst_6601)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirDefaultRole__packagesZdocutilsZrst_6611)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirFigure__packagesZdocutilsZrst_6595)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirImage__packagesZdocutilsZrst_6592)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirInclude__packagesZdocutilsZrst_6535)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirIndex__packagesZdocutilsZrst_6604)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRaw__packagesZdocutilsZrst_6637)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__packagesZdocutilsZrst_6629)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** result, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirBody__packagesZdocutilsZrst_6531)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRole__packagesZdocutilsZrst_6621)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirTitle__packagesZdocutilsZrst_6598)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, getReferenceName__packagesZdocutilsZrst_4071)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* endStr);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, untilEol__packagesZdocutilsZrst_4084)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, addAnchor__packagesZdocutilsZrst_2308)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* refn, NIM_BOOL reset);
static N_INLINE(tyTuple__wOvXi5VibnCNgN9buQRQD4A*, X5BX5D___packagesZdocutilsZrst_2320)(tyTuple__wOvXi5VibnCNgN9buQRQD4A* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(void, expect__packagesZdocutilsZrst_4096)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* tok);
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2251)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnote__packagesZdocutilsZrst_6665)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prefix__packagesZdocutilsZrst_6662)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA ftnType);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2411)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI num);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumAuto__packagesZdocutilsZrst_2481)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseComment__packagesZdocutilsZrst_5132)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI col);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseEnumList__packagesZdocutilsZrst_6177)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_NIMCALL(void, Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, checkAfterNewline__packagesZdocutilsZrst_6287)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuDedent)(NimStringDesc* s, NI count);
N_LIB_PRIVATE N_NIMCALL(NI, indentation__pureZstrutils_1194)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1631)(NimStringDesc* s, NimStringDesc* sub);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDefinitionList__packagesZdocutilsZrst_6141)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseTransition__packagesZdocutilsZrst_6039)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseHeadline__packagesZdocutilsZrst_5706)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5167)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father);
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5319)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_CHAR c, NIM_BOOL hasOverline);
N_LIB_PRIVATE N_NIMCALL(void, checkHeadingHierarchy__packagesZdocutilsZrst_5694)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI lvl);
static N_NIMCALL(void, Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, objectInit)(void* dest, TNimType* typ);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, descr__packagesZdocutilsZrst_5697)(NI l, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOverline__packagesZdocutilsZrst_5739)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSimpleTable__packagesZdocutilsZrst_5826)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, getColumns__packagesZdocutilsZrst_5781)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols);
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__packagesZdocutilsZrst_5778)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownTable__packagesZdocutilsZrst_6012)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
static N_NIMCALL(void, Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q)(void* p, NI op);
N_LIB_PRIVATE N_CLOSURE(void, parseRow__packagesZdocutilsZrst_6020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__8Np6tlClE5az1CyqZdN19bQ*, readTableRow__packagesZdocutilsZrst_5942)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5974)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colLim);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidDelimiterRow__packagesZdocutilsZrst_5983)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI colNum);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOptionList__packagesZdocutilsZrst_6088)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p);
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5671)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result);
N_LIB_PRIVATE N_NIMCALL(void, addIfNotNil__packagesZdocutilsZrstast_210)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* son);
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, sonKind__packagesZdocutilsZrst_6357)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NI i);
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5381)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2517)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s);
static N_NIMCALL(void, Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2090)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, listFootnotes__packagesZdocutilsZrst_2519)(tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0);
static N_INLINE(NimStringDesc**, X5BX5D___packagesZdocutilsZrst_2551)(NimStringDesc** s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_9)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_2625)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_2690)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA*, newSeq__packagesZdocutilsZrst_2702)(NI len);
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_2713)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__packagesZdocutilsZrst_2629)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___packagesZdocutilsZrst_2634)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___packagesZdocutilsZrst_2648)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__packagesZdocutilsZrst_2658)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA x, tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA y);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_7482)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
N_LIB_PRIVATE N_NIMCALL(void, initSinglyLinkedList__packagesZdocutilsZrst_2790)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* Result);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_2817)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b);
static N_INLINE(void, add__packagesZdocutilsZrst_2892)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw* value);
static N_INLINE(void, add__packagesZdocutilsZrst_2981)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_2900)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* value);
static N_NIMCALL(void, Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ)(void* p, NI op);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3208)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw* value);
static N_INLINE(void, prepend__packagesZdocutilsZrst_3258)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n);
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA*, X5BX5D___packagesZdocutilsZrst_3318)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* s, NI sLen_0, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_3393)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* value);
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_3462)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatStr)(NimStringDesc* s, NI n);
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2210)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2095)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, tyProc__zVyAuQlxcO3X84ar49cKZSg f, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, findRef__packagesZdocutilsZrst_2295)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* key);
static N_INLINE(void, nimGCunrefRC1)(void* p);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2373)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* refn);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3996)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* label);
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_4004)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getAutoSymbol__packagesZdocutilsZrst_4012)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order);
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, resolveSubs__packagesZdocutilsZrst_6766)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n);
N_LIB_PRIVATE TNimType NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_;
extern TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
N_LIB_PRIVATE TNimType NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_;
N_LIB_PRIVATE TNimType NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_;
extern TNimType NTItable__Ab4q9c36aMR4mtkEOIBzdzA_;
extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
N_LIB_PRIVATE TNimType NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_;
N_LIB_PRIVATE TNimType NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_;
N_LIB_PRIVATE TNimType NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_;
N_LIB_PRIVATE TNimType NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_;
extern TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTIrstnodekind__DNoJcMFu9cjq4EGXsLl82CQ_;
N_LIB_PRIVATE TNimType NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_;
extern TNimType NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_;
N_LIB_PRIVATE TNimType NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_;
N_LIB_PRIVATE TNimType NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_;
N_LIB_PRIVATE TNimType NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_;
extern TNimType NTItlineinfo__LpCBEHcAwE2yCs4l9cD1BOA_;
N_LIB_PRIVATE TNimType NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_;
N_LIB_PRIVATE TNimType NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_;
N_LIB_PRIVATE TNimType NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_;
N_LIB_PRIVATE TNimType NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_;
extern TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_;
N_LIB_PRIVATE TNimType NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_16, "nim", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_17, "literal", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_18, "idx", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_19, "strong", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_20, "emphasis", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_21, "sub", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_22, "subscript", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_23, "sup", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_24, "superscript", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_25, "code", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_26, "program", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_27, "option", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_28, "tok", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_29, "meCannotOpenFile", 16);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_30, "meExpected", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_31, "meGridTableNotImplemented", 25);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_32, "meMarkdownIllformedTable", 24);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_33, "meNewSectionExpected", 20);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_34, "meGeneralParseError", 19);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_35, "meInvalidDirective", 18);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_36, "meInvalidField", 14);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_37, "meFootnoteMismatch", 18);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_38, "mwRedefinitionOfLabel", 21);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_39, "mwUnknownSubstitution", 21);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_40, "mwBrokenLink", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_41, "mwUnsupportedLanguage", 21);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_42, "mwUnsupportedField", 18);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_43, "mwRstStyle", 10);
N_LIB_PRIVATE NIM_CONST tyArray__liEHWGc8ZQamBVW4msvrhA names__packagesZdocutilsZrst_379 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_29),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_30),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_31),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_32),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_33),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_34),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_35),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_36),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_37),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_38),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_39),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_40),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_41),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_42),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_43)}
;
N_LIB_PRIVATE TNimType NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_47, "(", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_48, ", ", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_49, ")", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_50, " $1: $2", 7);
N_LIB_PRIVATE TNimType NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_;
extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
N_LIB_PRIVATE TNimType NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_;
N_LIB_PRIVATE TNimType NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_54, "\012", 1);
extern TNimType NTIkeyvaluepairseq__7lEisrXlQEzwtUKW5pzRCw_;
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_;
N_LIB_PRIVATE TNimType NTItoken__E0ilHwDrlCLqd7buwAkizA_;
N_LIB_PRIVATE TNimType NTItoktype__UY24uyT9bUilTKVVPqpgQjA_;
N_LIB_PRIVATE TNimType NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_;
extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_;
extern TNimType NTIcstring__S9agCYBinaYZnGWcjTdxclg_;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_63 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_64 = {
0x00, 0x02, 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__6mNpeIAN05DnDNzb9b3611A_65, "\\", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_66, "```", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_67, "::", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_68, "..", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_69, "#", 1);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_70 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_71, "iI", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_72, "+a+", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_73, "rst.nim(602, 11) `0 <= fid.int and fid.int < filenames.len` ", 60);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_74, "incorrect FileIndex $1 (range 0..$2)", 36);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_76, " a", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_77, "|", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_78, "i", 1);
static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__6mNpeIAN05DnDNzb9b3611A_79 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_68),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_81, "indentation of heading text allowed only for overline titles", 60);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_82, "(underline \'", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_83, "\' is too short)", 15);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_84, "\' does not match overline \'", 27);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_85, "\')", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_86, "(overline \'", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_87, "| w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_88, "aI", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_90, "+", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_91, "*", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_92, "-", 1);
static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__6mNpeIAN05DnDNzb9b3611A_89 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_90),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_92)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_93, ":w:E", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_94, "(e) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_95, "e) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_96, "e. ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_97, "-w", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_98, "--w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_99, "/w", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_100, "//w", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_101, "whitespace or newline expected after directive ", 47);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_102, ":", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_104, "double colon :: may be missing at end of \'", 42);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_105, "\'", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_106, "too many colons for a directive (should be ::)", 46);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_107, "admonition", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_108, "attention", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_109, "caution", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_110, "code-block", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_111, "container", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_112, "contents", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_113, "danger", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_114, "default-role", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_115, "error", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_116, "figure", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_117, "hint", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_118, "image", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_119, "important", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_120, "include", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_121, "index", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_122, "note", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_123, "raw", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_124, "role", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_125, "tip", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_126, "title", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_127, "warning", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_128, "_`", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_129, "_", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_130, "`", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_132, "__", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_133, "[", 1);
static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__6mNpeIAN05DnDNzb9b3611A_131 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_132),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_134 = {
0x00, 0x00, 0x00, 0x00, 0x84, 0xa1, 0x00, 0x14,
0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_135, "***", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_136, "``", 2);
static NIM_CONST tyArray__Re75IspeoxXy2oCZHwcRrA TM__6mNpeIAN05DnDNzb9b3611A_137 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_132)}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_138 = {
0x00, 0x00, 0x00, 0x00, 0x86, 0xf2, 0x00, 0xcc,
0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
extern TNimType NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_139, " ", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_140, "**", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_141, "dollar", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_142, "percent", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_143, "amp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_144, "roof", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_145, "emark", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_146, "qmark", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_147, "star", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_148, "plus", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_149, "minus", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_150, "slash", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_151, "backslash", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_152, "eq", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_153, "lt", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_154, "gt", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_155, "tilde", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_156, "colon", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_157, "dot", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_158, "at", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_159, "bar", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_160, ":w:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_161, "cpp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_162, "c++", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_163, "csharp", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_164, "c#", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_165, ">", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_166, "<", 1);
N_LIB_PRIVATE TNimType NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_167, "]", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_169, ":D", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_170, "icon_e_biggrin", 14);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_171, ":-D", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_172, ":)", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_173, "icon_e_smile", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_174, ":-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_175, ";)", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_176, "icon_e_wink", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_177, ";-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_178, ":(", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_179, "icon_e_sad", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_180, ":-(", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_181, ":o", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_182, "icon_e_surprised", 16);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_183, ":-o", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_184, ":shock:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_185, "icon_eek", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_186, ":\?", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_187, "icon_e_confused", 15);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_188, ":-\?", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_189, ":-/", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_190, "8-)", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_191, "icon_cool", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_192, ":lol:", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_193, "icon_lol", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_194, ":x", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_195, "icon_mad", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_196, ":-x", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_197, ":P", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_198, "icon_razz", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_199, ":-P", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_200, ":oops:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_201, "icon_redface", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_202, ":cry:", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_203, "icon_cry", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_204, ":evil:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_205, "icon_evil", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_206, ":twisted:", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_207, "icon_twisted", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_208, ":roll:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_209, "icon_rolleyes", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_210, ":!:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_211, "icon_exclaim", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_212, ":\?:", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_213, "icon_question", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_214, ":idea:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_215, "icon_idea", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_216, ":arrow:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_217, "icon_arrow", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_218, ":|", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_219, "icon_neutral", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_220, ":-|", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_221, ":mrgreen:", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_222, "icon_mrgreen", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_223, ":geek:", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_224, "icon_e_geek", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_225, ":ugeek:", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_226, "icon_e_ugeek", 12);
N_LIB_PRIVATE NIM_CONST tyArray__EH7g9cw9ce5QW4p9ba9aZKF51w Smilies__packagesZdocutilsZrst_70 = {{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_169),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_170)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_171),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_170)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_172),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_173)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_174),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_173)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_175),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_176)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_177),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_176)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_178),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_179)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_180),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_179)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_181),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_182)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_183),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_182)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_184),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_185)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_186),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_187)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_188),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_187)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_189),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_187)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_190),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_191)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_192),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_193)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_194),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_195)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_196),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_195)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_197),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_198)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_199),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_198)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_200),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_201)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_202),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_203)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_204),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_205)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_206),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_207)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_208),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_209)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_210),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_211)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_212),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_213)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_214),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_215)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_216),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_217)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_218),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_219)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_220),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_219)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_221),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_222)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_223),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_224)}
,
{((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_225),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_226)}
}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_227, "//", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_229, "http", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_230, "https", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_231, "ftp", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_232, "telnet", 6);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_233, "file", 4);
static NIM_CONST tyArray__haiLFy0nBviVTKFGuwztzQ TM__6mNpeIAN05DnDNzb9b3611A_228 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_229),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_230),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_231),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_232),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_233)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_234, "/", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_235, "\001\001", 2);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__6mNpeIAN05DnDNzb9b3611A_236 = {
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__6mNpeIAN05DnDNzb9b3611A_238, "default-language", 16);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_239, "Nim", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_240, "start-after", 11);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_241, "end-before", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_242, "html", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_243, "latex", 5);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_244, "language", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_245, " _", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_246, " |", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_247, "replace", 7);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_248, " [", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_249, "footnote-", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_250, "footnoteauto-", 13);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_251, "footnotesym-", 12);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_252, "citation-", 9);
N_LIB_PRIVATE TNimType NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_;
extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
N_LIB_PRIVATE TNimType NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_254, "(n) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_255, "n) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_256, "n. ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_257, "(x) ", 4);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_258, "x) ", 3);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_259, "x. ", 3);
N_LIB_PRIVATE NIM_CONST tyArray__yt5VDPNtUGx9cBkOVakHwdQ wildcards__packagesZdocutilsZrst_6180 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_254),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_255),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_256),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_257),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_258),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_259)}
;
N_LIB_PRIVATE NIM_CONST tyArray__oXFh4MvEDAk4hEbFQSH7yQ wildToken__packagesZdocutilsZrst_6181 = {((NI) 4),
((NI) 3),
((NI) 3),
((NI) 4),
((NI) 3),
((NI) 3)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_260, "          not enough indentation on line $2\012            (should be at column $3 if it\'s a continuation of enum. list),\012          or no blank line after line $1 (if it should be the next paragraph),\012          or no escaping \\ at the beginning of line $1\012            (if lines $1..$2 are a normal paragraph, not enum. list)", 321);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_262, "1", 1);
N_LIB_PRIVATE NIM_CONST tyArray__oXFh4MvEDAk4hEbFQSH7yQ wildIndex__packagesZdocutilsZrst_6182 = {((NI) 1),
((NI) 0),
((NI) 0),
((NI) 1),
((NI) 0),
((NI) 0)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_264, "n", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_267, "(syntax error)", 14);
N_LIB_PRIVATE TNimType NTIobject__crlV1WNGeShngwIuNh2Hdg_;
N_LIB_PRIVATE TNimType NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_269, "(section level inconsistent: ", 29);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_270, "overline ", 9);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_271, "underline ", 10);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_273, " unexpectedly found, while the following intermediate section level(s) are missing on lines ", 92);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_275, ",", 1);
N_LIB_PRIVATE TNimType NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_;
extern TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
N_LIB_PRIVATE TNimType NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_278, "--", 2);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_279, ":-", 2);
N_LIB_PRIVATE TNimType NTIobject__dSbgko9cUbNv6KjiW415IXQ_;
N_LIB_PRIVATE TNimType NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_283, "$1 != $2", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_284, " (lines ", 8);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_287, " for auto-numbered footnotes", 28);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_290, " for auto-symbol footnotes", 26);
N_LIB_PRIVATE TNimType NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_;
N_LIB_PRIVATE TNimType NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_295, "^", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_296, "=", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_297, "~", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_298, "$", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_299, "@", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_300, "%", 1);
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_301, "&", 1);
N_LIB_PRIVATE NIM_CONST tyArray__17w6ns39bmjfAZ429aQpCFUA footnoteAutoSymbols__packagesZdocutilsZrst_3871 = {((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_295),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_90),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_296),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_297),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_298),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_299),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_300),
((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_301)}
;
STRING_LITERAL(TM__6mNpeIAN05DnDNzb9b3611A_303, "\?\?\?", 3);
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern Exception* currException__system_2566;
extern Exception* currException__system_2566;
static N_NIMCALL(void, Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA)(void* p, NI op) {
	tySequence__itU9cAYRNnSMU3pWsbVN4bA* a;
	NI T1_;
	a = (tySequence__itU9cAYRNnSMU3pWsbVN4bA*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w)(void* p, NI op) {
	tySequence__lrunEzM3UiMYKPLPCTNo0w* a;
	NI T1_;
	a = (tySequence__lrunEzM3UiMYKPLPCTNo0w*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].key, op);
	nimGCvisit((void*)a->data[T1_].value, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA)(void* p, NI op) {
	tySequence__29caZmiPrO6d9cg0Ucdm9bdAA* a;
	NI T1_;
	a = (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field0, op);
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw)(void* p, NI op) {
	tySequence__SugKu9bev7GtgZTDZMD2xgw* a;
	NI T1_;
	a = (tySequence__SugKu9bev7GtgZTDZMD2xgw*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA)(void* p, NI op) {
	tySequence__59axsmyJq9bYh2MONDvuwAkA* a;
	NI T1_;
	a = (tySequence__59axsmyJq9bYh2MONDvuwAkA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field4, op);
	}
}
static N_NIMCALL(void, Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw)(void* p, NI op) {
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* a;
	a = (tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*)p;
	nimGCvisit((void*)(*a).hLevels, op);
	nimGCvisit((void*)(*a).currRole, op);
	nimGCvisit((void*)(*a).subs, op);
	nimGCvisit((void*)(*a).refs, op);
	nimGCvisit((void*)(*a).anchors, op);
	nimGCvisit((void*)(*a).lineFootnoteNum, op);
	nimGCvisit((void*)(*a).lineFootnoteNumRef, op);
	nimGCvisit((void*)(*a).lineFootnoteSym, op);
	nimGCvisit((void*)(*a).lineFootnoteSymRef, op);
	nimGCvisit((void*)(*a).footnotes, op);
	nimGCvisit((void*)(*a).msgHandler.ClE_0, op);
	nimGCvisit((void*)(*a).findFile.ClE_0, op);
	nimGCvisit((void*)(*a).filenames.filenameToIdx.data, op);
	nimGCvisit((void*)(*a).filenames.idxToFilename, op);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultRole__packagesZdocutilsZrst_522)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 4))&7U)))!=0)) goto LA3_;
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_16));
	}
	goto LA1_;
	LA3_: ;
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17));
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__system_5294((&gch__system_5247.zct), c);
}
static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5343(c);
	}
	LA4_: ;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__system_5300(p);
	decRef__system_5345(T1_);
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRoleAux__packagesZdocutilsZrst_530)(NimStringDesc* sym) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	NimStringDesc* r;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	r = nsuToLowerAsciiStr(sym);
	switch (hashString(r) & 15) {
	case 0: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_26))) goto LA8_;
break;
	case 1: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_20))) goto LA4_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_22))) goto LA5_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_24))) goto LA6_;
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_27))) goto LA8_;
break;
	case 4: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_19))) goto LA3_;
break;
	case 8: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17))) goto LA2_;
break;
	case 9: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_28))) goto LA8_;
break;
	case 10: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_21))) goto LA5_;
break;
	case 12: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_23))) goto LA6_;
break;
	case 13: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_18))) goto LA1_;
break;
	case 15: 
if (eqStrings(r, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA7_;
break;
	}
	goto LA9_;
	LA1_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 63);
	}
	goto LA10_;
	LA2_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68);
	}
	goto LA10_;
	LA3_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 65);
	}
	goto LA10_;
	LA4_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 64);
	}
	goto LA10_;
	LA5_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 61);
	}
	goto LA10_;
	LA6_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 62);
	}
	goto LA10_;
	LA7_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68);
	}
	goto LA10_;
	LA8_: ;
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59);
	}
	goto LA10_;
	LA9_: ;
	{
		{
			tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g T22_;
			T22_ = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
			T22_ = getSourceLanguage__packagesZdocutilsZhighlite_97(r);
			if (!!((T22_ == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0)))) goto LA23_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58);
		}
		goto LA20_;
		LA23_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60);
		}
		LA20_: ;
	}
	LA10_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__system_5300(src);
		incRef__system_5338(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__system_5300((*dest));
		decRef__system_5345(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, symbolName__packagesZdocutilsZrst_365)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ a) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = copyString(names__packagesZdocutilsZrst_379[((NI)(a - ((NI) 0)))- 0]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw, whichMsgClass__packagesZdocutilsZrst_362)(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ k) {
	tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw result;
	NimStringDesc* T1_;
	result = (tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw)0;
	T1_ = NIM_NIL;
	T1_ = symbolName__packagesZdocutilsZrst_365(k);
	switch (((NU8)(T1_->data[((NI) 1)]))) {
	case 101:
	case 69:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 2);
	}
	break;
	case 119:
	case 87:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 1);
	}
	break;
	case 104:
	case 72:
	{
		result = ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 0);
	}
	break;
	default:
	{
	}
	break;
	}
	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__system_1727)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_NIMCALL(void, Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA)(void* p, NI op) {
	tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ* a;
	a = (tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*)p;
	nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
	nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
}
static N_INLINE(void, writeLine__msgs_432)(FILE* f, NimStringDesc** x, NI xLen_0) {
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < xLen_0)) goto LA3;
				i = (&x[i_2]);
				write__systemZio_205(f, (*i));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write__systemZio_205(f, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
}
N_LIB_PRIVATE N_NIMCALL(void, defaultMsgHandler__packagesZdocutilsZrst_475)(NimStringDesc* filename, NI line, NI col, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgkind, NimStringDesc* arg) {
	tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw mc;
	NimStringDesc* a;
	NimStringDesc* message;
	tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
	NimStringDesc* T10_;
	mc = whichMsgClass__packagesZdocutilsZrst_362(msgkind);
	a = nsuFormatSingleElem(reprEnum((NI)msgkind, (&NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_)), arg);
	message = NIM_NIL;
	message = resizeString(message, (filename ? filename->Sup.len : 0) + 0);
appendString(message, filename);
	{
		if (!(((NI) 0) < line)) goto LA3_;
		message = resizeString(message, 1);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_47));
		addInt__stdZprivateZdigitsutils_189((&message), line);
		{
			if (!(((NI) 0) < (NI)(col + ((NI) 1)))) goto LA7_;
			message = resizeString(message, 2);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_48));
			addInt__stdZprivateZdigitsutils_189((&message), (NI)(col + ((NI) 1)));
		}
		LA7_: ;
		message = resizeString(message, 1);
appendString(message, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_49));
	}
	LA3_: ;
	nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
	T9_[0] = reprEnum((NI)mc, (&NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_));
	T9_[1] = copyString(a);
	T10_ = NIM_NIL;
	T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_50), T9_, 2);
	message = resizeString(message, (T10_ ? T10_->Sup.len : 0) + 0);
appendString(message, T10_);
	{
		tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ* T15_;
		NimStringDesc* T16_;
		if (!(mc == ((tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw) 2))) goto LA13_;
		T15_ = NIM_NIL;
		T15_ = (tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*) newObj((&NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_), sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ));
		(*T15_).Sup.Sup.Sup.Sup.m_type = (&NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_);
		(*T15_).Sup.Sup.Sup.name = "EParseError";
		T16_ = NIM_NIL;
		T16_ = (*T15_).Sup.Sup.Sup.message; (*T15_).Sup.Sup.Sup.message = copyStringRC1(message);
		if (T16_) nimGCunrefNoCycle(T16_);
		asgnRef((void**) (&(*T15_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
		raiseExceptionEx((Exception*)T15_, "EParseError", "defaultMsgHandler", "rst.nim", 563);
	}
	goto LA11_;
	LA13_: ;
	{
		tyArray__nHXaesL0DJZHyVS07ARPRA T18_;
		nimZeroMem((void*)T18_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
		T18_[0] = copyString(message);
		writeLine__msgs_432(stdout, T18_, 1);
	}
	LA11_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, defaultFindFile__packagesZdocutilsZrst_519)(NimStringDesc* filename) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nosfileExists(filename);
		if (!T3_) goto LA4_;
		result = copyString(filename);
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__packagesZdocutilsZrst_538)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = (filenames.idxToFilename ? filenames.idxToFilename->Sup.len : 0);
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}
static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}
static N_INLINE(NI, rawGet__packagesZdocutilsZrst_624)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__pureZhashes_279(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__pureZcollectionsZtables_34(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI32, getOrDefault__packagesZdocutilsZrst_614)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI32 default_0) {
	NI32 result;
	NI hcX60gensym16_;
	NI indexX60gensym16_;
	result = (NI32)0;
	hcX60gensym16_ = (NI)0;
	indexX60gensym16_ = rawGet__packagesZdocutilsZrst_624(t, key, (&hcX60gensym16_));
	{
		if (!(((NI) 0) <= indexX60gensym16_)) goto LA3_;
		result = t.data->data[indexX60gensym16_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
	NI result;
	result = (NI)0;
	result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__packagesZdocutilsZrst_1140)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__packagesZdocutilsZrst_1597)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = NIM_NIL;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__packagesZdocutilsZrst_1293)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t) {
	tySequence__7lEisrXlQEzwtUKW5pzRCw* n;
	NI T1_;
	tySequence__7lEisrXlQEzwtUKW5pzRCw* T2_;
	n = NIM_NIL;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTIkeyvaluepairseq__7lEisrXlQEzwtUKW5pzRCw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = NIM_NIL;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					NimStringDesc* T17_;
					NI32 T18_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__pureZcollectionsZtables_31(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__pureZcollectionsZtables_34(j, T16_);
						} LA14: ;
					}
					T17_ = NIM_NIL;
					T17_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T18_ = (NI32)0;
					T18_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__packagesZdocutilsZrst_1597(t, (&(*t).data), T17_, T18_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__packagesZdocutilsZrst_1766)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__pureZcollectionsZtables_34(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___packagesZdocutilsZrst_967)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym21_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym21_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTIkeyvaluepairseq__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym21_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__packagesZdocutilsZrst_624((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		{
			NI T13_;
			NI correctSizeX60gensym24_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym24_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTIkeyvaluepairseq__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym24_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__packagesZdocutilsZrst_1140((*t));
			if (!T18_) goto LA19_;
			enlarge__packagesZdocutilsZrst_1293(t);
			index = rawGetKnownHC__packagesZdocutilsZrst_1766((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		rawInsert__packagesZdocutilsZrst_1597(t, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setCurrFilename__packagesZdocutilsZrst_544)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* file1) {
	NI32 nextIdx;
	NI T1_;
	NI32 v;
	T1_ = (NI)0;
	T1_ = len__packagesZdocutilsZrst_538((*s).filenames);
	nextIdx = ((NI32) (T1_));
	v = getOrDefault__packagesZdocutilsZrst_614((*s).filenames.filenameToIdx, file1, nextIdx);
	{
		NI T6_;
		NimStringDesc* T7_;
		if (!(v == nextIdx)) goto LA4_;
		X5BX5Deq___packagesZdocutilsZrst_967((&(*s).filenames.filenameToIdx), file1, v);
		asgnRef((void**) (&(*s).filenames.idxToFilename), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*s).filenames.idxToFilename), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
		T6_ = (*s).filenames.idxToFilename->Sup.len++;
		T7_ = NIM_NIL;
		T7_ = (*s).filenames.idxToFilename->data[T6_]; (*s).filenames.idxToFilename->data[T6_] = copyStringRC1(file1);
		if (T7_) nimGCunrefNoCycle(T7_);
	}
	LA4_: ;
	(*s).currFileIdx = v;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*, newRstSharedState__packagesZdocutilsZrst_2019)(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg options, NimStringDesc* filename, tyProc__oFHfEKFsiYTMAy9a42cSiKw findFile, tyProc__zVyAuQlxcO3X84ar49cKZSg msgHandler) {
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* result;
	NimStringDesc* r;
	tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* T1_;
	NimStringDesc* T2_;
	result = NIM_NIL;
	r = defaultRole__packagesZdocutilsZrst_522(options);
	T1_ = NIM_NIL;
	T1_ = (tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*) newObj((&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_), sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA));
	T2_ = NIM_NIL;
	T2_ = (*T1_).currRole; (*T1_).currRole = copyStringRC1(r);
	if (T2_) nimGCunrefNoCycle(T2_);
	(*T1_).currRoleKind = whichRoleAux__packagesZdocutilsZrst_530(r);
	(*T1_).options = options;
	{
		if (!!((msgHandler.ClP_0 == 0))) goto LA5_;
		asgnRef((void**) (&(*T1_).msgHandler.ClE_0), msgHandler.ClE_0);
		(*T1_).msgHandler.ClP_0 = msgHandler.ClP_0;
	}
	goto LA3_;
	LA5_: ;
	{
		tyProc__zVyAuQlxcO3X84ar49cKZSg T8_;
		nimZeroMem((void*)(&T8_), sizeof(tyProc__zVyAuQlxcO3X84ar49cKZSg));
		T8_.ClP_0 = ((TM__6mNpeIAN05DnDNzb9b3611A_55) (defaultMsgHandler__packagesZdocutilsZrst_475)); T8_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*T1_).msgHandler.ClE_0), T8_.ClE_0);
		(*T1_).msgHandler.ClP_0 = T8_.ClP_0;
	}
	LA3_: ;
	{
		if (!!((findFile.ClP_0 == 0))) goto LA11_;
		asgnRef((void**) (&(*T1_).findFile.ClE_0), findFile.ClE_0);
		(*T1_).findFile.ClP_0 = findFile.ClP_0;
	}
	goto LA9_;
	LA11_: ;
	{
		tyProc__oFHfEKFsiYTMAy9a42cSiKw T14_;
		nimZeroMem((void*)(&T14_), sizeof(tyProc__oFHfEKFsiYTMAy9a42cSiKw));
		T14_.ClP_0 = ((TM__6mNpeIAN05DnDNzb9b3611A_56) (defaultFindFile__packagesZdocutilsZrst_519)); T14_.ClE_0 = NIM_NIL;
		asgnRef((void**) (&(*T1_).findFile.ClE_0), T14_.ClE_0);
		(*T1_).findFile.ClP_0 = T14_.ClP_0;
	}
	LA9_: ;
	result = T1_;
	setCurrFilename__packagesZdocutilsZrst_544(result, filename);
	return result;
}
static N_NIMCALL(void, Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw)(void* p, NI op) {
	tySequence__HsIBrWWNKBMO7j6datX5Dw* a;
	NI T1_;
	a = (tySequence__HsIBrWWNKBMO7j6datX5Dw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].symbol, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initParser__packagesZdocutilsZrst_2138)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState) {
	unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), 1));
	(*p).indentStack->data[0] = ((NI) 0);
	unsureAsgnRef((void**) (&(*p).tok), NIM_NIL);
	(*p).idx = ((NI) 0);
	(*p).col = ((NI) 0);
	(*p).line = ((NI) 1);
	unsureAsgnRef((void**) (&(*p).s), sharedState);
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == ((NimStringDesc*) 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;
}
N_LIB_PRIVATE N_NIMCALL(void, getThing__packagesZdocutilsZrst_106)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s) {
	NI pos;
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	{
		while (1) {
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
			pos += ((NI) 1);
			{
				if (!!(((s[(NU)(((NU8)((*L).buf[pos])))>>3] &(1U<<((NU)(((NU8)((*L).buf[pos])))&7U)))!=0))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
		}
	} LA1: ;
	(*L).col += (NI)(pos - (*L).bufpos);
	(*L).bufpos = pos;
}
N_LIB_PRIVATE N_NIMCALL(NI, getIndentAux__packagesZdocutilsZrst_185)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, NI start) {
	NI result;
	NI pos;
	result = (NI)0;
	pos = start;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(13))) goto LA3_;
		{
			if (!((NU8)((*L).buf[(NI)(pos + ((NI) 1))]) == (NU8)(10))) goto LA7_;
			pos += ((NI) 2);
		}
		goto LA5_;
		LA7_: ;
		{
			pos += ((NI) 1);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(10))) goto LA11_;
		pos += ((NI) 1);
	}
	goto LA1_;
	LA11_: ;
	LA1_: ;
	{
		while (1) {
			switch (((NU8)((*L).buf[pos]))) {
			case 32:
			case 11:
			case 12:
			{
				pos += ((NI) 1);
				result += ((NI) 1);
			}
			break;
			case 9:
			{
				pos += ((NI) 1);
				result = (NI)((NI)(result - (NI)(result % ((NI) 8))) + ((NI) 8));
			}
			break;
			default:
			{
				goto LA13;
			}
			break;
			}
		}
	} LA13: ;
	{
		if (!((NU8)((*L).buf[pos]) == (NU8)(0))) goto LA20_;
		result = ((NI) 0);
	}
	goto LA18_;
	LA20_: ;
	{
		NIM_BOOL T23_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((NU8)((*L).buf[pos]) == (NU8)(10));
		if (T23_) goto LA24_;
		T23_ = ((NU8)((*L).buf[pos]) == (NU8)(13));
		LA24_: ;
		if (!T23_) goto LA25_;
		result = getIndentAux__packagesZdocutilsZrst_185(L, pos);
	}
	goto LA18_;
	LA25_: ;
	LA18_: ;
	(*L).bufpos = pos;
	return result;
}
static N_INLINE(NimStringDesc*, spaces__pureZstrutils_1029)(NI n) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = nsuRepeatChar(32, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getIndent__packagesZdocutilsZrst_214)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	(*tok).col = ((NI) 0);
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1);
	(*tok).ival = getIndentAux__packagesZdocutilsZrst_185(L, (*L).bufpos);
	(*L).line += ((NI) 1);
	(*tok).line = (*L).line;
	(*L).col = (*tok).ival;
	(*tok).ival = (((NI)((*tok).ival - (*L).baseIndent) >= ((NI) 0)) ? (NI)((*tok).ival - (*L).baseIndent) : ((NI) 0));
	T1_ = NIM_NIL;
	T2_ = NIM_NIL;
	T2_ = spaces__pureZstrutils_1029(((NI) ((*tok).ival)));
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 1);
appendString(T1_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
appendString(T1_, T2_);
	unsureAsgnRef((void**) (&(*tok).symbol), T1_);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCurrentLineAdornment__packagesZdocutilsZrst_132)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L) {
	NIM_BOOL result;
	NI pos;
	NIM_CHAR c;
{	result = (NIM_BOOL)0;
	pos = (*L).bufpos;
	c = (*L).buf[pos];
	{
		while (1) {
			pos += ((NI) 1);
			{
				if (!(((NU8)((*L).buf[pos])) == ((NU8)(13)) || ((NU8)((*L).buf[pos])) == ((NU8)(10)) || ((NU8)((*L).buf[pos])) == ((NU8)(0)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			{
				if (!((NU8)(c) == (NU8)(43))) goto LA9_;
				{
					if (!!((((NU8)((*L).buf[pos])) == ((NU8)(45)) || ((NU8)((*L).buf[pos])) == ((NU8)(61)) || ((NU8)((*L).buf[pos])) == ((NU8)(43))))) goto LA13_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA13_: ;
			}
			goto LA7_;
			LA9_: ;
			{
				{
					if (!!((((NU8)((*L).buf[pos])) == ((NU8)(c)) || ((NU8)((*L).buf[pos])) == ((NU8)(32)) || ((NU8)((*L).buf[pos])) == ((NU8)(9)) || ((NU8)((*L).buf[pos])) == ((NU8)(11)) || ((NU8)((*L).buf[pos])) == ((NU8)(12))))) goto LA18_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA18_: ;
			}
			LA7_: ;
		}
	} LA1: ;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getPunctAdornment__packagesZdocutilsZrst_153)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NI pos;
	NIM_CHAR c;
	{
		if (!(*L).adornmentLine) goto LA3_;
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4);
	}
	goto LA1_;
	LA3_: ;
	{
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	}
	LA1_: ;
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	pos = (*L).bufpos;
	c = (*L).buf[pos];
	{
		NIM_BOOL T8_;
		NIM_BOOL T10_;
		T8_ = (NIM_BOOL)0;
		T8_ = !((*L).escapeNext);
		if (!(T8_)) goto LA9_;
		T10_ = (NIM_BOOL)0;
		T10_ = !(((NU8)(c) == (NU8)(92)));
		if (T10_) goto LA11_;
		T10_ = (*L).adornmentLine;
		LA11_: ;
		T8_ = T10_;
		LA9_: ;
		if (!T8_) goto LA12_;
		{
			while (1) {
				unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
				pos += ((NI) 1);
				{
					if (!!(((NU8)((*L).buf[pos]) == (NU8)(c)))) goto LA18_;
					goto LA14;
				}
				LA18_: ;
			}
		} LA14: ;
	}
	goto LA6_;
	LA12_: ;
	{
		if (!(*L).escapeNext) goto LA21_;
		unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[pos]));
		pos += ((NI) 1);
	}
	goto LA6_;
	LA21_: ;
	{
		unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, 92));
		pos += ((NI) 1);
		(*L).escapeNext = NIM_TRUE;
	}
	LA6_: ;
	(*L).col += (NI)(pos - (*L).bufpos);
	(*L).bufpos = pos;
	{
		if (!eqStrings((*tok).symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65))) goto LA26_;
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	}
	LA26_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getBracket__packagesZdocutilsZrst_174)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5);
	(*tok).line = (*L).line;
	(*tok).col = (*L).col;
	unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, (*L).buf[(*L).bufpos]));
	(*L).col += ((NI) 1);
	(*L).bufpos += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(void, rawGetTok__packagesZdocutilsZrst_221)(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA* L, tyObject_Token__E0ilHwDrlCLqd7buwAkizA* tok) {
	NIM_CHAR c;
	unsureAsgnRef((void**) (&(*tok).symbol), ((NimStringDesc*) NIM_NIL));
	(*tok).ival = ((NI) 0);
	{
		if (!((*L).col == ((NI) 0))) goto LA3_;
		(*L).adornmentLine = NIM_FALSE;
	}
	LA3_: ;
	c = (*L).buf[(*L).bufpos];
	switch (((NU8)(c))) {
	case 97 ... 122:
	case 65 ... 90:
	case 128 ... 255:
	case 48 ... 57:
	{
		getThing__packagesZdocutilsZrst_106(L, tok, TM__6mNpeIAN05DnDNzb9b3611A_63);
	}
	break;
	case 32:
	case 9:
	case 11:
	case 12:
	{
		getThing__packagesZdocutilsZrst_106(L, tok, TM__6mNpeIAN05DnDNzb9b3611A_64);
		(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2);
		{
			if (!(((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(13)) || ((NU8)((*L).buf[(*L).bufpos])) == ((NU8)(10)))) goto LA9_;
			rawGetTok__packagesZdocutilsZrst_221(L, tok);
		}
		LA9_: ;
	}
	break;
	case 13:
	case 10:
	{
		getIndent__packagesZdocutilsZrst_214(L, tok);
		(*L).adornmentLine = NIM_FALSE;
	}
	break;
	case 33:
	case 34:
	case 35:
	case 36:
	case 37:
	case 38:
	case 39:
	case 42:
	case 43:
	case 44:
	case 45:
	case 46:
	case 47:
	case 58:
	case 59:
	case 60:
	case 61:
	case 62:
	case 63:
	case 64:
	case 92:
	case 94:
	case 95:
	case 96:
	case 124:
	case 126:
	{
		{
			if (!((*L).col == ((NI) 0))) goto LA15_;
			(*L).adornmentLine = isCurrentLineAdornment__packagesZdocutilsZrst_132(L);
		}
		LA15_: ;
		getPunctAdornment__packagesZdocutilsZrst_153(L, tok);
	}
	break;
	case 40:
	case 41:
	case 91:
	case 93:
	case 123:
	case 125:
	{
		getBracket__packagesZdocutilsZrst_174(L, tok);
	}
	break;
	default:
	{
		(*tok).line = (*L).line;
		(*tok).col = (*L).col;
		{
			if (!((NU8)(c) == (NU8)(0))) goto LA21_;
			(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0);
		}
		goto LA19_;
		LA21_: ;
		{
			(*tok).kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6);
			unsureAsgnRef((void**) (&(*tok).symbol), addChar((*tok).symbol, c));
			(*L).bufpos += ((NI) 1);
			(*L).col += ((NI) 1);
		}
		LA19_: ;
	}
	break;
	}
	(*tok).col = (((NI)((*tok).col - (*L).baseIndent) >= ((NI) 0)) ? (NI)((*tok).col - (*L).baseIndent) : ((NI) 0));
}
N_LIB_PRIVATE N_NIMCALL(void, getTokens__packagesZdocutilsZrst_237)(NimStringDesc* buffer, tySequence__HsIBrWWNKBMO7j6datX5Dw** tokens) {
	tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA L;
	NI length;
	NI T1_;
	nimZeroMem((void*)(&L), sizeof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA));
	L.Sup.m_type = (&NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_);
	T1_ = ((*tokens) ? (*tokens)->Sup.len : 0);
	length = T1_;
	L.buf = nimToCStringConv(buffer);
	L.line = ((NI) 0);
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = ((NU8)(L.buf[((NI) 0)]) == (NU8)(239));
		if (!(T5_)) goto LA6_;
		T5_ = ((NU8)(L.buf[((NI) 1)]) == (NU8)(187));
		LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T4_ = ((NU8)(L.buf[((NI) 2)]) == (NU8)(191));
		LA7_: ;
		if (!T4_) goto LA8_;
		L.bufpos += ((NI) 3);
	}
	LA8_: ;
	{
		while (1) {
			NIM_BOOL toEscape;
			length += ((NI) 1);
			unsureAsgnRef((void**) (&(*tokens)), (tySequence__HsIBrWWNKBMO7j6datX5Dw*) setLengthSeqV2(&((*tokens))->Sup, (&NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_), ((NI) (length))));
			toEscape = L.escapeNext;
			rawGetTok__packagesZdocutilsZrst_221((&L), (&(*tokens)->data[(NI)(length - ((NI) 1))]));
			{
				if (!toEscape) goto LA14_;
				L.escapeNext = NIM_FALSE;
			}
			LA14_: ;
			{
				if (!((*tokens)->data[(NI)(length - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0))) goto LA18_;
				goto LA10;
			}
			LA18_: ;
		}
	} LA10: ;
	{
		if (!((*tokens)->data[((NI) 0)].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA22_;
		(*tokens)->data[((NI) 0)].ival = ((*tokens)->data[((NI) 0)].symbol ? (*tokens)->data[((NI) 0)].symbol->Sup.len : 0);
		(*tokens)->data[((NI) 0)].kind = ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1);
	}
	LA22_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, currInd__packagesZdocutilsZrst_2113)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = (((*p).indentStack ? (*p).indentStack->Sup.len : 0)-1);
	result = (*p).indentStack->data[T1_];
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pushInd__packagesZdocutilsZrst_2119)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI ind) {
	NI T1_;
	unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*p).indentStack), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
	T1_ = (*p).indentStack->Sup.len++;
	(*p).indentStack->data[T1_] = ind;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newRstNodeA__packagesZdocutilsZrst_4020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(kind, T1_, ((NimStringDesc*) NIM_NIL));
	{
		NimStringDesc* T6_;
		if (!!((((*p).curAnchor ? (*p).curAnchor->Sup.len : 0) == 0))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (*result).anchor; (*result).anchor = copyStringRC1((*p).curAnchor);
		if (T6_) nimGCunrefNoCycle(T6_);
		unsureAsgnRef((void**) (&(*p).curAnchor), ((NimStringDesc*) NIM_NIL));
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, popInd__packagesZdocutilsZrst_2126)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	{
		NI T3_;
		NI T6_;
		T3_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		if (!(((NI) 1) < T3_)) goto LA4_;
		T6_ = ((*p).indentStack ? (*p).indentStack->Sup.len : 0);
		unsureAsgnRef((void**) (&(*p).indentStack), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*p).indentStack)->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) ((NI)(T6_ - ((NI) 1))))));
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validRefnamePunct__packagesZdocutilsZrst_4029)(NimStringDesc* x) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((x ? x->Sup.len : 0) == ((NI) 1));
	if (!(T1_)) goto LA2_;
	T1_ = (((NU8)(x->data[((NI) 0)])) == ((NU8)(45)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(95)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(58)) || ((NU8)(x->data[((NI) 0)])) == ((NU8)(43)));
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getRefnameIdx__packagesZdocutilsZrst_4036)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx) {
	NI result;
	NI j;
	result = (NI)0;
	j = startIdx;
	{
		if (!((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA3_;
		j += ((NI) 1);
		{
			while (1) {
				NIM_BOOL T7_;
				NIM_BOOL T8_;
				T7_ = (NIM_BOOL)0;
				T8_ = (NIM_BOOL)0;
				T8_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
				if (!(T8_)) goto LA9_;
				T8_ = validRefnamePunct__packagesZdocutilsZrst_4029((*p).tok->data[j].symbol);
				LA9_: ;
				T7_ = T8_;
				if (!(T7_)) goto LA10_;
				T7_ = ((*p).tok->data[(NI)(j + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
				LA10_: ;
				if (!T7_) goto LA6;
				j += ((NI) 2);
			} LA6: ;
		}
	}
	LA3_: ;
	result = (NI)(j - ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, match__packagesZdocutilsZrst_4285)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr) {
	NIM_BOOL result;
	NI i;
	NI j;
	NI last;
{	result = (NIM_BOOL)0;
	i = ((NI) 0);
	j = start;
	last = (NI)((expr ? expr->Sup.len : 0) - ((NI) 1));
	{
		while (1) {
			if (!(i <= last)) goto LA2;
			switch (((NU8)(expr->data[i]))) {
			case 119:
			{
				NI lastIdx;
				lastIdx = getRefnameIdx__packagesZdocutilsZrst_4036(p, j);
				result = (j <= lastIdx);
				{
					if (!result) goto LA6_;
					j = lastIdx;
				}
				LA6_: ;
			}
			break;
			case 32:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			}
			break;
			case 105:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			}
			break;
			case 73:
			{
				result = ((3 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
			}
			break;
			case 112:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
			}
			break;
			case 97:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4));
			}
			break;
			case 111:
			{
				result = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6));
			}
			break;
			case 84:
			{
				result = NIM_TRUE;
			}
			break;
			case 69:
			{
				result = ((7 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
			}
			break;
			case 101:
			case 120:
			case 110:
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
				if (T17_) goto LA18_;
				T17_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
				LA18_: ;
				result = T17_;
				{
					if (!result) goto LA21_;
					switch (((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]))) {
					case 35:
					{
						result = NIM_TRUE;
					}
					break;
					case 97 ... 122:
					case 65 ... 90:
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = (((NU8)(expr->data[i])) == ((NU8)(101)) || ((NU8)(expr->data[i])) == ((NU8)(120)));
						if (!(T25_)) goto LA26_;
						T25_ = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == ((NI) 1));
						LA26_: ;
						result = T25_;
					}
					break;
					case 48 ... 57:
					{
						NIM_BOOL T28_;
						T28_ = (NIM_BOOL)0;
						T28_ = (((NU8)(expr->data[i])) == ((NU8)(101)) || ((NU8)(expr->data[i])) == ((NU8)(110)));
						if (!(T28_)) goto LA29_;
						T28_ = allCharsInSet__pureZstrutils_1341((*p).tok->data[j].symbol, TM__6mNpeIAN05DnDNzb9b3611A_70);
						LA29_: ;
						result = T28_;
					}
					break;
					default:
					{
						result = NIM_FALSE;
					}
					break;
					}
				}
				LA21_: ;
			}
			break;
			default:
			{
				NIM_CHAR c;
				NI length;
				NIM_BOOL T36_;
				NIM_BOOL T37_;
				c = expr->data[i];
				length = ((NI) 0);
				{
					while (1) {
						NIM_BOOL T34_;
						T34_ = (NIM_BOOL)0;
						T34_ = (i <= last);
						if (!(T34_)) goto LA35_;
						T34_ = ((NU8)(expr->data[i]) == (NU8)(c));
						LA35_: ;
						if (!T34_) goto LA33;
						i += ((NI) 1);
						length += ((NI) 1);
					} LA33: ;
				}
				i -= ((NI) 1);
				T36_ = (NIM_BOOL)0;
				T37_ = (NIM_BOOL)0;
				T37_ = ((48 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
				if (!(T37_)) goto LA38_;
				T37_ = (((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) == length);
				LA38_: ;
				T36_ = T37_;
				if (!(T36_)) goto LA39_;
				T36_ = ((NU8)((*p).tok->data[j].symbol->data[((NI) 0)]) == (NU8)(c));
				LA39_: ;
				result = T36_;
			}
			break;
			}
			{
				if (!!(result)) goto LA42_;
				goto BeforeRet_;
			}
			LA42_: ;
			j += ((NI) 1);
			i += ((NI) 1);
		} LA2: ;
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFilename__packagesZdocutilsZrst_2007)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, NI32 fid) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI T5_;
		NimStringDesc* T8_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
		NI T10_;
		NimStringDesc* T11_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= ((NI) (fid)));
		if (!(T3_)) goto LA4_;
		T5_ = (NI)0;
		T5_ = len__packagesZdocutilsZrst_538(filenames);
		T3_ = (((NI) (fid)) < T5_);
		LA4_: ;
		if (!!(T3_)) goto LA6_;
		T8_ = NIM_NIL;
		nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		T9_[0] = dollar___systemZdollars_3(((NI) (fid)));
		T10_ = (NI)0;
		T10_ = len__packagesZdocutilsZrst_538(filenames);
		T9_[1] = dollar___systemZdollars_3((NI)(T10_ - ((NI) 1)));
		T11_ = NIM_NIL;
		T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_74), T9_, 2);
		T8_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 60);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_73));
appendString(T8_, T11_);
		failedAssertImpl__systemZassertions_56(T8_);
	}
	LA6_: ;
	result = copyString(filenames.idxToFilename->data[fid]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, currFilename__packagesZdocutilsZrst_2016)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = getFilename__packagesZdocutilsZrst_2007((*s).filenames, (*s).currFileIdx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, curLine__packagesZdocutilsZrst_2077)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = (NI)((*p).line + (*p).tok->data[(*p).idx].line);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2109)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind) {
	NimStringDesc* T1_;
	NI T2_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2016((*p).s);
	T2_ = (NI)0;
	T2_ = curLine__packagesZdocutilsZrst_2077(p);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, (*p).tok->data[(*p).idx].symbol, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_75)((*(*p).s).msgHandler.ClP_0))(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, (*p).tok->data[(*p).idx].symbol);
}
N_LIB_PRIVATE N_NIMCALL(NI, tokenAfterNewline__packagesZdocutilsZrst_5173)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start) {
	NI result;
	result = (NI)0;
	result = start;
	{
		while (1) {
			switch ((*p).tok->data[result].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				result += ((NI) 1);
				goto LA1;
			}
			break;
			default:
			{
				result += ((NI) 1);
			}
			break;
			}
		}
	} LA1: ;
	return result;
}
static N_INLINE(NI, tokenAfterNewline__packagesZdocutilsZrst_5185)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = tokenAfterNewline__packagesZdocutilsZrst_5173(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLineBlock__packagesZdocutilsZrst_5502)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*p).tok->data[(*p).idx].col == (*p).tok->data[j].col);
	if (!(T3_)) goto LA4_;
	T3_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = eqStrings((*p).tok->data[j].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
	LA6_: ;
	result = T1_;
	return result;
}
static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NI result;
{	result = (NI)0;
	result = ((NI) 0);
	{
		NimStringDesc** i;
		NI i_2;
		i = (NimStringDesc**)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < aLen_0)) goto LA3;
				i = (&a[i_2]);
				{
					if (!eqStrings((*i), item)) goto LA6_;
					goto BeforeRet_;
				}
				LA6_: ;
				result += ((NI) 1);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
	NIM_BOOL result;
	NI T1_;
{	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = find__stdZenumutils_48(a, aLen_0, item);
	result = (((NI) 0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2085)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* T1_;
	NI T2_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2016((*p).s);
	T2_ = (NI)0;
	T2_ = curLine__packagesZdocutilsZrst_2077(p);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_80)((*(*p).s).msgHandler.ClP_0))(T1_, T2_, (NI)((*p).col + (*p).tok->data[(*p).idx].col), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAdornmentHeadline__packagesZdocutilsZrst_5408)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI adornmentIdx) {
	NIM_BOOL result;
	NI headlineLen;
	NimStringDesc* failure;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_79, 3, (*p).tok->data[adornmentIdx].symbol);
		if (!T3_) goto LA4_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA4_: ;
	headlineLen = ((NI) 0);
	failure = ((NimStringDesc*) NIM_NIL);
	{
		NIM_BOOL T21_;
		if (!((*p).idx < adornmentIdx)) goto LA8_;
		{
			if (!(((NI) 0) < (*p).idx)) goto LA12_;
			headlineLen = (NI)((*p).tok->data[(*p).idx].col - (*p).tok->data[adornmentIdx].col);
		}
		LA12_: ;
		{
			if (!(((NI) 0) < headlineLen)) goto LA16_;
			rstMessage__packagesZdocutilsZrst_2085(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_81));
		}
		LA16_: ;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = (NI)(adornmentIdx - ((NI) 1));
			i_2 = (*p).idx;
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA20;
					i = i_2;
					headlineLen += ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0);
					i_2 += ((NI) 1);
				} LA20: ;
			}
		}
		T21_ = (NIM_BOOL)0;
		T21_ = (headlineLen <= ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0));
		if (!(T21_)) goto LA22_;
		T21_ = !((headlineLen == ((NI) 0)));
		LA22_: ;
		result = T21_;
		{
			NimStringDesc* T27_;
			if (!!(result)) goto LA25_;
			T27_ = NIM_NIL;
			T27_ = rawNewString(((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 27);
appendString(T27_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_82));
appendString(T27_, (*p).tok->data[adornmentIdx].symbol);
appendString(T27_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_83));
			failure = T27_;
		}
		LA25_: ;
	}
	goto LA6_;
	LA8_: ;
	{
		NI i_3;
		NIM_BOOL T31_;
		i_3 = (NI)((*p).idx + ((NI) 2));
		headlineLen = (NI)((*p).tok->data[i_3].col - (*p).tok->data[adornmentIdx].col);
		{
			while (1) {
				if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[i_3].kind)&7U)))!=0))) goto LA30;
				headlineLen += ((*p).tok->data[i_3].symbol ? (*p).tok->data[i_3].symbol->Sup.len : 0);
				i_3 += ((NI) 1);
			} LA30: ;
		}
		T31_ = (NIM_BOOL)0;
		T31_ = (headlineLen <= ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0));
		if (!(T31_)) goto LA32_;
		T31_ = !((headlineLen == ((NI) 0)));
		LA32_: ;
		result = T31_;
		{
			NIM_BOOL T37_;
			NIM_BOOL T38_;
			NIM_BOOL T39_;
			if (!result) goto LA35_;
			T37_ = (NIM_BOOL)0;
			T38_ = (NIM_BOOL)0;
			T39_ = (NIM_BOOL)0;
			T39_ = result;
			if (!(T39_)) goto LA40_;
			T39_ = ((*p).tok->data[i_3].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			LA40_: ;
			T38_ = T39_;
			if (!(T38_)) goto LA41_;
			T38_ = ((*p).tok->data[(NI)(i_3 + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4));
			LA41_: ;
			T37_ = T38_;
			if (!(T37_)) goto LA42_;
			T37_ = eqStrings((*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol, (*p).tok->data[adornmentIdx].symbol);
			LA42_: ;
			result = T37_;
			{
				NimStringDesc* T47_;
				if (!!(result)) goto LA45_;
				T47_ = NIM_NIL;
				T47_ = rawNewString(((*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol ? (*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol->Sup.len : 0) + ((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 41);
appendString(T47_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_82));
appendString(T47_, (*p).tok->data[(NI)(i_3 + ((NI) 1))].symbol);
appendString(T47_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_84));
appendString(T47_, (*p).tok->data[adornmentIdx].symbol);
appendString(T47_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_85));
				failure = T47_;
			}
			LA45_: ;
		}
		goto LA33_;
		LA35_: ;
		{
			NimStringDesc* T49_;
			T49_ = NIM_NIL;
			T49_ = rawNewString(((*p).tok->data[adornmentIdx].symbol ? (*p).tok->data[adornmentIdx].symbol->Sup.len : 0) + 26);
appendString(T49_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_86));
appendString(T49_, (*p).tok->data[adornmentIdx].symbol);
appendString(T49_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_83));
			failure = T49_;
		}
		LA33_: ;
	}
	LA6_: ;
	{
		if (!!(result)) goto LA52_;
		rstMessage__packagesZdocutilsZrst_2085(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), failure);
	}
	LA52_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadlinePattern__packagesZdocutilsZrst_5524)(NimStringDesc* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (s ? s->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((s ? s->Sup.len : 0) <= ((NI) 6));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			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 LA9;
					c = s->data[i];
					{
						if (!!(((NU8)(c) == (NU8)(35)))) goto LA12_;
						result = NIM_FALSE;
						goto BeforeRet_;
					}
					LA12_: ;
					i += ((NI) 1);
				} LA9: ;
			}
		}
		result = NIM_TRUE;
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMarkdownHeadline__packagesZdocutilsZrst_5528)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = isMarkdownHeadlinePattern__packagesZdocutilsZrst_5524((*p).tok->data[(*p).idx].symbol);
			if (!(T7_)) goto LA8_;
			T7_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			LA8_: ;
			if (!T7_) goto LA9_;
			{
				if (!((104 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind)&7U)))!=0)) goto LA13_;
				result = NIM_TRUE;
			}
			LA13_: ;
		}
		LA9_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, predNL__packagesZdocutilsZrst_5506)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	{
		NIM_BOOL T5_;
		NI T7_;
		if (!(((NI) 0) < (*p).idx)) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		if (!(T5_)) goto LA6_;
		T7_ = (NI)0;
		T7_ = currInd__packagesZdocutilsZrst_2113(p);
		T5_ = ((*p).tok->data[(NI)((*p).idx - ((NI) 1))].ival == T7_);
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, findPipe__packagesZdocutilsZrst_5543)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start) {
	NIM_BOOL result;
	NI i;
{	result = (NIM_BOOL)0;
	i = start;
	{
		while (1) {
			{
				if (!eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77))) goto LA5_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			LA5_: ;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA9_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA9_: ;
			i += ((NI) 1);
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOptionList__packagesZdocutilsZrst_5521)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_97));
	if (T3_) goto LA4_;
	T3_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_98));
	LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	T2_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_99));
	LA5_: ;
	T1_ = T2_;
	if (T1_) goto LA6_;
	T1_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_100));
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefList__packagesZdocutilsZrst_5513)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NI j;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	result = (NIM_BOOL)0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p).tok->data[(*p).idx].col < (*p).tok->data[j].col);
	if (!(T2_)) goto LA3_;
	T2_ = ((104 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T1_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67)));
	LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichSection__packagesZdocutilsZrst_5556)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
{	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	{
		if (!((48 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T7_)) goto LA8_;
			T7_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66));
			LA8_: ;
			if (!T7_) goto LA9_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51);
			goto BeforeRet_;
		}
		goto LA5_;
		LA9_: ;
		{
			if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67))) goto LA12_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25);
			goto BeforeRet_;
		}
		goto LA5_;
		LA12_: ;
		{
			NIM_BOOL T15_;
			T15_ = (NIM_BOOL)0;
			T15_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_68));
			if (!(T15_)) goto LA16_;
			T15_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0);
			LA16_: ;
			if (!T15_) goto LA17_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44);
			goto BeforeRet_;
		}
		goto LA5_;
		LA17_: ;
		LA5_: ;
	}
	LA3_: ;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
	{
		{
			NIM_BOOL T22_;
			T22_ = (NIM_BOOL)0;
			T22_ = match__packagesZdocutilsZrst_4285(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_71));
			if (!(T22_)) goto LA23_;
			T22_ = (((NI) 4) <= ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
			LA23_: ;
			if (!T22_) goto LA24_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4);
		}
		goto LA20_;
		LA24_: ;
		{
			NIM_BOOL T27_;
			T27_ = (NIM_BOOL)0;
			T27_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_72));
			if (!T27_) goto LA28_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 31);
			rstMessage__packagesZdocutilsZrst_2109(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 2));
		}
		goto LA20_;
		LA28_: ;
		{
			NIM_BOOL T31_;
			T31_ = (NIM_BOOL)0;
			T31_ = match__packagesZdocutilsZrst_4285(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_76));
			if (!T31_) goto LA32_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30);
		}
		goto LA20_;
		LA32_: ;
		{
			NIM_BOOL T35_;
			T35_ = (NIM_BOOL)0;
			T35_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
			if (!(T35_)) goto LA36_;
			T35_ = isLineBlock__packagesZdocutilsZrst_5502(p);
			LA36_: ;
			if (!T35_) goto LA37_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27);
		}
		goto LA20_;
		LA37_: ;
		{
			NIM_BOOL T40_;
			T40_ = (NIM_BOOL)0;
			T40_ = match__packagesZdocutilsZrst_4285(p, (NI)((*p).idx + ((NI) 1)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_78));
			if (!(T40_)) goto LA41_;
			T40_ = isAdornmentHeadline__packagesZdocutilsZrst_5408(p, (*p).idx);
			LA41_: ;
			if (!T40_) goto LA42_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2);
		}
		goto LA20_;
		LA42_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
		}
		LA20_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
	{
		{
			NIM_BOOL T48_;
			T48_ = (NIM_BOOL)0;
			T48_ = isMarkdownHeadline__packagesZdocutilsZrst_5528(p);
			if (!T48_) goto LA49_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3);
		}
		goto LA46_;
		LA49_: ;
		{
			NIM_BOOL T52_;
			NIM_BOOL T53_;
			NIM_BOOL T54_;
			T52_ = (NIM_BOOL)0;
			T53_ = (NIM_BOOL)0;
			T54_ = (NIM_BOOL)0;
			T54_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T54_)) goto LA55_;
			T54_ = predNL__packagesZdocutilsZrst_5506(p);
			LA55_: ;
			T53_ = T54_;
			if (!(T53_)) goto LA56_;
			T53_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_87));
			LA56_: ;
			T52_ = T53_;
			if (!(T52_)) goto LA57_;
			T52_ = findPipe__packagesZdocutilsZrst_5543(p, (NI)((*p).idx + ((NI) 3)));
			LA57_: ;
			if (!T52_) goto LA58_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32);
		}
		goto LA46_;
		LA58_: ;
		{
			NIM_BOOL T61_;
			T61_ = (NIM_BOOL)0;
			T61_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
			if (!(T61_)) goto LA62_;
			T61_ = isLineBlock__packagesZdocutilsZrst_5502(p);
			LA62_: ;
			if (!T61_) goto LA63_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27);
		}
		goto LA46_;
		LA63_: ;
		{
			NIM_BOOL T66_;
			NI T67_;
			NI T69_;
			T66_ = (NIM_BOOL)0;
			T67_ = (NI)0;
			T67_ = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
			T66_ = match__packagesZdocutilsZrst_4285(p, T67_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_88));
			if (!(T66_)) goto LA68_;
			T69_ = (NI)0;
			T69_ = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
			T66_ = isAdornmentHeadline__packagesZdocutilsZrst_5408(p, T69_);
			LA68_: ;
			if (!T66_) goto LA70_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1);
		}
		goto LA46_;
		LA70_: ;
		{
			NIM_BOOL T73_;
			T73_ = (NIM_BOOL)0;
			T73_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_89, 3, (*p).tok->data[(*p).idx].symbol);
			if (!(T73_)) goto LA74_;
			T73_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
			LA74_: ;
			if (!T73_) goto LA75_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6);
		}
		goto LA46_;
		LA75_: ;
		{
			NIM_BOOL T78_;
			T78_ = (NIM_BOOL)0;
			T78_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_93));
			if (!T78_) goto LA79_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14);
		}
		goto LA46_;
		LA79_: ;
		{
			NIM_BOOL T82_;
			NIM_BOOL T83_;
			T82_ = (NIM_BOOL)0;
			T83_ = (NIM_BOOL)0;
			T83_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_94));
			if (T83_) goto LA84_;
			T83_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_95));
			LA84_: ;
			T82_ = T83_;
			if (T82_) goto LA85_;
			T82_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_96));
			LA85_: ;
			if (!T82_) goto LA86_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8);
		}
		goto LA46_;
		LA86_: ;
		{
			NIM_BOOL T89_;
			T89_ = (NIM_BOOL)0;
			T89_ = isOptionList__packagesZdocutilsZrst_5521(p);
			if (!T89_) goto LA90_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18);
		}
		goto LA46_;
		LA90_: ;
		{
			NIM_BOOL T93_;
			T93_ = (NIM_BOOL)0;
			T93_ = isDefList__packagesZdocutilsZrst_5513(p);
			if (!T93_) goto LA94_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10);
		}
		goto LA46_;
		LA94_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
		}
		LA46_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
	{
		NI tokIdx;
		tokIdx = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
		{
			NIM_BOOL T100_;
			T100_ = (NIM_BOOL)0;
			T100_ = match__packagesZdocutilsZrst_4285(p, tokIdx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_88));
			if (!T100_) goto LA101_;
			{
				NIM_BOOL T105_;
				T105_ = (NIM_BOOL)0;
				T105_ = isAdornmentHeadline__packagesZdocutilsZrst_5408(p, tokIdx);
				if (!T105_) goto LA106_;
				result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1);
			}
			goto LA103_;
			LA106_: ;
			{
				result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
			}
			LA103_: ;
		}
		goto LA98_;
		LA101_: ;
		{
			NIM_BOOL T110_;
			T110_ = (NIM_BOOL)0;
			T110_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_95));
			if (T110_) goto LA111_;
			T110_ = match__packagesZdocutilsZrst_4285(p, (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_96));
			LA111_: ;
			if (!T110_) goto LA112_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8);
		}
		goto LA98_;
		LA112_: ;
		{
			NIM_BOOL T115_;
			T115_ = (NIM_BOOL)0;
			T115_ = isDefList__packagesZdocutilsZrst_5513(p);
			if (!T115_) goto LA116_;
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10);
		}
		goto LA98_;
		LA116_: ;
		{
			result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5);
		}
		LA98_: ;
	}
	break;
	default:
	{
		result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLiteralBlock__packagesZdocutilsZrst_5286)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25));
	n = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) NIM_NIL));
	{
		NI indent;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		indent = (*p).tok->data[(*p).idx].ival;
		{
			while (1) {
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6;
				(*p).idx += ((NI) 1);
			} LA6: ;
		}
		{
			while (1) {
				switch ((*p).tok->data[(*p).idx].kind) {
				case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
				{
					goto LA7;
				}
				break;
				case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
				{
					{
						if (!((*p).tok->data[(*p).idx].ival < indent)) goto LA13_;
						goto LA7;
					}
					goto LA11_;
					LA13_: ;
					{
						NimStringDesc* T16_;
						asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, 1));
appendString((*n)._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
						T16_ = NIM_NIL;
						T16_ = spaces__pureZstrutils_1029(((NI) ((NI)((*p).tok->data[(*p).idx].ival - indent))));
						asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, (T16_ ? T16_->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, T16_);
						(*p).idx += ((NI) 1);
					}
					LA11_: ;
				}
				break;
				default:
				{
					asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
					(*p).idx += ((NI) 1);
				}
				break;
				}
			}
		} LA7: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			while (1) {
				if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA20;
				asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
				(*p).idx += ((NI) 1);
			} LA20: ;
		}
	}
	LA1_: ;
	add__packagesZdocutilsZrstast_196(result, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseBulletList__packagesZdocutilsZrst_6062)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		NimStringDesc* bullet;
		NI col;
		if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA3_;
		bullet = copyString((*p).tok->data[(*p).idx].symbol);
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6));
		pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(NI)((*p).idx + ((NI) 2))].col);
		(*p).idx += ((NI) 2);
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 7), T7_, ((NimStringDesc*) NIM_NIL));
				parseSection__packagesZdocutilsZrst_5170(p, item);
				add__packagesZdocutilsZrstast_196(result, item);
				{
					NIM_BOOL T10_;
					NIM_BOOL T11_;
					NIM_BOOL T12_;
					T10_ = (NIM_BOOL)0;
					T11_ = (NIM_BOOL)0;
					T12_ = (NIM_BOOL)0;
					T12_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T12_)) goto LA13_;
					T12_ = ((*p).tok->data[(*p).idx].ival == col);
					LA13_: ;
					T11_ = T12_;
					if (!(T11_)) goto LA14_;
					T11_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, bullet);
					LA14_: ;
					T10_ = T11_;
					if (!(T10_)) goto LA15_;
					T10_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
					LA15_: ;
					if (!T10_) goto LA16_;
					(*p).idx += ((NI) 3);
				}
				goto LA8_;
				LA16_: ;
				{
					goto LA5;
				}
				LA8_: ;
			}
		} LA5: ;
		popInd__packagesZdocutilsZrst_2126(p);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseLineBlock__packagesZdocutilsZrst_5638)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		NI col;
		if (!((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0)) goto LA3_;
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27));
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
				T7_ = NIM_NIL;
				T7_ = NIM_NIL;
				item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 28), T7_, ((NimStringDesc*) NIM_NIL));
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA10_;
					{
						NimStringDesc* T16_;
						if (!(((NI) 1) < ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol ? (*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->Sup.len : 0))) goto LA14_;
						T16_ = NIM_NIL;
						T16_ = (*item)._kind_3.lineIndent; (*item)._kind_3.lineIndent = copyStringRC1((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol);
						if (T16_) nimGCunrefNoCycle(T16_);
					}
					LA14_: ;
					(*p).idx += ((NI) 2);
					pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].col);
					parseSection__packagesZdocutilsZrst_5170(p, item);
					popInd__packagesZdocutilsZrst_2126(p);
				}
				goto LA8_;
				LA10_: ;
				{
					NimStringDesc* T18_;
					T18_ = NIM_NIL;
					T18_ = (*item)._kind_3.lineIndent; (*item)._kind_3.lineIndent = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
					if (T18_) nimGCunrefNoCycle(T18_);
					(*p).idx += ((NI) 1);
				}
				LA8_: ;
				add__packagesZdocutilsZrstast_196(result, item);
				{
					NIM_BOOL T21_;
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					T21_ = (NIM_BOOL)0;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					T23_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T23_)) goto LA24_;
					T23_ = ((*p).tok->data[(*p).idx].ival == col);
					LA24_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA25_;
					T22_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
					LA25_: ;
					T21_ = T22_;
					if (!(T21_)) goto LA26_;
					T21_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 2))].kind)&7U)))!=0);
					LA26_: ;
					if (!T21_) goto LA27_;
					(*p).idx += ((NI) 1);
				}
				goto LA19_;
				LA27_: ;
				{
					goto LA5;
				}
				LA19_: ;
			}
		} LA5: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getRefname__packagesZdocutilsZrst_4061)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI startIdx, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result) {
	NI lastIdx;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	(*Result).Field1 = 0;
	lastIdx = getRefnameIdx__packagesZdocutilsZrst_4036(p, startIdx);
	(*Result).Field1 = lastIdx;
	{
		NI j;
		NI res;
		j = (NI)0;
		res = startIdx;
		{
			while (1) {
				if (!(res <= lastIdx)) goto LA3;
				j = res;
				unsureAsgnRef((void**) (&(*Result).Field0), resizeString((*Result).Field0, ((*p).tok->data[j].symbol ? (*p).tok->data[j].symbol->Sup.len : 0) + 0));
appendString((*Result).Field0, (*p).tok->data[j].symbol);
				res += ((NI) 1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2102)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg, NI line, NI col) {
	NimStringDesc* T1_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2016((*p).s);
	(*(*p).s).msgHandler.ClE_0? (*(*p).s).msgHandler.ClP_0(T1_, (NI)((*p).line + line), (NI)((*p).col + col), msgKind, arg, (*(*p).s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_103)((*(*p).s).msgHandler.ClP_0))(T1_, (NI)((*p).line + line), (NI)((*p).col + col), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getDirective__packagesZdocutilsZrst_5106)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = ((NimStringDesc*) NIM_NIL);
	{
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T5_;
		NimStringDesc* name;
		NI lastIdx;
		NI afterIdx;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4061((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T5_));
		name = NIM_NIL;
		name = T5_.Field0;
		lastIdx = (NI)0;
		lastIdx = T5_.Field1;
		afterIdx = (NI)(lastIdx + ((NI) 1));
		{
			if (!(((NI) 0) < (name ? name->Sup.len : 0))) goto LA8_;
			{
				if (!eqStrings((*p).tok->data[afterIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67))) goto LA12_;
				result = copyString(name);
				(*p).idx = (NI)(afterIdx + ((NI) 1));
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA16_;
					(*p).idx += ((NI) 1);
				}
				goto LA14_;
				LA16_: ;
				{
					NimStringDesc* T21_;
					if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)))) goto LA19_;
					T21_ = NIM_NIL;
					T21_ = rawNewString((name ? name->Sup.len : 0) + 47);
appendString(T21_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_101));
appendString(T21_, name);
					rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T21_);
				}
				goto LA14_;
				LA19_: ;
				LA14_: ;
				result = nsuToLowerAsciiStr(result);
			}
			goto LA10_;
			LA12_: ;
			{
				NimStringDesc* T25_;
				if (!eqStrings((*p).tok->data[afterIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102))) goto LA23_;
				T25_ = NIM_NIL;
				T25_ = rawNewString((name ? name->Sup.len : 0) + 43);
appendString(T25_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_104));
appendString(T25_, name);
appendString(T25_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_105));
				rstMessage__packagesZdocutilsZrst_2102((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T25_, (*p).tok->data[afterIdx].line, (*p).tok->data[afterIdx].col);
			}
			goto LA10_;
			LA23_: ;
			{
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*p).tok->data[afterIdx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
				if (!(T27_)) goto LA28_;
				T27_ = ((NU8)((*p).tok->data[afterIdx].symbol->data[((NI) 0)]) == (NU8)(58));
				LA28_: ;
				if (!T27_) goto LA29_;
				rstMessage__packagesZdocutilsZrst_2102((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_106), (*p).tok->data[afterIdx].line, (*p).tok->data[afterIdx].col);
			}
			goto LA10_;
			LA29_: ;
			LA10_: ;
		}
		LA8_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2474)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI iTok) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA));
	result.col = ((NI16) ((NI)((*p).col + (*p).tok->data[iTok].col)));
	result.line = ((NU16) ((NI)((*p).line + (*p).tok->data[iTok].line)));
	result.fileIndex = (*(*p).s).currFileIdx;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA, lineInfo__packagesZdocutilsZrst_2478)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA));
	result = lineInfo__packagesZdocutilsZrst_2474(p, (*p).idx);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, newLeaf__packagesZdocutilsZrst_4026)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = newRstLeaf__packagesZdocutilsZrstast_187((*p).tok->data[(*p).idx].symbol);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rstRuleSurround__packagesZdocutilsZrst_4192)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	{
		NIM_CHAR d;
		NIM_CHAR c;
		if (!(((NI) 0) < (*p).idx)) goto LA3_;
		d = (NIM_CHAR)0;
		c = (*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)];
		switch (((NU8)(c))) {
		case 39:
		case 34:
		{
			d = c;
		}
		break;
		case 40:
		{
			d = 41;
		}
		break;
		case 91:
		{
			d = 93;
		}
		break;
		case 123:
		{
			d = 125;
		}
		break;
		case 60:
		{
			d = 62;
		}
		break;
		default:
		{
			d = 0;
		}
		break;
		}
		{
			if (!!(((NU8)(d) == (NU8)(0)))) goto LA13_;
			result = !(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)]) == (NU8)(d)));
		}
		LA13_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstStart__packagesZdocutilsZrst_4204)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*p).idx == ((NI) 0));
	if (T2_) goto LA3_;
	T2_ = ((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T1_ = ((TM__6mNpeIAN05DnDNzb9b3611A_134[(NU)(((NU8)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol->data[((NI) 0)])))&7U)))!=0);
	LA4_: ;
	result = T1_;
	{
		if (!!(result)) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	result = !(((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA11_;
		goto BeforeRet_;
	}
	LA11_: ;
	result = rstRuleSurround__packagesZdocutilsZrst_4192(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownStart__packagesZdocutilsZrst_4197)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = !(((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	result = rstRuleSurround__packagesZdocutilsZrst_4192(p);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupStart__packagesZdocutilsZrst_4219)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!!(eqStrings(markup, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_128)))) goto LA3_;
		result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129));
		if (!(T6_)) goto LA7_;
		T6_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
		LA7_: ;
		result = T6_;
	}
	LA1_: ;
	{
		if (!!(result)) goto LA10_;
		goto BeforeRet_;
	}
	LA10_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		T14_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_131, 4, markup);
		if (!T14_) goto LA15_;
		result = inlineRstStart__packagesZdocutilsZrst_4204(p);
	}
	goto LA12_;
	LA15_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 3))&7U)))!=0)) goto LA20_;
			result = inlineMarkdownStart__packagesZdocutilsZrst_4197(p);
		}
		goto LA18_;
		LA20_: ;
		{
			result = inlineRstStart__packagesZdocutilsZrst_4204(p);
		}
		LA18_: ;
	}
	LA12_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineRstEnd__packagesZdocutilsZrst_4110)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T5_;
{	result = (NIM_BOOL)0;
	result = !(((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0));
	{
		if (!!(result)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = (NIM_BOOL)0;
	T5_ = ((7 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0);
	if (T5_) goto LA6_;
	T5_ = ((TM__6mNpeIAN05DnDNzb9b3611A_138[(NU)(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)])))&7U)))!=0);
	LA6_: ;
	result = T5_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inlineMarkdownEnd__packagesZdocutilsZrst_4103)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !(((6 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx - ((NI) 1))].kind)&7U)))!=0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInlineMarkupEnd__packagesZdocutilsZrst_4125)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* markup, NIM_BOOL exact) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!exact) goto LA3_;
		result = eqStrings((*p).tok->data[(*p).idx].symbol, markup);
	}
	goto LA1_;
	LA3_: ;
	{
		result = nsuEndsWith((*p).tok->data[(*p).idx].symbol, markup);
		{
			NIM_BOOL T8_;
			NIM_BOOL T12_;
			T8_ = (NIM_BOOL)0;
			T8_ = !(result);
			if (!(T8_)) goto LA9_;
			T8_ = eqStrings(markup, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_136));
			LA9_: ;
			if (!T8_) goto LA10_;
			T12_ = (NIM_BOOL)0;
			T12_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
			if (!(T12_)) goto LA13_;
			T12_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
			LA13_: ;
			result = T12_;
		}
		LA10_: ;
	}
	LA1_: ;
	{
		if (!!(result)) goto LA16_;
		goto BeforeRet_;
	}
	LA16_: ;
	{
		NIM_BOOL T20_;
		T20_ = (NIM_BOOL)0;
		T20_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_137, 2, markup);
		if (!T20_) goto LA21_;
		result = inlineRstEnd__packagesZdocutilsZrst_4110(p);
	}
	goto LA18_;
	LA21_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 3))&7U)))!=0)) goto LA26_;
			result = inlineMarkdownEnd__packagesZdocutilsZrst_4103(p);
		}
		goto LA24_;
		LA26_: ;
		{
			result = inlineRstEnd__packagesZdocutilsZrst_4110(p);
		}
		LA24_: ;
	}
	LA18_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
	NimStringDesc* result;
	NI a;
	NI L;
	result = NIM_NIL;
	a = x.a;
	L = (NI)((NI)(x.b - a) + ((NI) 1));
	result = mnewString(((NI) (L)));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < L)) goto LA3;
				i = i_2;
				result->data[i] = s->data[(NI)(i + a)];
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseBackslash__packagesZdocutilsZrst_4744)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65))) goto LA3_;
		(*p).idx += ((NI) 1);
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T9_;
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2)))) goto LA7_;
			T9_ = NIM_NIL;
			T9_ = newLeaf__packagesZdocutilsZrst_4026(p);
			add__packagesZdocutilsZrstast_196(father, T9_);
		}
		LA7_: ;
		{
			if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA12_;
			(*p).idx += ((NI) 1);
		}
		LA12_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T15_;
		T15_ = NIM_NIL;
		T15_ = newLeaf__packagesZdocutilsZrst_4026(p);
		add__packagesZdocutilsZrstast_196(father, T15_);
		(*p).idx += ((NI) 1);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntil__packagesZdocutilsZrst_4774)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NimStringDesc* postfix, NIM_BOOL interpretBackslash) {
	NI line;
	NI col;
	line = (*p).tok->data[(*p).idx].line;
	col = (*p).tok->data[(*p).idx].col;
	(*p).idx += ((NI) 1);
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					NIM_BOOL T6_;
					NI l;
					T6_ = (NIM_BOOL)0;
					T6_ = isInlineMarkupEnd__packagesZdocutilsZrst_4125((&(*p)), postfix, NIM_FALSE);
					if (!T6_) goto LA7_;
					l = ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0);
					{
						tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T13_;
						NimStringDesc* T14_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T15_;
						if (!((postfix ? postfix->Sup.len : 0) < l)) goto LA11_;
						T13_ = dotdot___pureZunicode_840(((NI) 0), (NI)((NI)(l - (postfix ? postfix->Sup.len : 0)) - ((NI) 1)));
						T14_ = NIM_NIL;
						T14_ = X5BX5D___pureZunicode_865((*p).tok->data[(*p).idx].symbol, T13_);
						T15_ = NIM_NIL;
						T15_ = newRstLeaf__packagesZdocutilsZrstast_187(T14_);
						add__packagesZdocutilsZrstast_196(father, T15_);
					}
					goto LA9_;
					LA11_: ;
					{
						NIM_BOOL T17_;
						NIM_BOOL T18_;
						NI T23_;
						T17_ = (NIM_BOOL)0;
						T18_ = (NIM_BOOL)0;
						T18_ = eqStrings(postfix, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_136));
						if (!(T18_)) goto LA19_;
						T18_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
						LA19_: ;
						T17_ = T18_;
						if (!(T17_)) goto LA20_;
						T17_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
						LA20_: ;
						if (!T17_) goto LA21_;
						T23_ = ((*father).sons ? (*father).sons->Sup.len : 0);
						asgnRef((void**) (&(*father).sons), (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) setLengthSeqV2(&((*father).sons)->Sup, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), ((NI) ((NI)(T23_ - ((NI) 1))))));
					}
					goto LA9_;
					LA21_: ;
					LA9_: ;
					(*p).idx += ((NI) 1);
					goto LA1;
				}
				goto LA4_;
				LA7_: ;
				{
					{
						if (!eqStrings(postfix, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130))) goto LA27_;
						{
							if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65))) goto LA31_;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T37_;
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T38_;
								if (!eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65))) goto LA35_;
								T37_ = NIM_NIL;
								T37_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65));
								add__packagesZdocutilsZrstast_196(father, T37_);
								T38_ = NIM_NIL;
								T38_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65));
								add__packagesZdocutilsZrstast_196(father, T38_);
								(*p).idx += ((NI) 2);
							}
							goto LA33_;
							LA35_: ;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T42_;
								if (!eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130))) goto LA40_;
								T42_ = NIM_NIL;
								T42_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
								add__packagesZdocutilsZrstast_196(father, T42_);
								(*p).idx += ((NI) 2);
							}
							goto LA33_;
							LA40_: ;
							{
								tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T44_;
								T44_ = NIM_NIL;
								T44_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65));
								add__packagesZdocutilsZrstast_196(father, T44_);
								(*p).idx += ((NI) 1);
							}
							LA33_: ;
						}
						goto LA29_;
						LA31_: ;
						{
							tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T46_;
							T46_ = NIM_NIL;
							T46_ = newLeaf__packagesZdocutilsZrst_4026(p);
							add__packagesZdocutilsZrstast_196(father, T46_);
							(*p).idx += ((NI) 1);
						}
						LA29_: ;
					}
					goto LA25_;
					LA27_: ;
					{
						{
							if (!interpretBackslash) goto LA50_;
							parseBackslash__packagesZdocutilsZrst_4744(p, father);
						}
						goto LA48_;
						LA50_: ;
						{
							tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T53_;
							T53_ = NIM_NIL;
							T53_ = newLeaf__packagesZdocutilsZrst_4026(p);
							add__packagesZdocutilsZrstast_196(father, T53_);
							(*p).idx += ((NI) 1);
						}
						LA48_: ;
					}
					LA25_: ;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T55_;
				T55_ = NIM_NIL;
				T55_ = newLeaf__packagesZdocutilsZrst_4026(p);
				add__packagesZdocutilsZrstast_196(father, T55_);
				(*p).idx += ((NI) 1);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T57_;
				T57_ = NIM_NIL;
				T57_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
				add__packagesZdocutilsZrstast_196(father, T57_);
				(*p).idx += ((NI) 1);
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA60_;
					rstMessage__packagesZdocutilsZrst_2102((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), postfix, line, col);
					goto LA1;
				}
				LA60_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T63_;
				T63_ = NIM_NIL;
				T63_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
				add__packagesZdocutilsZrstast_196(father, T63_);
				(*p).idx += ((NI) 1);
			}
			break;
			default:
			{
				rstMessage__packagesZdocutilsZrst_2102((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), postfix, line, col);
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rstnodeToRefnameAux__packagesZdocutilsZrst_2173)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** r, NIM_BOOL* b) {
{	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73))) goto LA7_;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = ((*n)._kind_1.text ? (*n)._kind_1.text->Sup.len : 0);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA11;
					i = i_2;
					switch (((NU8)((*n)._kind_1.text->data[i]))) {
					case 48 ... 57:
					{
						{
							if (!(*b)) goto LA15_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA15_: ;
						{
							if (!(((*r) ? (*r)->Sup.len : 0) == ((NI) 0))) goto LA19_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 90));
						}
						LA19_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n)._kind_1.text->data[i]));
					}
					break;
					case 97 ... 122:
					case 128 ... 255:
					{
						{
							if (!(*b)) goto LA24_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA24_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), (*n)._kind_1.text->data[i]));
					}
					break;
					case 65 ... 90:
					{
						{
							if (!(*b)) goto LA29_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA29_: ;
						unsureAsgnRef((void**) (&(*r)), addChar((*r), ((NIM_CHAR) (((NI) ((NI)((NI)(((NU8)((*n)._kind_1.text->data[i])) - ((NI) 65)) + ((NI) 97))))))));
					}
					break;
					case 36:
					{
						{
							if (!(*b)) goto LA34_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA34_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 6));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_141));
					}
					break;
					case 37:
					{
						{
							if (!(*b)) goto LA39_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA39_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 7));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_142));
					}
					break;
					case 38:
					{
						{
							if (!(*b)) goto LA44_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA44_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_143));
					}
					break;
					case 94:
					{
						{
							if (!(*b)) goto LA49_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA49_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_144));
					}
					break;
					case 33:
					{
						{
							if (!(*b)) goto LA54_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA54_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_145));
					}
					break;
					case 63:
					{
						{
							if (!(*b)) goto LA59_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA59_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_146));
					}
					break;
					case 42:
					{
						{
							if (!(*b)) goto LA64_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA64_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_147));
					}
					break;
					case 43:
					{
						{
							if (!(*b)) goto LA69_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA69_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 4));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_148));
					}
					break;
					case 45:
					{
						{
							if (!(*b)) goto LA74_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA74_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_149));
					}
					break;
					case 47:
					{
						{
							if (!(*b)) goto LA79_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA79_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_150));
					}
					break;
					case 92:
					{
						{
							if (!(*b)) goto LA84_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA84_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 9));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_151));
					}
					break;
					case 61:
					{
						{
							if (!(*b)) goto LA89_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA89_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_152));
					}
					break;
					case 60:
					{
						{
							if (!(*b)) goto LA94_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA94_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_153));
					}
					break;
					case 62:
					{
						{
							if (!(*b)) goto LA99_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA99_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_154));
					}
					break;
					case 126:
					{
						{
							if (!(*b)) goto LA104_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA104_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_155));
					}
					break;
					case 58:
					{
						{
							if (!(*b)) goto LA109_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA109_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 5));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_156));
					}
					break;
					case 46:
					{
						{
							if (!(*b)) goto LA114_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA114_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_157));
					}
					break;
					case 64:
					{
						{
							if (!(*b)) goto LA119_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA119_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 2));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_158));
					}
					break;
					case 124:
					{
						{
							if (!(*b)) goto LA124_;
							unsureAsgnRef((void**) (&(*r)), addChar((*r), 45));
							(*b) = NIM_FALSE;
						}
						LA124_: ;
						unsureAsgnRef((void**) (&(*r)), resizeString((*r), 3));
appendString((*r), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_159));
					}
					break;
					default:
					{
						{
							if (!(((NI) 0) < ((*r) ? (*r)->Sup.len : 0))) goto LA129_;
							(*b) = NIM_TRUE;
						}
						LA129_: ;
					}
					break;
					}
					i_2 += ((NI) 1);
				} LA11: ;
			}
		}
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__packagesZdocutilsZrstast_102(n);
			i_4 = ((NI) 0);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA134;
					i_3 = i_4;
					rstnodeToRefnameAux__packagesZdocutilsZrst_2173((*n).sons->data[i_3], r, b);
					i_4 += ((NI) 1);
				} LA134: ;
			}
		}
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rstnodeToRefname__packagesZdocutilsZrst_59)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	NIM_BOOL b;
	result = NIM_NIL;
	b = NIM_FALSE;
	rstnodeToRefnameAux__packagesZdocutilsZrst_2173(n, (&result), (&b));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownCodeblock__packagesZdocutilsZrst_4856)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* lb;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T18_;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51));
	(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T1_, ((NimStringDesc*) NIM_NIL));
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T6_;
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = newLeaf__packagesZdocutilsZrst_4026(p);
		add__packagesZdocutilsZrstast_196(args, T6_);
		(*p).idx += ((NI) 1);
	}
	goto LA2_;
	LA4_: ;
	{
		args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	}
	LA2_: ;
	n = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			{
				rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66));
				goto LA8;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			{
				{
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66))) goto LA14_;
					(*p).idx += ((NI) 1);
					goto LA8;
				}
				goto LA12_;
				LA14_: ;
				{
					asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
					(*p).idx += ((NI) 1);
				}
				LA12_: ;
			}
			break;
			default:
			{
				asgnRef((void**) (&(*n)._kind_1.text), resizeString((*n)._kind_1.text, ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString((*n)._kind_1.text, (*p).tok->data[(*p).idx].symbol);
				(*p).idx += ((NI) 1);
			}
			break;
			}
		}
	} LA8: ;
	T18_ = NIM_NIL;
	T18_ = NIM_NIL;
	lb = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T18_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_196(lb, n);
	add__packagesZdocutilsZrstast_196(result, args);
	add__packagesZdocutilsZrstast_196(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	add__packagesZdocutilsZrstast_196(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, whichRole__packagesZdocutilsZrst_4384)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* sym) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	result = whichRoleAux__packagesZdocutilsZrst_530(sym);
	{
		if (!(result == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2085(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 12), sym);
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toInlineCode__packagesZdocutilsZrst_4392)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* language) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T2_;
	NimStringDesc* lang;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T10_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* lb;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T11_;
	NimStringDesc* s;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58), (*n)._kind_7.info, T1_);
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T2_, ((NimStringDesc*) NIM_NIL));
	lang = copyString(language);
	{
		if (!eqStrings(language, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_161))) goto LA5_;
		lang = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_162));
	}
	goto LA3_;
	LA5_: ;
	{
		if (!eqStrings(language, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_163))) goto LA8_;
		lang = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_164));
	}
	goto LA3_;
	LA8_: ;
	LA3_: ;
	T10_ = NIM_NIL;
	T10_ = newRstLeaf__packagesZdocutilsZrstast_187(lang);
	add__packagesZdocutilsZrstast_196(args, T10_);
	add__packagesZdocutilsZrstast_196(result, args);
	add__packagesZdocutilsZrstast_196(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	T11_ = NIM_NIL;
	T11_ = NIM_NIL;
	lb = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T11_, ((NimStringDesc*) NIM_NIL));
	s = NIM_NIL;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** i;
		NI i_2;
		NI L;
		NI T13_;
		i = (tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ**)0;
		i_2 = ((NI) 0);
		T13_ = ((*n).sons ? (*n).sons->Sup.len : 0);
		L = T13_;
		{
			while (1) {
				if (!(i_2 < L)) goto LA15;
				i = &(*n).sons->data[i_2];
				s = resizeString(s, ((*(*i))._kind_1.text ? (*(*i))._kind_1.text->Sup.len : 0) + 0);
appendString(s, (*(*i))._kind_1.text);
				i_2 += ((NI) 1);
			} LA15: ;
		}
	}
	T16_ = NIM_NIL;
	T16_ = newRstLeaf__packagesZdocutilsZrstast_187(s);
	add__packagesZdocutilsZrstast_196(lb, T16_);
	add__packagesZdocutilsZrstast_196(result, lb);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, toOtherRole__packagesZdocutilsZrst_4411)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, NimStringDesc* roleName) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* newN;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
	result = NIM_NIL;
	newN = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
	newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
	asgnRef((void**) (&newSons->data[0]), newN);
	asgnRef((void**) (&newSons->data[1]), newRstLeaf__packagesZdocutilsZrstast_187(roleName));
	result = newRstNode__packagesZdocutilsZrstast_109(kind, newSons, ((NimStringDesc*) NIM_NIL));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixupEmbeddedRef__packagesZdocutilsZrst_4360)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b) {
	NI sep;
	NI incr;
	sep = ((NI) -1);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__packagesZdocutilsZrstast_102(n);
		colontmp_ = (NI)(T2_ - ((NI) 2));
		res = colontmp_;
		{
			while (1) {
				if (!(((NI) 0) <= res)) goto LA4;
				i = res;
				{
					if (!eqStrings((*(*n).sons->data[i])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_166))) goto LA7_;
					sep = i;
					goto LA1;
				}
				LA7_: ;
				res -= ((NI) 1);
			} LA4: ;
		}
	} LA1: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = (((NI) 0) < sep);
		if (!(T11_)) goto LA12_;
		T11_ = ((NU8)((*(*n).sons->data[(NI)(sep - ((NI) 1))])._kind_1.text->data[((NI) 0)]) == (NU8)(32));
		LA12_: ;
		if (!T11_) goto LA13_;
		incr = ((NI) 2);
	}
	goto LA9_;
	LA13_: ;
	{
		incr = ((NI) 1);
	}
	LA9_: ;
	{
		NI i_2;
		NI colontmp__2;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = (NI)(sep - incr);
		res_2 = ((NI) 0);
		{
			while (1) {
				if (!(res_2 <= colontmp__2)) goto LA18;
				i_2 = res_2;
				add__packagesZdocutilsZrstast_196(a, (*n).sons->data[i_2]);
				res_2 += ((NI) 1);
			} LA18: ;
		}
	}
	{
		NI i_3;
		NI colontmp__3;
		NI colontmp__4;
		NI T20_;
		NI res_3;
		i_3 = (NI)0;
		colontmp__3 = (NI)0;
		colontmp__4 = (NI)0;
		colontmp__3 = (NI)(sep + ((NI) 1));
		T20_ = (NI)0;
		T20_ = len__packagesZdocutilsZrstast_102(n);
		colontmp__4 = (NI)(T20_ - ((NI) 2));
		res_3 = colontmp__3;
		{
			while (1) {
				if (!(res_3 <= colontmp__4)) goto LA22;
				i_3 = res_3;
				add__packagesZdocutilsZrstast_196(b, (*n).sons->data[i_3]);
				res_3 += ((NI) 1);
			} LA22: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, addNodesAux__packagesZdocutilsZrst_2158)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc** result) {
	{
		if (!((*n).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73))) goto LA3_;
		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*n)._kind_1.text ? (*n)._kind_1.text->Sup.len : 0) + 0));
appendString((*result), (*n)._kind_1.text);
	}
	goto LA1_;
	LA3_: ;
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__packagesZdocutilsZrstast_102(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					addNodesAux__packagesZdocutilsZrst_2158((*n).sons->data[i], result);
					i_2 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addNodes__packagesZdocutilsZrst_61)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	addNodesAux__packagesZdocutilsZrst_2158(n, (&result));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setRef__packagesZdocutilsZrst_2278)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw T15_;
	NI T16_;
	NimStringDesc* T17_;
{	T1_ = ((*(*p).s).refs ? (*(*p).s).refs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < length)) goto LA4;
				i = i_2;
				{
					if (!eqStrings(key, (*(*p).s).refs->data[i].key)) goto LA7_;
					{
						NimStringDesc* T11_;
						NimStringDesc* T12_;
						T11_ = NIM_NIL;
						T11_ = addNodes__packagesZdocutilsZrst_61((*(*p).s).refs->data[i].value);
						T12_ = NIM_NIL;
						T12_ = addNodes__packagesZdocutilsZrst_61(value);
						if (!!(eqStrings(T11_, T12_))) goto LA13_;
						rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), key);
					}
					LA13_: ;
					asgnRef((void**) (&(*(*p).s).refs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T15_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	nimZeroMem((void*)(&T15_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	T15_.key = copyString(key);
	T15_.value = value;
	asgnRef((void**) (&(*(*p).s).refs), (tySequence__lrunEzM3UiMYKPLPCTNo0w*) incrSeqV3((TGenericSeq*)((*(*p).s).refs), (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_)));
	T16_ = (*(*p).s).refs->Sup.len++;
	T17_ = NIM_NIL;
	T17_ = (*(*p).s).refs->data[T16_].key; (*(*p).s).refs->data[T16_].key = copyStringRC1(T15_.key);
	if (T17_) nimGCunrefNoCycle(T17_);
	asgnRef((void**) (&(*(*p).s).refs->data[T16_].value), T15_.value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, finalizeInterpreted__packagesZdocutilsZrst_4437)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* node, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind, tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons, NimStringDesc* roleName) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60) || newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59))) goto LA3_;
		result = toOtherRole__packagesZdocutilsZrst_4411(node, newKind, roleName);
	}
	goto LA1_;
	LA3_: ;
	{
		if (!(newKind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58))) goto LA6_;
		result = toInlineCode__packagesZdocutilsZrst_4392(node, roleName);
	}
	goto LA1_;
	LA6_: ;
	{
		result = newRstNode__packagesZdocutilsZrstast_109(newKind, newSons, ((NimStringDesc*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parsePostfix__packagesZdocutilsZrst_4431)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ newKind;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
	result = NIM_NIL;
	newKind = (*n).kind;
	genericSeqAssign((&newSons), (*n).sons, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4125((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129), NIM_TRUE);
		if (T3_) goto LA4_;
		T3_ = isInlineMarkupEnd__packagesZdocutilsZrst_4125((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_132), NIM_TRUE);
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
		{
			NIM_BOOL T9_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T13_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T14_;
			T9_ = (NIM_BOOL)0;
			T9_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
			if (!(T9_)) goto LA10_;
			T9_ = eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 3))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_165));
			LA10_: ;
			if (!T9_) goto LA11_;
			T13_ = NIM_NIL;
			T13_ = NIM_NIL;
			a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T13_, ((NimStringDesc*) NIM_NIL));
			T14_ = NIM_NIL;
			T14_ = NIM_NIL;
			b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T14_, ((NimStringDesc*) NIM_NIL));
			fixupEmbeddedRef__packagesZdocutilsZrst_4360(n, a, b);
			{
				NI T17_;
				T17_ = (NI)0;
				T17_ = len__packagesZdocutilsZrstast_102(a);
				if (!(T17_ == ((NI) 0))) goto LA18_;
				newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 39);
				newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 1);
				asgnRef((void**) (&newSons->data[0]), b);
			}
			goto LA15_;
			LA18_: ;
			{
				NimStringDesc* T21_;
				newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40);
				newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeq((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
				asgnRef((void**) (&newSons->data[0]), a);
				asgnRef((void**) (&newSons->data[1]), b);
				T21_ = NIM_NIL;
				T21_ = rstnodeToRefname__packagesZdocutilsZrst_59(a);
				setRef__packagesZdocutilsZrst_2278(p, T21_, b);
			}
			LA15_: ;
			result = newRstNode__packagesZdocutilsZrstast_109(newKind, newSons, ((NimStringDesc*) NIM_NIL));
		}
		goto LA7_;
		LA11_: ;
		{
			newKind = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41);
			result = newRstNode__packagesZdocutilsZrstast_157(newKind, (*n)._kind_7.info, newSons);
		}
		LA7_: ;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T24_;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T27_;
		NimStringDesc* roleName;
		NI lastIdx;
		T24_ = (NIM_BOOL)0;
		T24_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_160));
		if (!T24_) goto LA25_;
		nimZeroMem((void*)(&T27_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		getRefname__packagesZdocutilsZrst_4061((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T27_));
		roleName = NIM_NIL;
		roleName = T27_.Field0;
		lastIdx = (NI)0;
		lastIdx = T27_.Field1;
		newKind = whichRole__packagesZdocutilsZrst_4384((&(*p)), roleName);
		result = finalizeInterpreted__packagesZdocutilsZrst_4437(n, newKind, newSons, roleName);
		(*p).idx = (NI)(lastIdx + ((NI) 2));
	}
	goto LA1_;
	LA25_: ;
	{
		result = finalizeInterpreted__packagesZdocutilsZrst_4437(n, (*(*p).s).currRoleKind, newSons, (*(*p).s).currRole);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA)(void* p, NI op) {
	tySequence__lBgZ7a89beZGYPl8PiANMTA* a;
	NI T1_;
	a = (tySequence__lBgZ7a89beZGYPl8PiANMTA*)p;
	T1_ = (NI)0;
}
static N_INLINE(NIM_BOOL, checkParen__packagesZdocutilsZrst_4634)(tyObject_Token__E0ilHwDrlCLqd7buwAkizA* token, tySequence__lBgZ7a89beZGYPl8PiANMTA** parensStack) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		NIM_CHAR c;
		if (!((*token).kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA3_;
		c = (*token).symbol->data[((NI) 0)];
		{
			NI T9_;
			if (!(((NU8)(c)) == ((NU8)(40)) || ((NU8)(c)) == ((NU8)(91)) || ((NU8)(c)) == ((NU8)(123)))) goto LA7_;
			unsureAsgnRef((void**) (&(*parensStack)), (tySequence__lBgZ7a89beZGYPl8PiANMTA*) incrSeqV3((TGenericSeq*)((*parensStack)), (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_)));
			T9_ = (*parensStack)->Sup.len++;
			(*parensStack)->data[T9_] = c;
		}
		goto LA5_;
		LA7_: ;
		{
			if (!(((NU8)(c)) == ((NU8)(41)) || ((NU8)(c)) == ((NU8)(93)) || ((NU8)(c)) == ((NU8)(125)))) goto LA11_;
			{
				NI i;
				NI colontmp_;
				NI T14_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				T14_ = ((*parensStack) ? (*parensStack)->Sup.len : 0);
				colontmp_ = (NI)(T14_ - ((NI) 1));
				res = colontmp_;
				{
					while (1) {
						if (!(((NI) 0) <= res)) goto LA16;
						i = res;
						{
							NIM_BOOL T19_;
							NIM_BOOL T20_;
							NIM_BOOL T21_;
							NIM_BOOL T24_;
							NIM_BOOL T27_;
							T19_ = (NIM_BOOL)0;
							T20_ = (NIM_BOOL)0;
							T21_ = (NIM_BOOL)0;
							T21_ = ((NU8)((*parensStack)->data[i]) == (NU8)(40));
							if (!(T21_)) goto LA22_;
							T21_ = ((NU8)(c) == (NU8)(41));
							LA22_: ;
							T20_ = T21_;
							if (T20_) goto LA23_;
							T24_ = (NIM_BOOL)0;
							T24_ = ((NU8)((*parensStack)->data[i]) == (NU8)(91));
							if (!(T24_)) goto LA25_;
							T24_ = ((NU8)(c) == (NU8)(93));
							LA25_: ;
							T20_ = T24_;
							LA23_: ;
							T19_ = T20_;
							if (T19_) goto LA26_;
							T27_ = (NIM_BOOL)0;
							T27_ = ((NU8)((*parensStack)->data[i]) == (NU8)(123));
							if (!(T27_)) goto LA28_;
							T27_ = ((NU8)(c) == (NU8)(125));
							LA28_: ;
							T19_ = T27_;
							LA26_: ;
							if (!T19_) goto LA29_;
							unsureAsgnRef((void**) (&(*parensStack)), (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&((*parensStack))->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) (i))));
							result = NIM_TRUE;
							goto LA13;
						}
						LA29_: ;
						res -= ((NI) 1);
					} LA16: ;
				}
			} LA13: ;
		}
		goto LA5_;
		LA11_: ;
		LA5_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseMarkdownLink__packagesZdocutilsZrst_4882)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	NIM_BOOL result;
	NimStringDesc* desc;
	NimStringDesc* link;
	NI i;
	tySequence__lBgZ7a89beZGYPl8PiANMTA* parensStack;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* child;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T29_;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	desc = ((NimStringDesc*) NIM_NIL);
	link = ((NimStringDesc*) NIM_NIL);
	i = (*p).idx;
	parensStack = NIM_NIL;
	parensStack = (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&(parensStack)->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) 0));
	i += ((NI) 1);
	{
		while (1) {
			NIM_BOOL isClosingX60gensym191_;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA5_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA5_: ;
			isClosingX60gensym191_ = checkParen__packagesZdocutilsZrst_4634((&(*p).tok->data[i]), (&parensStack));
			{
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_167));
				if (!(T9_)) goto LA10_;
				T9_ = !(isClosingX60gensym191_);
				LA10_: ;
				if (!T9_) goto LA11_;
				goto LA1;
			}
			LA11_: ;
			desc = resizeString(desc, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(desc, (*p).tok->data[i].symbol);
			i += ((NI) 1);
		}
	} LA1: ;
	i += ((NI) 1);
	{
		if (!!(eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_47)))) goto LA15_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA15_: ;
	parensStack = (tySequence__lBgZ7a89beZGYPl8PiANMTA*) setLengthSeqV2(&(parensStack)->Sup, (&NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_), ((NI) 0));
	i += ((NI) 1);
	{
		while (1) {
			NIM_BOOL isClosingX60gensym194_;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA21_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			LA21_: ;
			isClosingX60gensym194_ = checkParen__packagesZdocutilsZrst_4634((&(*p).tok->data[i]), (&parensStack));
			{
				NIM_BOOL T25_;
				T25_ = (NIM_BOOL)0;
				T25_ = eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_49));
				if (!(T25_)) goto LA26_;
				T25_ = !(isClosingX60gensym194_);
				LA26_: ;
				if (!T25_) goto LA27_;
				goto LA17;
			}
			LA27_: ;
			link = resizeString(link, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(link, (*p).tok->data[i].symbol);
			i += ((NI) 1);
		}
	} LA17: ;
	i += ((NI) 1);
	T29_ = NIM_NIL;
	T29_ = NIM_NIL;
	child = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40), T29_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_203(child, desc);
	add__packagesZdocutilsZrstast_203(child, link);
	add__packagesZdocutilsZrstast_196(father, child);
	(*p).idx = i;
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnoteName__packagesZdocutilsZrst_4969)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL reference) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI i;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
{	result = NIM_NIL;
	i = (NI)((*p).idx + ((NI) 1));
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T53_;
			{
				if (!((7 &((NU8)1<<((NU)((*p).tok->data[i].kind)&7U)))!=0)) goto LA6_;
				result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
				goto BeforeRet_;
			}
			LA6_: ;
			{
				if (!((*p).tok->data[i].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA10_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_167))) goto LA12_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69))) goto LA13_;
				if (eqStrings((*p).tok->data[i].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91))) goto LA14_;
				goto LA15_;
				LA12_: ;
				{
					{
						NIM_BOOL T20_;
						NIM_BOOL T22_;
						NIM_BOOL T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = ((NI)((*p).idx + ((NI) 1)) < i);
						if (!(T20_)) goto LA21_;
						T22_ = (NIM_BOOL)0;
						T22_ = !(reference);
						if (T22_) goto LA23_;
						T24_ = (NIM_BOOL)0;
						T24_ = ((*p).tok->data[(NI)(i + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
						if (!(T24_)) goto LA25_;
						T24_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129));
						LA25_: ;
						T22_ = T24_;
						LA23_: ;
						T20_ = T22_;
						LA21_: ;
						if (!T20_) goto LA26_;
						i += ((NI) 1);
						{
							if (!reference) goto LA30_;
							i += ((NI) 1);
						}
						LA30_: ;
						goto LA2;
					}
					goto LA18_;
					LA26_: ;
					{
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA18_: ;
				}
				goto LA16_;
				LA13_: ;
				{
					{
						if (!!((i == (NI)((*p).idx + ((NI) 1))))) goto LA36_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA36_: ;
				}
				goto LA16_;
				LA14_: ;
				{
					{
						NIM_BOOL T41_;
						NIM_BOOL T42_;
						T41_ = (NIM_BOOL)0;
						T42_ = (NIM_BOOL)0;
						T42_ = !((i == (NI)((*p).idx + ((NI) 1))));
						if (!(T42_)) goto LA43_;
						T42_ = !(((*p).tok->data[i].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5)));
						LA43_: ;
						T41_ = T42_;
						if (!(T41_)) goto LA44_;
						T41_ = !(eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_167)));
						LA44_: ;
						if (!T41_) goto LA45_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA45_: ;
				}
				goto LA16_;
				LA15_: ;
				{
					{
						NIM_BOOL T50_;
						T50_ = (NIM_BOOL)0;
						T50_ = validRefnamePunct__packagesZdocutilsZrst_4029((*p).tok->data[i].symbol);
						if (!!(T50_)) goto LA51_;
						result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
						goto BeforeRet_;
					}
					LA51_: ;
				}
				LA16_: ;
			}
			LA10_: ;
			T53_ = NIM_NIL;
			T53_ = newRstLeaf__packagesZdocutilsZrstast_187((*p).tok->data[i].symbol);
			add__packagesZdocutilsZrstast_196(result, T53_);
			i += ((NI) 1);
		}
	} LA2: ;
	(*p).idx = i;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler__system_2565;
	excHandler__system_2565 = s;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__system_2565 = (*excHandler__system_2565).prev;
}
static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__NsOXiclpudEmVBDvfdmAhQ, getFootnoteType__packagesZdocutilsZrst_4939)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label) {
	tyTuple__NsOXiclpudEmVBDvfdmAhQ volatile result;
	nimZeroMem((void*)(&result), sizeof(tyTuple__NsOXiclpudEmVBDvfdmAhQ));
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = ((*label).sons ? (*label).sons->Sup.len : 0);
		T4_ = (((NI) 1) <= T5_);
		if (!(T4_)) goto LA6_;
		T4_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA6_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA7_;
		T3_ = eqStrings((*(*label).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
		LA7_: ;
		if (!T3_) goto LA8_;
		{
			NI T12_;
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp_;
			NI colontmp__2;
			T12_ = ((*label).sons ? (*label).sons->Sup.len : 0);
			if (!(T12_ == ((NI) 1))) goto LA13_;
			colontmp_ = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1);
			colontmp__2 = ((NI) -1);
			result.Field0 = colontmp_;
			result.Field1 = colontmp__2;
		}
		goto LA10_;
		LA13_: ;
		{
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__3;
			NI colontmp__4;
			colontmp__3 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2);
			colontmp__4 = ((NI) -1);
			result.Field0 = colontmp__3;
			result.Field1 = colontmp__4;
		}
		LA10_: ;
	}
	goto LA1_;
	LA8_: ;
	{
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		NI T19_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__5;
		NI colontmp__6;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T19_ = (NI)0;
		T19_ = len__packagesZdocutilsZrstast_102(label);
		T18_ = (T19_ == ((NI) 1));
		if (!(T18_)) goto LA20_;
		T18_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA20_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA21_;
		T17_ = eqStrings((*(*label).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91));
		LA21_: ;
		if (!T17_) goto LA22_;
		colontmp__5 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3);
		colontmp__6 = ((NI) -1);
		result.Field0 = colontmp__5;
		result.Field1 = colontmp__6;
	}
	goto LA1_;
	LA22_: ;
	{
		NIM_BOOL T25_;
		NI T26_;
		TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_168;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__7;
		NI colontmp__8;
		T25_ = (NIM_BOOL)0;
		T26_ = (NI)0;
		T26_ = len__packagesZdocutilsZrstast_102(label);
		T25_ = (T26_ == ((NI) 1));
		if (!(T25_)) goto LA27_;
		T25_ = ((*(*label).sons->data[((NI) 0)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73));
		LA27_: ;
		if (!T25_) goto LA28_;
		pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_168);
		TM__6mNpeIAN05DnDNzb9b3611A_168.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_168.context);
		if (TM__6mNpeIAN05DnDNzb9b3611A_168.status == 0) {
		colontmp__7 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0);
		colontmp__8 = nsuParseInt((*(*label).sons->data[((NI) 0)])._kind_1.text);
		result.Field0 = colontmp__7;
		result.Field1 = colontmp__8;
		popSafePoint();
		}
		else {
			popSafePoint();
			{
				tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__9;
				NI colontmp__10;
				TM__6mNpeIAN05DnDNzb9b3611A_168.status = 0;
				colontmp__9 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4);
				colontmp__10 = ((NI) -1);
				result.Field0 = colontmp__9;
				result.Field1 = colontmp__10;
				popCurrentException();
			}
		}
		if (TM__6mNpeIAN05DnDNzb9b3611A_168.status != 0) reraiseException();
	}
	goto LA1_;
	LA28_: ;
	{
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA colontmp__11;
		NI colontmp__12;
		colontmp__11 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4);
		colontmp__12 = ((NI) -1);
		result.Field0 = colontmp__11;
		result.Field1 = colontmp__12;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchVerbatim__packagesZdocutilsZrst_4476)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI start, NimStringDesc* expr) {
	NI result;
	NI j;
	result = (NI)0;
	result = start;
	j = ((NI) 0);
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			NI T6_;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = (j < (expr ? expr->Sup.len : 0));
			if (!(T4_)) goto LA5_;
			T6_ = ((*p).tok ? (*p).tok->Sup.len : 0);
			T4_ = (result < T6_);
			LA5_: ;
			T3_ = T4_;
			if (!(T3_)) goto LA7_;
			T3_ = nsuContinuesWith(expr, (*p).tok->data[result].symbol, ((NI) (j)));
			LA7_: ;
			if (!T3_) goto LA2;
			j += ((*p).tok->data[result].symbol ? (*p).tok->data[result].symbol->Sup.len : 0);
			result += ((NI) 1);
		} LA2: ;
	}
	{
		if (!(j < (expr ? expr->Sup.len : 0))) goto LA10_;
		result = ((NI) 0);
	}
	LA10_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSmiley__packagesZdocutilsZrst_4493)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	{
		if (!!((((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(58)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(59)) || ((NU8)((*p).tok->data[(*p).idx].symbol->data[((NI) 0)])) == ((NU8)(56))))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NimStringDesc* key;
		NimStringDesc* val;
		NI i;
		key = NIM_NIL;
		val = NIM_NIL;
		i = ((NI) 0);
		{
			while (1) {
				tyTuple__UV3llMMYFckfui8YMBuUZA colontmp_;
				NI m;
				nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
				colontmp_.Field0 = copyString(Smilies__packagesZdocutilsZrst_70[(i)- 0].Field0);
				colontmp_.Field1 = copyString(Smilies__packagesZdocutilsZrst_70[(i)- 0].Field1);
				key = colontmp_.Field0;
				val = colontmp_.Field1;
				m = matchVerbatim__packagesZdocutilsZrst_4476((&(*p)), (*p).idx, key);
				{
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
					NimStringDesc* T13_;
					if (!(((NI) 0) < m)) goto LA10_;
					(*p).idx = m;
					T12_ = NIM_NIL;
					T12_ = NIM_NIL;
					result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 71), T12_, ((NimStringDesc*) NIM_NIL));
					T13_ = NIM_NIL;
					T13_ = (*result)._kind_1.text; (*result)._kind_1.text = copyStringRC1(val);
					if (T13_) nimGCunrefNoCycle(T13_);
					goto BeforeRet_;
				}
				LA10_: ;
				{
					if (!(((NI) 33) <= ((NI) (i)))) goto LA16_;
					goto LA6;
				}
				LA16_: ;
				i += ((NI) 1);
			}
		} LA6: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__packagesZdocutilsZrst_4568)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI i) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	T3_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
	if (!(T3_)) goto LA4_;
	T3_ = eqStrings((*p).tok->data[(NI)(i + ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_227));
	LA4_: ;
	T2_ = T3_;
	if (!(T2_)) goto LA5_;
	T2_ = ((*p).tok->data[(NI)(i + ((NI) 3))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3));
	LA5_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA6_;
	T1_ = contains__stdZenumutils_43(TM__6mNpeIAN05DnDNzb9b3611A_228, 5, (*p).tok->data[i].symbol);
	LA6_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseUrl__packagesZdocutilsZrst_4669)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	NI lastIdx;
	NI closedParenIdx;
	tySequence__lBgZ7a89beZGYPl8PiANMTA* parensStack;
	NimStringDesc* s;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 39), T1_, ((NimStringDesc*) NIM_NIL));
	lastIdx = (*p).idx;
	closedParenIdx = (NI)((*p).idx - ((NI) 1));
	parensStack = NIM_NIL;
	{
		while (1) {
			NIM_BOOL isClosing;
			if (!((104 &((NU8)1<<((NU)((*p).tok->data[lastIdx].kind)&7U)))!=0)) goto LA3;
			isClosing = checkParen__packagesZdocutilsZrst_4634((&(*p).tok->data[lastIdx]), (&parensStack));
			{
				if (!isClosing) goto LA6_;
				closedParenIdx = lastIdx;
			}
			LA6_: ;
			lastIdx += ((NI) 1);
		} LA3: ;
	}
	lastIdx -= ((NI) 1);
	{
		while (1) {
			NIM_BOOL T10_;
			NIM_BOOL T11_;
			T10_ = (NIM_BOOL)0;
			T11_ = (NIM_BOOL)0;
			T11_ = (closedParenIdx < lastIdx);
			if (!(T11_)) goto LA12_;
			T11_ = ((*p).tok->data[lastIdx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5));
			LA12_: ;
			T10_ = T11_;
			if (!(T10_)) goto LA13_;
			T10_ = !(eqStrings((*p).tok->data[lastIdx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_234)));
			LA13_: ;
			if (!T10_) goto LA9;
			lastIdx -= ((NI) 1);
		} LA9: ;
	}
	s = ((NimStringDesc*) NIM_NIL);
	{
		NI i;
		NI res;
		i = (NI)0;
		res = (*p).idx;
		{
			while (1) {
				if (!(res <= lastIdx)) goto LA16;
				i = res;
				s = resizeString(s, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(s, (*p).tok->data[i].symbol);
				res += ((NI) 1);
			} LA16: ;
		}
	}
	add__packagesZdocutilsZrstast_203(result, s);
	(*p).idx = (NI)(lastIdx + ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseWordOrRef__packagesZdocutilsZrst_4702)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T5_;
		if (!!(((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5)))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = newLeaf__packagesZdocutilsZrst_4026(p);
		add__packagesZdocutilsZrstast_196(father, T5_);
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T7_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T10_;
		T7_ = (NIM_BOOL)0;
		T7_ = isUrl__packagesZdocutilsZrst_4568((&(*p)), (*p).idx);
		if (!T7_) goto LA8_;
		T10_ = NIM_NIL;
		T10_ = parseUrl__packagesZdocutilsZrst_4669(p);
		add__packagesZdocutilsZrstast_196(father, T10_);
	}
	goto LA1_;
	LA8_: ;
	{
		NI saveIdx;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* reference;
		saveIdx = (*p).idx;
		reference = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		(*p).idx += ((NI) 1);
		{
			while (1) {
				if (!((40 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA13;
				{
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5))) goto LA16_;
					{
						NIM_BOOL T20_;
						tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T23_;
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T24_;
						T20_ = (NIM_BOOL)0;
						T20_ = isInlineMarkupEnd__packagesZdocutilsZrst_4125((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_129), NIM_TRUE);
						if (!T20_) goto LA21_;
						T23_ = lineInfo__packagesZdocutilsZrst_2474((&(*p)), saveIdx);
						T24_ = NIM_NIL;
						T24_ = NIM_NIL;
						reference = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41), T23_, T24_);
						goto LA12;
					}
					LA21_: ;
					{
						NIM_BOOL T27_;
						T27_ = (NIM_BOOL)0;
						T27_ = validRefnamePunct__packagesZdocutilsZrst_4029((*p).tok->data[(*p).idx].symbol);
						if (!!(T27_)) goto LA28_;
						goto LA12;
					}
					LA28_: ;
				}
				LA16_: ;
				(*p).idx += ((NI) 1);
			} LA13: ;
		} LA12: ;
		{
			if (!!((reference == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA32_;
			{
				NI i;
				NI colontmp_;
				NI res;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = (NI)((*p).idx - ((NI) 1));
				res = saveIdx;
				{
					while (1) {
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T37_;
						if (!(res <= colontmp_)) goto LA36;
						i = res;
						T37_ = NIM_NIL;
						T37_ = newRstLeaf__packagesZdocutilsZrstast_187((*p).tok->data[i].symbol);
						add__packagesZdocutilsZrstast_196(reference, T37_);
						res += ((NI) 1);
					} LA36: ;
				}
			}
			add__packagesZdocutilsZrstast_196(father, reference);
			(*p).idx += ((NI) 1);
		}
		goto LA30_;
		LA32_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T39_;
			T39_ = NIM_NIL;
			T39_ = newRstLeaf__packagesZdocutilsZrstast_187((*p).tok->data[saveIdx].symbol);
			add__packagesZdocutilsZrstast_196(father, T39_);
			(*p).idx = (NI)(saveIdx + ((NI) 1));
		}
		LA30_: ;
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseInline__packagesZdocutilsZrst_5002)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NI saveIdx;
{	n = NIM_NIL;
	saveIdx = (*p).idx;
	switch ((*p).tok->data[(*p).idx].kind) {
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
	{
		{
			NIM_BOOL T4_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_2;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T7_;
			T4_ = (NIM_BOOL)0;
			T4_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_135));
			if (!T4_) goto LA5_;
			T7_ = NIM_NIL;
			T7_ = NIM_NIL;
			n_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 66), T7_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4774(p, n_2, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_135), NIM_TRUE);
			add__packagesZdocutilsZrstast_196(father, n_2);
		}
		goto LA2_;
		LA5_: ;
		{
			NIM_BOOL T9_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_3;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
			T9_ = (NIM_BOOL)0;
			T9_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_140));
			if (!T9_) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = NIM_NIL;
			n_3 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 65), T12_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4774(p, n_3, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_140), NIM_TRUE);
			add__packagesZdocutilsZrstast_196(father, n_3);
		}
		goto LA2_;
		LA10_: ;
		{
			NIM_BOOL T14_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_4;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T17_;
			T14_ = (NIM_BOOL)0;
			T14_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91));
			if (!T14_) goto LA15_;
			T17_ = NIM_NIL;
			T17_ = NIM_NIL;
			n_4 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 64), T17_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4774(p, n_4, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_91), NIM_TRUE);
			add__packagesZdocutilsZrstast_196(father, n_4);
		}
		goto LA2_;
		LA15_: ;
		{
			NIM_BOOL T19_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_5;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T22_;
			NimStringDesc* refn;
			tyTuple__wOvXi5VibnCNgN9buQRQD4A T23_;
			NimStringDesc* T24_;
			NI T25_;
			NimStringDesc* T26_;
			T19_ = (NIM_BOOL)0;
			T19_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_128));
			if (!T19_) goto LA20_;
			T22_ = NIM_NIL;
			T22_ = NIM_NIL;
			n_5 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 69), T22_, ((NimStringDesc*) NIM_NIL));
			(*p).idx += ((NI) 1);
			parseUntil__packagesZdocutilsZrst_4774(p, n_5, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130), NIM_FALSE);
			refn = rstnodeToRefname__packagesZdocutilsZrst_59(n_5);
			nimZeroMem((void*)(&T23_), sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A));
			T23_.Field0 = copyString(refn);
			T23_.Field1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
			T24_ = NIM_NIL;
			T24_ = T23_.Field1->data[0]; T23_.Field1->data[0] = copyStringRC1(refn);
			if (T24_) nimGCunrefNoCycle(T24_);
			asgnRef((void**) (&(*(*p).s).anchors), (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*) incrSeqV3((TGenericSeq*)((*(*p).s).anchors), (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_)));
			T25_ = (*(*p).s).anchors->Sup.len++;
			T26_ = NIM_NIL;
			T26_ = (*(*p).s).anchors->data[T25_].Field0; (*(*p).s).anchors->data[T25_].Field0 = copyStringRC1(T23_.Field0);
			if (T26_) nimGCunrefNoCycle(T26_);
			genericSeqAssign((&(*(*p).s).anchors->data[T25_].Field1), T23_.Field1, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
			add__packagesZdocutilsZrstast_196(father, n_5);
		}
		goto LA2_;
		LA20_: ;
		{
			NIM_BOOL T28_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T32_;
			T28_ = (NIM_BOOL)0;
			T28_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T28_)) goto LA29_;
			T28_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66));
			LA29_: ;
			if (!T28_) goto LA30_;
			(*p).idx += ((NI) 1);
			T32_ = NIM_NIL;
			T32_ = parseMarkdownCodeblock__packagesZdocutilsZrst_4856(p);
			add__packagesZdocutilsZrstast_196(father, T32_);
		}
		goto LA2_;
		LA30_: ;
		{
			NIM_BOOL T34_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_6;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T37_;
			T34_ = (NIM_BOOL)0;
			T34_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_136));
			if (!T34_) goto LA35_;
			T37_ = NIM_NIL;
			T37_ = NIM_NIL;
			n_6 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 68), T37_, ((NimStringDesc*) NIM_NIL));
			parseUntil__packagesZdocutilsZrst_4774(p, n_6, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_136), NIM_FALSE);
			add__packagesZdocutilsZrstast_196(father, n_6);
		}
		goto LA2_;
		LA35_: ;
		{
			NIM_BOOL T39_;
			NI lastIdx;
			tyTuple__XOVT24GHXwqiEj5GCsEGCA T43_;
			NimStringDesc* roleName;
			NI _;
			tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_7;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T44_;
			T39_ = (NIM_BOOL)0;
			T39_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_160));
			if (!(T39_)) goto LA40_;
			lastIdx = getRefnameIdx__packagesZdocutilsZrst_4036((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T39_ = eqStrings((*p).tok->data[(NI)(lastIdx + ((NI) 2))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
			LA40_: ;
			if (!T39_) goto LA41_;
			nimZeroMem((void*)(&T43_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
			getRefname__packagesZdocutilsZrst_4061((&(*p)), (NI)((*p).idx + ((NI) 1)), (&T43_));
			roleName = NIM_NIL;
			roleName = T43_.Field0;
			_ = (NI)0;
			_ = T43_.Field1;
			k = whichRole__packagesZdocutilsZrst_4384((&(*p)), roleName);
			T44_ = NIM_NIL;
			T44_ = NIM_NIL;
			n_7 = newRstNode__packagesZdocutilsZrstast_109(k, T44_, ((NimStringDesc*) NIM_NIL));
			(*p).idx = (NI)(lastIdx + ((NI) 2));
			{
				if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 58))) goto LA47_;
				n_7 = toInlineCode__packagesZdocutilsZrst_4392(n_7, roleName);
			}
			LA47_: ;
			parseUntil__packagesZdocutilsZrst_4774(p, n_7, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130), NIM_FALSE);
			{
				if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 60) || k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 59))) goto LA51_;
				n_7 = toOtherRole__packagesZdocutilsZrst_4411(n_7, k, roleName);
			}
			LA51_: ;
			add__packagesZdocutilsZrstast_196(father, n_7);
		}
		goto LA2_;
		LA41_: ;
		{
			NIM_BOOL T54_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_8;
			tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T57_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T58_;
			T54_ = (NIM_BOOL)0;
			T54_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130));
			if (!T54_) goto LA55_;
			T57_ = lineInfo__packagesZdocutilsZrst_2474((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T58_ = NIM_NIL;
			T58_ = NIM_NIL;
			n_8 = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 67), T57_, T58_);
			parseUntil__packagesZdocutilsZrst_4774(p, n_8, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_130), NIM_FALSE);
			n_8 = parsePostfix__packagesZdocutilsZrst_4431(p, n_8);
			add__packagesZdocutilsZrstast_196(father, n_8);
		}
		goto LA2_;
		LA55_: ;
		{
			NIM_BOOL T60_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_9;
			tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T63_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T64_;
			T60_ = (NIM_BOOL)0;
			T60_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
			if (!T60_) goto LA61_;
			T63_ = lineInfo__packagesZdocutilsZrst_2474((&(*p)), (NI)((*p).idx + ((NI) 1)));
			T64_ = NIM_NIL;
			T64_ = NIM_NIL;
			n_9 = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 70), T63_, T64_);
			parseUntil__packagesZdocutilsZrst_4774(p, n_9, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77), NIM_FALSE);
			add__packagesZdocutilsZrstast_196(father, n_9);
		}
		goto LA2_;
		LA61_: ;
		{
			NIM_BOOL T66_;
			NIM_BOOL T67_;
			NIM_BOOL T68_;
			T66_ = (NIM_BOOL)0;
			T67_ = (NIM_BOOL)0;
			T68_ = (NIM_BOOL)0;
			T68_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T68_)) goto LA69_;
			T68_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133));
			LA69_: ;
			T67_ = T68_;
			if (!(T67_)) goto LA70_;
			T67_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133)));
			LA70_: ;
			T66_ = T67_;
			if (!(T66_)) goto LA71_;
			T66_ = parseMarkdownLink__packagesZdocutilsZrst_4882(p, father);
			LA71_: ;
			if (!T66_) goto LA72_;
		}
		goto LA2_;
		LA72_: ;
		{
			NIM_BOOL T75_;
			NIM_BOOL T76_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nn;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T81_;
			tyTuple__NsOXiclpudEmVBDvfdmAhQ T82_;
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
			NI __2;
			T75_ = (NIM_BOOL)0;
			T76_ = (NIM_BOOL)0;
			T76_ = isInlineMarkupStart__packagesZdocutilsZrst_4219((&(*p)), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133));
			if (!(T76_)) goto LA77_;
			T76_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_133)));
			LA77_: ;
			T75_ = T76_;
			if (!(T75_)) goto LA78_;
			n = parseFootnoteName__packagesZdocutilsZrst_4969(p, NIM_TRUE);
			T75_ = !((n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
			LA78_: ;
			if (!T75_) goto LA79_;
			T81_ = NIM_NIL;
			T81_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43), T81_, ((NimStringDesc*) NIM_NIL));
			(*nn)._kind_7.info = lineInfo__packagesZdocutilsZrst_2474((&(*p)), (NI)(saveIdx + ((NI) 1)));
			add__packagesZdocutilsZrstast_196(nn, n);
			T82_ = getFootnoteType__packagesZdocutilsZrst_4939(n);
			fnType = T82_.Field0;
			__2 = T82_.Field1;
			switch (fnType) {
			case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
			{
				tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T84_;
				NI T85_;
				T84_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteSymRef), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSymRef), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
				T85_ = (*(*p).s).lineFootnoteSymRef->Sup.len++;
				(*(*p).s).lineFootnoteSymRef->data[T85_] = T84_;
			}
			break;
			case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
			{
				tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T87_;
				NI T88_;
				T87_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
				asgnRef((void**) (&(*(*p).s).lineFootnoteNumRef), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNumRef), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
				T88_ = (*(*p).s).lineFootnoteNumRef->Sup.len++;
				(*(*p).s).lineFootnoteNumRef->data[T88_] = T87_;
			}
			break;
			default:
			{
			}
			break;
			}
			add__packagesZdocutilsZrstast_196(father, nn);
		}
		goto LA2_;
		LA79_: ;
		{
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_10;
				if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA93_;
				n_10 = parseSmiley__packagesZdocutilsZrst_4493(p);
				{
					if (!!((n_10 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA97_;
					add__packagesZdocutilsZrstast_196(father, n_10);
					goto BeforeRet_;
				}
				LA97_: ;
			}
			LA93_: ;
			parseBackslash__packagesZdocutilsZrst_4744(p, father);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
	{
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_11;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA102_;
			n_11 = parseSmiley__packagesZdocutilsZrst_4493(p);
			{
				if (!!((n_11 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA106_;
				add__packagesZdocutilsZrstast_196(father, n_11);
				goto BeforeRet_;
			}
			LA106_: ;
		}
		LA102_: ;
		parseWordOrRef__packagesZdocutilsZrst_4702(p, father);
	}
	break;
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
	case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T124_;
		{
			NIM_BOOL T111_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T115_;
			T111_ = (NIM_BOOL)0;
			T111_ = (((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0);
			if (!(T111_)) goto LA112_;
			T111_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_66));
			LA112_: ;
			if (!T111_) goto LA113_;
			(*p).idx += ((NI) 1);
			T115_ = NIM_NIL;
			T115_ = parseMarkdownCodeblock__packagesZdocutilsZrst_4856(p);
			add__packagesZdocutilsZrstast_196(father, T115_);
			goto BeforeRet_;
		}
		LA113_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n_12;
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 0))&7U)))!=0)) goto LA118_;
			n_12 = parseSmiley__packagesZdocutilsZrst_4493(p);
			{
				if (!!((n_12 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA122_;
				add__packagesZdocutilsZrstast_196(father, n_12);
				goto BeforeRet_;
			}
			LA122_: ;
		}
		LA118_: ;
		T124_ = NIM_NIL;
		T124_ = newLeaf__packagesZdocutilsZrst_4026(p);
		add__packagesZdocutilsZrstast_196(father, T124_);
		(*p).idx += ((NI) 1);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseLine__packagesZdocutilsZrst_5164)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				parseInline__packagesZdocutilsZrst_5002(p, father);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getWrappableIndent__packagesZdocutilsZrst_5188)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		result = (*p).tok->data[(*p).idx].ival;
	}
	goto LA1_;
	LA3_: ;
	{
		NI nextIndent;
		NI T6_;
		T6_ = (NI)0;
		T6_ = tokenAfterNewline__packagesZdocutilsZrst_5185(p);
		nextIndent = (*p).tok->data[(NI)(T6_ - ((NI) 1))].ival;
		{
			NI T9_;
			T9_ = (NI)0;
			T9_ = currInd__packagesZdocutilsZrst_2113(p);
			if (!(nextIndent <= T9_)) goto LA10_;
			result = (*p).tok->data[(*p).idx].col;
		}
		goto LA7_;
		LA10_: ;
		{
			if (!((*p).tok->data[(*p).idx].col <= nextIndent)) goto LA13_;
			result = (*p).tok->data[(*p).idx].col;
		}
		goto LA7_;
		LA13_: ;
		{
			result = nextIndent;
		}
		LA7_: ;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseField__packagesZdocutilsZrst_5196)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T1_;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T2_;
	NI col;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* fieldname;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T3_;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* fieldbody;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T4_;
	NI indent;
	result = NIM_NIL;
	T1_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
	T2_ = NIM_NIL;
	T2_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 15), T1_, T2_);
	col = (*p).tok->data[(*p).idx].col;
	T3_ = NIM_NIL;
	T3_ = NIM_NIL;
	fieldname = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 16), T3_, ((NimStringDesc*) NIM_NIL));
	parseUntil__packagesZdocutilsZrst_4774(p, fieldname, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102), NIM_FALSE);
	T4_ = NIM_NIL;
	T4_ = NIM_NIL;
	fieldbody = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 17), T4_, ((NimStringDesc*) NIM_NIL));
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	indent = getWrappableIndent__packagesZdocutilsZrst_5188((&(*p)));
	{
		if (!(col < indent)) goto LA11_;
		pushInd__packagesZdocutilsZrst_2119(p, indent);
		parseSection__packagesZdocutilsZrst_5170(p, fieldbody);
		popInd__packagesZdocutilsZrst_2126(p);
	}
	LA11_: ;
	add__packagesZdocutilsZrstast_196(result, fieldname);
	add__packagesZdocutilsZrstast_196(result, fieldbody);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFields__packagesZdocutilsZrst_5211)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NIM_BOOL atStart;
	NIM_BOOL T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p).idx == ((NI) 0));
	if (!(T1_)) goto LA2_;
	T1_ = eqStrings((*p).tok->data[((NI) 0)].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
	LA2_: ;
	atStart = T1_;
	{
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI col;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		if (!(T6_)) goto LA7_;
		T6_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
		LA7_: ;
		T5_ = T6_;
		if (T5_) goto LA8_;
		T5_ = atStart;
		LA8_: ;
		if (!T5_) goto LA9_;
		{
			if (!atStart) goto LA13_;
			col = (*p).tok->data[(*p).idx].col;
		}
		goto LA11_;
		LA13_: ;
		{
			col = (*p).tok->data[(*p).idx].ival;
		}
		LA11_: ;
		result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14));
		{
			if (!!(atStart)) goto LA18_;
			(*p).idx += ((NI) 1);
		}
		LA18_: ;
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T22_;
				T22_ = NIM_NIL;
				T22_ = parseField__packagesZdocutilsZrst_5196(p);
				add__packagesZdocutilsZrstast_196(result, T22_);
				{
					NIM_BOOL T25_;
					NIM_BOOL T26_;
					T25_ = (NIM_BOOL)0;
					T26_ = (NIM_BOOL)0;
					T26_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T26_)) goto LA27_;
					T26_ = ((*p).tok->data[(*p).idx].ival == col);
					LA27_: ;
					T25_ = T26_;
					if (!(T25_)) goto LA28_;
					T25_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
					LA28_: ;
					if (!T25_) goto LA29_;
					(*p).idx += ((NI) 1);
				}
				goto LA23_;
				LA29_: ;
				{
					goto LA20;
				}
				LA23_: ;
			}
		} LA20: ;
	}
	LA9_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6452)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* args;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* options;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, k);
	{
		if (!(k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51))) goto LA3_;
		(*result)._kind_7.info = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
	}
	LA3_: ;
	args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	options = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	{
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T9_;
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 0))&7U)))!=0)) goto LA7_;
		T9_ = NIM_NIL;
		T9_ = NIM_NIL;
		args = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 45), T9_, ((NimStringDesc*) NIM_NIL));
		{
			if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 2))&7U)))!=0)) goto LA12_;
			{
				while (1) {
					switch ((*p).tok->data[(*p).idx].kind) {
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
					case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T17_;
						T17_ = NIM_NIL;
						T17_ = newLeaf__packagesZdocutilsZrst_4026(p);
						add__packagesZdocutilsZrstast_196(args, T17_);
						(*p).idx += ((NI) 1);
					}
					break;
					default:
					{
						goto LA14;
					}
					break;
					}
				}
			} LA14: ;
		}
		goto LA10_;
		LA12_: ;
		{
			if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 3))&7U)))!=0)) goto LA20_;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA23;
					(*p).idx += ((NI) 1);
				} LA23: ;
			}
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T28_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3))) goto LA26_;
				T28_ = NIM_NIL;
				T28_ = newLeaf__packagesZdocutilsZrst_4026(p);
				add__packagesZdocutilsZrstast_196(args, T28_);
				(*p).idx += ((NI) 1);
			}
			goto LA24_;
			LA26_: ;
			{
				args = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
			}
			LA24_: ;
		}
		goto LA10_;
		LA20_: ;
		{
			parseLine__packagesZdocutilsZrst_5164(p, args);
		}
		LA10_: ;
	}
	LA7_: ;
	add__packagesZdocutilsZrstast_196(result, args);
	{
		if (!((flags &((NU8)1<<((NU)(((tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g) 1))&7U)))!=0)) goto LA33_;
		{
			NIM_BOOL T37_;
			NIM_BOOL T38_;
			NI T40_;
			T37_ = (NIM_BOOL)0;
			T38_ = (NIM_BOOL)0;
			T38_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
			if (!(T38_)) goto LA39_;
			T40_ = (NI)0;
			T40_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
			T38_ = (T40_ < (*p).tok->data[(*p).idx].ival);
			LA39_: ;
			T37_ = T38_;
			if (!(T37_)) goto LA41_;
			T37_ = eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
			LA41_: ;
			if (!T37_) goto LA42_;
			pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].ival);
			options = parseFields__packagesZdocutilsZrst_5211(p);
			popInd__packagesZdocutilsZrst_2126(p);
		}
		LA42_: ;
	}
	LA33_: ;
	add__packagesZdocutilsZrstast_196(result, options);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, indFollows__packagesZdocutilsZrst_6504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
	if (!(T1_)) goto LA2_;
	T3_ = (NI)0;
	T3_ = currInd__packagesZdocutilsZrst_2113(p);
	T1_ = (T3_ < (*p).tok->data[(*p).idx].ival);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, parseBlockContent__packagesZdocutilsZrst_6511)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** father, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NI blockIndent;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* content;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
		if (T3_) goto LA4_;
		T3_ = indFollows__packagesZdocutilsZrst_6504((&(*p)));
		LA4_: ;
		if (!T3_) goto LA5_;
		blockIndent = getWrappableIndent__packagesZdocutilsZrst_5188((&(*p)));
		pushInd__packagesZdocutilsZrst_2119(p, blockIndent);
		content = contentParser(p);
		popInd__packagesZdocutilsZrst_2126(p);
		add__packagesZdocutilsZrstast_196((*father), content);
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirective__packagesZdocutilsZrst_6522)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k, tySet_tyEnum_DirFlag__YXHyltN1vz0PuLfKMoXM8g flags, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6452(p, k, flags);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !((contentParser == 0));
		if (!(T3_)) goto LA4_;
		T3_ = parseBlockContent__packagesZdocutilsZrst_6511(p, &result, contentParser);
		LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
	LA5_: ;
	{
		add__packagesZdocutilsZrstast_196(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirAdmonition__packagesZdocutilsZrst_6607)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 52), 0, parseSectionWrapper__packagesZdocutilsZrst_6419);
	T1_ = NIM_NIL;
	T1_ = (*result)._kind_4.adType; (*result)._kind_4.adType = copyStringRC1(d);
	if (T1_) nimGCunrefNoCycle(T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_63)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n, NimStringDesc* fieldname) {
	NimStringDesc* result;
{	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 1)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14)))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__packagesZdocutilsZrstast_102((*n).sons->data[((NI) 1)]);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* f;
				if (!(i_2 < colontmp_)) goto LA11;
				i = i_2;
				f = (*(*n).sons->data[((NI) 1)]).sons->data[i];
				{
					NimStringDesc* T14_;
					NI T15_;
					T14_ = NIM_NIL;
					T14_ = addNodes__packagesZdocutilsZrst_61((*f).sons->data[((NI) 0)]);
					T15_ = (NI)0;
					T15_ = nsuCmpIgnoreStyle(T14_, fieldname);
					if (!(T15_ == ((NI) 0))) goto LA16_;
					result = addNodes__packagesZdocutilsZrst_61((*f).sons->data[((NI) 1)]);
					{
						if (!((result ? result->Sup.len : 0) == 0)) goto LA20_;
						result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_235));
					}
					LA20_: ;
					goto BeforeRet_;
				}
				LA16_: ;
				i_2 += ((NI) 1);
			} LA11: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
	NimStringDesc* result;
	result = NIM_NIL;
	result = nosjoinPath(head, tail);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findRelativeFile__packagesZdocutilsZrst_2080)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* filename) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T2_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2016((*p).s);
	nimZeroMem((void*)(&T2_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nossplitFile(T1_, (&T2_));
	result = slash___pureZos_121(T2_.Field0, filename);
	{
		NIM_BOOL T5_;
		T5_ = (NIM_BOOL)0;
		T5_ = nosfileExists(result);
		if (!!(T5_)) goto LA6_;
		result = (*(*p).s).findFile.ClE_0? (*(*p).s).findFile.ClP_0(filename, (*(*p).s).findFile.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_237)((*(*p).s).findFile.ClP_0))(filename);
	}
	LA6_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirCodeBlock__packagesZdocutilsZrst_6568)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL nimExtension) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 51), 3, parseLiteralBlock__packagesZdocutilsZrst_5286);
	T1_ = NIM_NIL;
	T1_ = getFieldValue__packagesZdocutilsZrst_63(result, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_233));
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
	{
		NimStringDesc* path;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
		NimStringDesc* T11_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T12_;
		if (!!(((filename ? filename->Sup.len : 0) == 0))) goto LA4_;
		path = findRelativeFile__packagesZdocutilsZrst_2080((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == 0)) goto LA8_;
			rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
		}
		LA8_: ;
		T10_ = NIM_NIL;
		T10_ = NIM_NIL;
		n = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T10_, ((NimStringDesc*) NIM_NIL));
		T11_ = NIM_NIL;
		T11_ = readFile__systemZio_465(path);
		T12_ = NIM_NIL;
		T12_ = newRstLeaf__packagesZdocutilsZrstast_187(T11_);
		add__packagesZdocutilsZrstast_196(n, T12_);
		asgnRef((void**) (&(*result).sons->data[((NI) 2)]), n);
	}
	LA4_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* extraNode;
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T22_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T23_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T24_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T25_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T26_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T27_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T28_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T29_;
		if (!nimExtension) goto LA15_;
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T21_;
			if (!((*result).sons->data[((NI) 1)] == 0)) goto LA19_;
			T21_ = NIM_NIL;
			T21_ = NIM_NIL;
			asgnRef((void**) (&(*result).sons->data[((NI) 1)]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14), T21_, ((NimStringDesc*) NIM_NIL)));
		}
		LA19_: ;
		T22_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
		T23_ = NIM_NIL;
		T23_ = NIM_NIL;
		extraNode = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 15), T22_, T23_);
		T24_ = NIM_NIL;
		T24_ = NIM_NIL;
		T25_ = NIM_NIL;
		T25_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 16), T24_, ((NimStringDesc*) NIM_NIL));
		add__packagesZdocutilsZrstast_196(extraNode, T25_);
		T26_ = NIM_NIL;
		T26_ = NIM_NIL;
		T27_ = NIM_NIL;
		T27_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 17), T26_, ((NimStringDesc*) NIM_NIL));
		add__packagesZdocutilsZrstast_196(extraNode, T27_);
		T28_ = NIM_NIL;
		T28_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_238));
		add__packagesZdocutilsZrstast_196((*extraNode).sons->data[((NI) 0)], T28_);
		T29_ = NIM_NIL;
		T29_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_239));
		add__packagesZdocutilsZrstast_196((*extraNode).sons->data[((NI) 1)], T29_);
		add__packagesZdocutilsZrstast_196((*result).sons->data[((NI) 1)], extraNode);
	}
	LA15_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContainer__packagesZdocutilsZrst_6586)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 55), 1, parseSectionWrapper__packagesZdocutilsZrst_6419);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirContents__packagesZdocutilsZrst_6601)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 48), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirDefaultRole__packagesZdocutilsZrst_6611)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 72), 1, NIM_NIL);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__packagesZdocutilsZrstast_102((*result).sons->data[((NI) 0)]);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		asgnRef((void**) (&(*(*p).s).currRole), defaultRole__packagesZdocutilsZrst_522((*(*p).s).options));
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* T7_;
		T7_ = NIM_NIL;
		T7_ = (*(*p).s).currRole; (*(*p).s).currRole = copyStringRC1((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text);
		if (T7_) nimGCunrefNoCycle(T7_);
	}
	LA1_: ;
	(*(*p).s).currRoleKind = whichRole__packagesZdocutilsZrst_4384((&(*p)), (*(*p).s).currRole);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirFigure__packagesZdocutilsZrst_6595)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 50), 7, parseSectionWrapper__packagesZdocutilsZrst_6419);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirImage__packagesZdocutilsZrst_6592)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 49), 7, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirInclude__packagesZdocutilsZrst_6535)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NimStringDesc* filename;
	NimStringDesc* T1_;
	NimStringDesc* path;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	n = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 7, NIM_NIL);
	T1_ = NIM_NIL;
	T1_ = addNodes__packagesZdocutilsZrst_61((*n).sons->data[((NI) 0)]);
	filename = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
	path = findRelativeFile__packagesZdocutilsZrst_2080((&(*p)), filename);
	{
		if (!((path ? path->Sup.len : 0) == 0)) goto LA4_;
		rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
	}
	goto LA2_;
	LA4_: ;
	{
		{
			NimStringDesc* T9_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T12_;
			NimStringDesc* T13_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T14_;
			T9_ = NIM_NIL;
			T9_ = getFieldValue__packagesZdocutilsZrst_63(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_17));
			if (!!(((T9_ ? T9_->Sup.len : 0) == 0))) goto LA10_;
			T12_ = NIM_NIL;
			T12_ = NIM_NIL;
			result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25), T12_, ((NimStringDesc*) NIM_NIL));
			T13_ = NIM_NIL;
			T13_ = readFile__systemZio_465(path);
			T14_ = NIM_NIL;
			T14_ = newRstLeaf__packagesZdocutilsZrstast_187(T13_);
			add__packagesZdocutilsZrstast_196(result, T14_);
		}
		goto LA7_;
		LA10_: ;
		{
			NimStringDesc* inputString;
			NI startPosition;
			NI endPosition;
			tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q;
			NI32 saveFileIdx;
			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T40_;
			NimStringDesc* T41_;
			inputString = readFile__systemZio_465(path);
			{
				NimStringDesc* searchFor;
				NimStringDesc* T17_;
				T17_ = NIM_NIL;
				T17_ = getFieldValue__packagesZdocutilsZrst_63(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_240));
				searchFor = nsuStrip(T17_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
				{
					NI pos;
					if (!!(((searchFor ? searchFor->Sup.len : 0) == 0))) goto LA20_;
					pos = nsuFindStr(inputString, searchFor, ((NI) 0), ((NI) 0));
					{
						if (!!((pos == ((NI) -1)))) goto LA24_;
						startPosition = (NI)(pos + (searchFor ? searchFor->Sup.len : 0));
					}
					goto LA22_;
					LA24_: ;
					{
						startPosition = ((NI) 0);
					}
					LA22_: ;
				}
				goto LA18_;
				LA20_: ;
				{
					startPosition = ((NI) 0);
				}
				LA18_: ;
			}
			{
				NimStringDesc* searchFor_2;
				NimStringDesc* T29_;
				T29_ = NIM_NIL;
				T29_ = getFieldValue__packagesZdocutilsZrst_63(n, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_241));
				searchFor_2 = nsuStrip(T29_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
				{
					NI pos_2;
					if (!!(((searchFor_2 ? searchFor_2->Sup.len : 0) == 0))) goto LA32_;
					pos_2 = nsuFindStr(inputString, searchFor_2, ((NI) (startPosition)), ((NI) 0));
					{
						if (!!((pos_2 == ((NI) -1)))) goto LA36_;
						endPosition = (NI)(pos_2 - ((NI) 1));
					}
					goto LA34_;
					LA36_: ;
					{
						endPosition = ((NI) 0);
					}
					LA34_: ;
				}
				goto LA30_;
				LA32_: ;
				{
					endPosition = (NI)((inputString ? inputString->Sup.len : 0) - ((NI) 1));
				}
				LA30_: ;
			}
			nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
			q.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
			initParser__packagesZdocutilsZrst_2138((&q), (*p).s);
			saveFileIdx = (*(*p).s).currFileIdx;
			setCurrFilename__packagesZdocutilsZrst_544((*p).s, path);
			T40_ = dotdot___pureZunicode_840(startPosition, endPosition);
			T41_ = NIM_NIL;
			T41_ = X5BX5D___pureZunicode_865(inputString, T40_);
			getTokens__packagesZdocutilsZrst_237(T41_, (&q.tok));
			result = parseDoc__packagesZdocutilsZrst_5824((&q));
			(*(*p).s).currFileIdx = saveFileIdx;
		}
		LA7_: ;
	}
	LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirIndex__packagesZdocutilsZrst_6604)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 56), 0, parseSectionWrapper__packagesZdocutilsZrst_6419);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDirBody__packagesZdocutilsZrst_6531)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = indFollows__packagesZdocutilsZrst_6504((&(*p)));
		if (!T3_) goto LA4_;
		pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].ival);
		result = contentParser(p);
		popInd__packagesZdocutilsZrst_2126(p);
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dirRawAux__packagesZdocutilsZrst_6629)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** result, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ kind, tyProc__8jki48pN6I4kzivtVA9bgyA contentParser) {
	NimStringDesc* filename;
	filename = getFieldValue__packagesZdocutilsZrst_63((*result), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_233));
	{
		NimStringDesc* path;
		if (!(((NI) 0) < (filename ? filename->Sup.len : 0))) goto LA3_;
		path = findRelativeFile__packagesZdocutilsZrst_2080((&(*p)), filename);
		{
			if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA7_;
			rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 0), filename);
		}
		goto LA5_;
		LA7_: ;
		{
			NimStringDesc* f;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T11_;
			f = readFile__systemZio_465(path);
			T10_ = NIM_NIL;
			T10_ = NIM_NIL;
			unsureAsgnRef((void**) (&(*result)), newRstNode__packagesZdocutilsZrstast_109(kind, T10_, ((NimStringDesc*) NIM_NIL)));
			T11_ = NIM_NIL;
			T11_ = newRstLeaf__packagesZdocutilsZrstast_187(f);
			add__packagesZdocutilsZrstast_196((*result), T11_);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T13_;
		unsureAsgnRef((void**) (&(*result)), newRstNode__packagesZdocutilsZrstast_109(kind, (*(*result)).sons, ((NimStringDesc*) NIM_NIL)));
		T13_ = NIM_NIL;
		T13_ = parseDirBody__packagesZdocutilsZrst_6531(p, contentParser);
		add__packagesZdocutilsZrstast_196((*result), T13_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRaw__packagesZdocutilsZrst_6637)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6452(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 11);
	{
		if (!!(((*result).sons->data[((NI) 0)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA3_;
		{
			NI T7_;
			T7_ = (NI)0;
			T7_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_242));
			if (!(T7_ == ((NI) 0))) goto LA8_;
			dirRawAux__packagesZdocutilsZrst_6629(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 53), parseLiteralBlock__packagesZdocutilsZrst_5286);
		}
		goto LA5_;
		LA8_: ;
		{
			NI T11_;
			T11_ = (NI)0;
			T11_ = nsuCmpIgnoreCase((*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_243));
			if (!(T11_ == ((NI) 0))) goto LA12_;
			dirRawAux__packagesZdocutilsZrst_6629(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 54), parseLiteralBlock__packagesZdocutilsZrst_5286);
		}
		goto LA5_;
		LA12_: ;
		{
			rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), (*(*(*result).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text);
		}
		LA5_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		dirRawAux__packagesZdocutilsZrst_6629(p, &result, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 46), parseSectionWrapper__packagesZdocutilsZrst_6419);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirRole__packagesZdocutilsZrst_6621)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* lang;
	NimStringDesc* T1_;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44), 3, NIM_NIL);
	T1_ = NIM_NIL;
	T1_ = getFieldValue__packagesZdocutilsZrst_63(result, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_244));
	lang = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
	{
		NIM_BOOL T4_;
		tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((lang ? lang->Sup.len : 0) == 0));
		if (!(T4_)) goto LA5_;
		T6_ = (tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g)0;
		T6_ = getSourceLanguage__packagesZdocutilsZhighlite_97(lang);
		T4_ = (T6_ == ((tyEnum_SourceLanguage__yW5C9bHJV9a9bc7MnoMHmB85g) 0));
		LA5_: ;
		if (!T4_) goto LA7_;
		rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 12), lang);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, dirTitle__packagesZdocutilsZrst_6598)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseDirective__packagesZdocutilsZrst_6522(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 47), 1, NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, selectDir__packagesZdocutilsZrst_6644)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* d) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	switch (hashString(d) & 31) {
	case 4: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_115))) goto LA8_;
break;
	case 5: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_109))) goto LA1_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_126))) goto LA19_;
break;
	case 7: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118))) goto LA11_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_119))) goto LA12_;
break;
	case 8: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_125))) goto LA18_;
break;
	case 9: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_121))) goto LA14_;
break;
	case 10: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_107))) goto LA1_;
break;
	case 11: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_108))) goto LA1_;
break;
	case 15: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_25))) goto LA2_;
break;
	case 16: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_120))) goto LA13_;
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_127))) goto LA20_;
break;
	case 17: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_110))) goto LA3_;
break;
	case 20: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_111))) goto LA4_;
break;
	case 23: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_122))) goto LA15_;
break;
	case 24: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_116))) goto LA9_;
break;
	case 25: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_113))) goto LA6_;
break;
	case 27: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_117))) goto LA10_;
break;
	case 28: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_112))) goto LA5_;
break;
	case 29: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_114))) goto LA7_;
break;
	case 30: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_124))) goto LA17_;
break;
	case 31: 
if (eqStrings(d, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_123))) goto LA16_;
break;
	}
	goto LA21_;
	LA1_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA2_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6568(p, NIM_FALSE);
	}
	goto LA22_;
	LA3_: ;
	{
		result = dirCodeBlock__packagesZdocutilsZrst_6568(p, NIM_TRUE);
	}
	goto LA22_;
	LA4_: ;
	{
		result = dirContainer__packagesZdocutilsZrst_6586(p);
	}
	goto LA22_;
	LA5_: ;
	{
		result = dirContents__packagesZdocutilsZrst_6601(p);
	}
	goto LA22_;
	LA6_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA7_: ;
	{
		result = dirDefaultRole__packagesZdocutilsZrst_6611(p);
	}
	goto LA22_;
	LA8_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA9_: ;
	{
		result = dirFigure__packagesZdocutilsZrst_6595(p);
	}
	goto LA22_;
	LA10_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA11_: ;
	{
		result = dirImage__packagesZdocutilsZrst_6592(p);
	}
	goto LA22_;
	LA12_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA13_: ;
	{
		result = dirInclude__packagesZdocutilsZrst_6535(p);
	}
	goto LA22_;
	LA14_: ;
	{
		result = dirIndex__packagesZdocutilsZrst_6604(p);
	}
	goto LA22_;
	LA15_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA16_: ;
	{
		{
			if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 1))&7U)))!=0)) goto LA41_;
			result = dirRaw__packagesZdocutilsZrst_6637(p);
		}
		goto LA39_;
		LA41_: ;
		{
			rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), d);
		}
		LA39_: ;
	}
	goto LA22_;
	LA17_: ;
	{
		result = dirRole__packagesZdocutilsZrst_6621(p);
	}
	goto LA22_;
	LA18_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA19_: ;
	{
		result = dirTitle__packagesZdocutilsZrst_6598(p);
	}
	goto LA22_;
	LA20_: ;
	{
		result = dirAdmonition__packagesZdocutilsZrst_6607(p, d);
	}
	goto LA22_;
	LA21_: ;
	{
		tyObject_Token__E0ilHwDrlCLqd7buwAkizA tok;
		nimZeroMem((void*)(&tok), sizeof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA));
		nimCopyMem((void*)(&tok), (NIM_CONST void*)(&(*p).tok->data[(NI)((*p).idx - ((NI) 2))]), sizeof(tok));
		rstMessage__packagesZdocutilsZrst_2102((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), d, tok.line, tok.col);
	}
	LA22_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, getReferenceName__packagesZdocutilsZrst_4071)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* endStr) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* res;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	res = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			{
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T5_;
				T5_ = NIM_NIL;
				T5_ = newLeaf__packagesZdocutilsZrst_4026(p);
				add__packagesZdocutilsZrstast_196(res, T5_);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					if (!eqStrings((*p).tok->data[(*p).idx].symbol, endStr)) goto LA9_;
					(*p).idx += ((NI) 1);
					goto LA2;
				}
				goto LA7_;
				LA9_: ;
				{
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T12_;
					T12_ = NIM_NIL;
					T12_ = newLeaf__packagesZdocutilsZrst_4026(p);
					add__packagesZdocutilsZrstast_196(res, T12_);
				}
				LA7_: ;
			}
			break;
			default:
			{
				rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), endStr);
				goto LA2;
			}
			break;
			}
			(*p).idx += ((NI) 1);
		}
	} LA2: ;
	result = res;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, untilEol__packagesZdocutilsZrst_4084)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T4_;
			if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA3;
			T4_ = NIM_NIL;
			T4_ = newLeaf__packagesZdocutilsZrst_4026(p);
			add__packagesZdocutilsZrstast_196(result, T4_);
			(*p).idx += ((NI) 1);
		} LA3: ;
	}
	return result;
}
static N_INLINE(tyTuple__wOvXi5VibnCNgN9buQRQD4A*, X5BX5D___packagesZdocutilsZrst_2320)(tyTuple__wOvXi5VibnCNgN9buQRQD4A* s, NI sLen_0, NI i) {
	tyTuple__wOvXi5VibnCNgN9buQRQD4A* result;
	result = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addAnchor__packagesZdocutilsZrst_2308)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* refn, NIM_BOOL reset) {
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A T5_;
		NimStringDesc* T6_;
		NI T7_;
		NimStringDesc* T8_;
		if (!(((*p).curAnchor ? (*p).curAnchor->Sup.len : 0) == 0)) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A));
		T5_.Field0 = copyString(refn);
		T5_.Field1 = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
		T6_ = NIM_NIL;
		T6_ = T5_.Field1->data[0]; T5_.Field1->data[0] = copyStringRC1(refn);
		if (T6_) nimGCunrefNoCycle(T6_);
		asgnRef((void**) (&(*(*p).s).anchors), (tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*) incrSeqV3((TGenericSeq*)((*(*p).s).anchors), (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_)));
		T7_ = (*(*p).s).anchors->Sup.len++;
		T8_ = NIM_NIL;
		T8_ = (*(*p).s).anchors->data[T7_].Field0; (*(*p).s).anchors->data[T7_].Field0 = copyStringRC1(T5_.Field0);
		if (T8_) nimGCunrefNoCycle(T8_);
		genericSeqAssign((&(*(*p).s).anchors->data[T7_].Field1), T5_.Field1, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* T10_;
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* T11_;
		NI T12_;
		NimStringDesc* T13_;
		T10_ = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		T10_ = X5BX5D___packagesZdocutilsZrst_2320((*(*p).s).anchors->data, ((*(*p).s).anchors ? (*(*p).s).anchors->Sup.len : 0), ((NI) 1));
		unsureAsgnRef((void**) (&(*T10_).Field0), copyString(refn));
		T11_ = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		T11_ = X5BX5D___packagesZdocutilsZrst_2320((*(*p).s).anchors->data, ((*(*p).s).anchors ? (*(*p).s).anchors->Sup.len : 0), ((NI) 1));
		unsureAsgnRef((void**) (&(*T11_).Field1), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*T11_).Field1), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
		T12_ = (*T11_).Field1->Sup.len++;
		T13_ = NIM_NIL;
		T13_ = (*T11_).Field1->data[T12_]; (*T11_).Field1->data[T12_] = copyStringRC1(refn);
		if (T13_) nimGCunrefNoCycle(T13_);
	}
	LA1_: ;
	{
		if (!reset) goto LA16_;
		unsureAsgnRef((void**) (&(*p).curAnchor), ((NimStringDesc*) NIM_NIL));
	}
	goto LA14_;
	LA16_: ;
	{
		unsureAsgnRef((void**) (&(*p).curAnchor), copyString(refn));
	}
	LA14_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, expect__packagesZdocutilsZrst_4096)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* tok) {
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, tok)) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA3_: ;
	{
		rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 1), tok);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setSub__packagesZdocutilsZrst_2251)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* key, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* value) {
	NI length;
	NI T1_;
	tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw T9_;
	NI T10_;
	NimStringDesc* T11_;
{	T1_ = ((*(*p).s).subs ? (*(*p).s).subs->Sup.len : 0);
	length = T1_;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < length)) goto LA4;
				i = i_2;
				{
					if (!eqStrings(key, (*(*p).s).subs->data[i].key)) goto LA7_;
					asgnRef((void**) (&(*(*p).s).subs->data[i].value), value);
					goto BeforeRet_;
				}
				LA7_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T9_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	nimZeroMem((void*)(&T9_), sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw));
	T9_.key = copyString(key);
	T9_.value = value;
	asgnRef((void**) (&(*(*p).s).subs), (tySequence__lrunEzM3UiMYKPLPCTNo0w*) incrSeqV3((TGenericSeq*)((*(*p).s).subs), (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_)));
	T10_ = (*(*p).s).subs->Sup.len++;
	T11_ = NIM_NIL;
	T11_ = (*(*p).s).subs->data[T10_].key; (*(*p).s).subs->data[T10_].key = copyStringRC1(T9_.key);
	if (T11_) nimGCunrefNoCycle(T11_);
	asgnRef((void**) (&(*(*p).s).subs->data[T10_].value), T9_.value);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prefix__packagesZdocutilsZrst_6662)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA ftnType) {
	NimStringDesc* result;
	result = NIM_NIL;
	switch (ftnType) {
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_249));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_250));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_249));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_251));
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
	{
		result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_252));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumManual__packagesZdocutilsZrst_2411)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI num) {
	tyTuple__msoRFpgv3EcbLwCh9arSpYw T10_;
	NI T11_;
{	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*(*p).s).footnotes ? (*(*p).s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*(*p).s).footnotes->data[i]);
				{
					NimStringDesc* T9_;
					if (!((*fnote).Field1 == num)) goto LA7_;
					T9_ = NIM_NIL;
					T9_ = dollar___systemZdollars_3(num);
					rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), T9_);
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T10_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
	T10_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0);
	T10_.Field1 = num;
	T10_.Field2 = ((NI) -1);
	T10_.Field3 = ((NI) -1);
	T10_.Field4 = dollar___systemZdollars_3(num);
	asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
	T11_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T11_]), (void*)(&T10_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteNumAuto__packagesZdocutilsZrst_2481)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NimStringDesc* label) {
{	{
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T5_;
		NI T6_;
		tyTuple__msoRFpgv3EcbLwCh9arSpYw T7_;
		NI T8_;
		NI T9_;
		if (!((label ? label->Sup.len : 0) == 0)) goto LA3_;
		T5_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
		asgnRef((void**) (&(*(*p).s).lineFootnoteNum), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteNum), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
		T6_ = (*(*p).s).lineFootnoteNum->Sup.len++;
		(*(*p).s).lineFootnoteNum->data[T6_] = T5_;
		nimZeroMem((void*)(&T7_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
		T7_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1);
		T7_.Field1 = ((NI) -1);
		T8_ = ((*(*p).s).lineFootnoteNum ? (*(*p).s).lineFootnoteNum->Sup.len : 0);
		T7_.Field2 = T8_;
		T7_.Field3 = ((NI) -1);
		T7_.Field4 = copyString(label);
		asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
		T9_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T9_]), (void*)(&T7_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw T19_;
		NI T20_;
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
			NI i;
			NI L;
			NI T12_;
			fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
			i = ((NI) 0);
			T12_ = ((*(*p).s).footnotes ? (*(*p).s).footnotes->Sup.len : 0);
			L = T12_;
			{
				while (1) {
					if (!(i < L)) goto LA14;
					fnote = (&(*(*p).s).footnotes->data[i]);
					{
						if (!eqStrings((*fnote).Field4, label)) goto LA17_;
						rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 9), label);
						goto BeforeRet_;
					}
					LA17_: ;
					i += ((NI) 1);
				} LA14: ;
			}
		}
		nimZeroMem((void*)(&T19_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
		T19_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2);
		T19_.Field1 = ((NI) -1);
		T19_.Field2 = ((NI) -1);
		T19_.Field3 = ((NI) -1);
		T19_.Field4 = copyString(label);
		asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
		T20_ = (*(*p).s).footnotes->Sup.len++;
		genericAssign((void*)(&(*(*p).s).footnotes->data[T20_]), (void*)(&T19_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFootnoteSymAuto__packagesZdocutilsZrst_2504)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA T1_;
	NI T2_;
	tyTuple__msoRFpgv3EcbLwCh9arSpYw T3_;
	NI T4_;
	NI T5_;
	T1_ = lineInfo__packagesZdocutilsZrst_2478((&(*p)));
	asgnRef((void**) (&(*(*p).s).lineFootnoteSym), (tySequence__SugKu9bev7GtgZTDZMD2xgw*) incrSeqV3((TGenericSeq*)((*(*p).s).lineFootnoteSym), (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_)));
	T2_ = (*(*p).s).lineFootnoteSym->Sup.len++;
	(*(*p).s).lineFootnoteSym->data[T2_] = T1_;
	nimZeroMem((void*)(&T3_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
	T3_.Field0 = ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3);
	T3_.Field1 = ((NI) -1);
	T3_.Field2 = ((NI) -1);
	T4_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
	T3_.Field3 = T4_;
	T3_.Field4 = ((NimStringDesc*) NIM_NIL);
	asgnRef((void**) (&(*(*p).s).footnotes), (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)((*(*p).s).footnotes), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_)));
	T5_ = (*(*p).s).footnotes->Sup.len++;
	genericAssign((void*)(&(*(*p).s).footnotes->data[T5_]), (void*)(&T3_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseFootnote__packagesZdocutilsZrst_6665)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* label;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T5_;
	tyTuple__NsOXiclpudEmVBDvfdmAhQ T6_;
	tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
	NI i;
	NimStringDesc* name;
	NimStringDesc* anchor;
	NimStringDesc* T23_;
	NIM_BOOL T28_;
{	result = NIM_NIL;
	(*p).idx += ((NI) 1);
	label = parseFootnoteName__packagesZdocutilsZrst_4969(p, NIM_FALSE);
	{
		if (!(label == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		(*p).idx -= ((NI) 1);
		result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = NIM_NIL;
	T5_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36), T5_, ((NimStringDesc*) NIM_NIL));
	add__packagesZdocutilsZrstast_196(result, label);
	T6_ = getFootnoteType__packagesZdocutilsZrst_4939(label);
	fnType = T6_.Field0;
	i = T6_.Field1;
	name = ((NimStringDesc*) NIM_NIL);
	anchor = prefix__packagesZdocutilsZrst_6662(fnType);
	switch (fnType) {
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
	{
		NimStringDesc* T8_;
		addFootnoteNumManual__packagesZdocutilsZrst_2411(p, i);
		T8_ = NIM_NIL;
		T8_ = dollar___systemZdollars_3(i);
		anchor = resizeString(anchor, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(anchor, T8_);
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
	{
		name = rstnodeToRefname__packagesZdocutilsZrst_59(label);
		addFootnoteNumAuto__packagesZdocutilsZrst_2481(p, name);
		{
			if (!(fnType == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2))) goto LA12_;
			anchor = resizeString(anchor, (name ? name->Sup.len : 0) + 0);
appendString(anchor, name);
		}
		goto LA10_;
		LA12_: ;
		{
			NI T15_;
			NimStringDesc* T16_;
			T15_ = ((*(*p).s).lineFootnoteNum ? (*(*p).s).lineFootnoteNum->Sup.len : 0);
			(*result)._kind_6.order = T15_;
			T16_ = NIM_NIL;
			T16_ = dollar___systemZdollars_3((*result)._kind_6.order);
			anchor = resizeString(anchor, (T16_ ? T16_->Sup.len : 0) + 0);
appendString(anchor, T16_);
		}
		LA10_: ;
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
	{
		NI T18_;
		NI T19_;
		NimStringDesc* T20_;
		addFootnoteSymAuto__packagesZdocutilsZrst_2504(p);
		T18_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
		(*result)._kind_6.order = T18_;
		T19_ = ((*(*p).s).lineFootnoteSym ? (*(*p).s).lineFootnoteSym->Sup.len : 0);
		T20_ = NIM_NIL;
		T20_ = dollar___systemZdollars_3(T19_);
		anchor = resizeString(anchor, (T20_ ? T20_->Sup.len : 0) + 0);
appendString(anchor, T20_);
	}
	break;
	case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
	{
		NimStringDesc* T22_;
		T22_ = NIM_NIL;
		T22_ = rstnodeToRefname__packagesZdocutilsZrst_59(label);
		anchor = resizeString(anchor, (T22_ ? T22_->Sup.len : 0) + 0);
appendString(anchor, T22_);
	}
	break;
	}
	addAnchor__packagesZdocutilsZrst_2308(p, anchor, NIM_TRUE);
	T23_ = NIM_NIL;
	T23_ = (*result).anchor; (*result).anchor = copyStringRC1(anchor);
	if (T23_) nimGCunrefNoCycle(T23_);
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA26_;
		(*p).idx += ((NI) 1);
	}
	LA26_: ;
	T28_ = (NIM_BOOL)0;
	T28_ = parseBlockContent__packagesZdocutilsZrst_6511(p, &result, parseSectionWrapper__packagesZdocutilsZrst_6419);
	(void)(T28_);
	{
		NI T31_;
		T31_ = (NI)0;
		T31_ = len__packagesZdocutilsZrstast_102(result);
		if (!(T31_ < ((NI) 2))) goto LA32_;
		add__packagesZdocutilsZrstast_196(result, ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
	}
	LA32_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseComment__packagesZdocutilsZrst_5132)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI col) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)));
		if (!(T3_)) goto LA4_;
		T3_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*p).idx += ((NI) 1);
	}
	goto LA1_;
	LA5_: ;
	{
		{
			while (1) {
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA9;
				{
					NIM_BOOL T12_;
					NIM_BOOL T13_;
					NIM_BOOL T16_;
					T12_ = (NIM_BOOL)0;
					T13_ = (NIM_BOOL)0;
					T13_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T13_)) goto LA14_;
					T13_ = (col < (*p).tok->data[(*p).idx].ival);
					LA14_: ;
					T12_ = T13_;
					if (T12_) goto LA15_;
					T16_ = (NIM_BOOL)0;
					T16_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
					if (!(T16_)) goto LA17_;
					T16_ = (col < (*p).tok->data[(*p).idx].col);
					LA17_: ;
					T12_ = T16_;
					LA15_: ;
					if (!T12_) goto LA18_;
					(*p).idx += ((NI) 1);
				}
				goto LA10_;
				LA18_: ;
				{
					goto LA8;
				}
				LA10_: ;
			} LA9: ;
		} LA8: ;
	}
	LA1_: ;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDotDot__packagesZdocutilsZrst_5284)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n;
	NI col;
	NimStringDesc* d;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	n = NIM_NIL;
	col = (*p).tok->data[(*p).idx].col;
	(*p).idx += ((NI) 1);
	d = getDirective__packagesZdocutilsZrst_5106(p);
	{
		if (!!(((d ? d->Sup.len : 0) == 0))) goto LA3_;
		pushInd__packagesZdocutilsZrst_2119(p, col);
		result = selectDir__packagesZdocutilsZrst_6644(p, d);
		popInd__packagesZdocutilsZrst_2126(p);
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
		T6_ = (NIM_BOOL)0;
		T6_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_245));
		if (!T6_) goto LA7_;
		(*p).idx += ((NI) 2);
		a = getReferenceName__packagesZdocutilsZrst_4071(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA11_;
			(*p).idx += ((NI) 1);
		}
		LA11_: ;
		b = untilEol__packagesZdocutilsZrst_4084(p);
		{
			NI T15_;
			NimStringDesc* T18_;
			T15_ = (NI)0;
			T15_ = len__packagesZdocutilsZrstast_102(b);
			if (!(T15_ == ((NI) 0))) goto LA16_;
			T18_ = NIM_NIL;
			T18_ = rstnodeToRefname__packagesZdocutilsZrst_59(a);
			addAnchor__packagesZdocutilsZrst_2308(p, T18_, NIM_FALSE);
		}
		goto LA13_;
		LA16_: ;
		{
			NimStringDesc* T20_;
			T20_ = NIM_NIL;
			T20_ = rstnodeToRefname__packagesZdocutilsZrst_59(a);
			setRef__packagesZdocutilsZrst_2278(p, T20_, b);
		}
		LA13_: ;
	}
	goto LA1_;
	LA7_: ;
	{
		NIM_BOOL T22_;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a_2;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b_2;
		NimStringDesc* T39_;
		T22_ = (NIM_BOOL)0;
		T22_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_246));
		if (!T22_) goto LA23_;
		(*p).idx += ((NI) 2);
		a_2 = getReferenceName__packagesZdocutilsZrst_4071(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
		b_2 = NIM_NIL;
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA27_;
			(*p).idx += ((NI) 1);
		}
		LA27_: ;
		{
			NI T31_;
			T31_ = (NI)0;
			T31_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_247));
			if (!(T31_ == ((NI) 0))) goto LA32_;
			(*p).idx += ((NI) 1);
			expect__packagesZdocutilsZrst_4096(p, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67));
			b_2 = untilEol__packagesZdocutilsZrst_4084(p);
		}
		goto LA29_;
		LA32_: ;
		{
			NI T35_;
			T35_ = (NI)0;
			T35_ = nsuCmpIgnoreStyle((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_118));
			if (!(T35_ == ((NI) 0))) goto LA36_;
			(*p).idx += ((NI) 1);
			b_2 = dirImage__packagesZdocutilsZrst_6592(p);
		}
		goto LA29_;
		LA36_: ;
		{
			rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 6), (*p).tok->data[(*p).idx].symbol);
		}
		LA29_: ;
		T39_ = NIM_NIL;
		T39_ = addNodes__packagesZdocutilsZrst_61(a_2);
		setSub__packagesZdocutilsZrst_2251(p, T39_, b_2);
	}
	goto LA1_;
	LA23_: ;
	{
		NIM_BOOL T41_;
		T41_ = (NIM_BOOL)0;
		T41_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_248));
		if (!(T41_)) goto LA42_;
		n = parseFootnote__packagesZdocutilsZrst_6665(p);
		T41_ = !((n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
		LA42_: ;
		if (!T41_) goto LA43_;
		result = n;
	}
	goto LA1_;
	LA43_: ;
	{
		result = parseComment__packagesZdocutilsZrst_5132(p, col);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg)(void* p, NI op) {
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* a;
	a = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*)p;
}
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, checkAfterNewline__packagesZdocutilsZrst_6287)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_BOOL report, void* ClE_0) {
	NIM_BOOL result;
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* colonenvP_;
	NI j;
	NI requiredIndent;
	result = (NIM_BOOL)0;
	colonenvP_ = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*) ClE_0;
	j = tokenAfterNewline__packagesZdocutilsZrst_5173(p, (NI)((*p).idx + ((NI) 1)));
	requiredIndent = (*p).tok->data[(NI)((*p).idx + wildToken__packagesZdocutilsZrst_6181[((*colonenvP_).w1)- 0])].col;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T7_;
		NIM_BOOL T9_;
		NIM_BOOL T11_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !(((3 &((NU8)1<<((NU)((*p).tok->data[j].kind)&7U)))!=0));
		if (!(T4_)) goto LA5_;
		T4_ = ((*p).tok->data[j].col < requiredIndent);
		LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = ((*colonenvP_).col2 < (*p).tok->data[j].col);
		if (T7_) goto LA8_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*p).tok->data[j].col == (*colonenvP_).col2);
		if (!(T9_)) goto LA10_;
		T11_ = (NIM_BOOL)0;
		T11_ = match__packagesZdocutilsZrst_4285(p, j, wildcards__packagesZdocutilsZrst_6180[((*colonenvP_).w1)- 0]);
		T9_ = !(T11_);
		LA10_: ;
		T7_ = T9_;
		LA8_: ;
		T3_ = T7_;
		LA6_: ;
		if (!T3_) goto LA12_;
		{
			NI n;
			NimStringDesc* msg;
			NimStringDesc* T18_;
			NimStringDesc* colontmp_;
			NI T19_;
			NimStringDesc* T20_;
			NI c;
			tyArray__24KAM9afIUgUaqBaEBB6r9bg T21_;
			NimStringDesc* T22_;
			if (!report) goto LA16_;
			n = (NI)((*p).line + (*p).tok->data[j].line);
			T18_ = NIM_NIL;
			colontmp_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_260));
			T19_ = (NI)0;
			T19_ = indentation__pureZstrutils_1194(colontmp_);
			T20_ = NIM_NIL;
			T20_ = nsuDedent(colontmp_, T19_);
			T18_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 1);
appendString(T18_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_54));
appendString(T18_, T20_);
			msg = T18_;
			c = (NI)((NI)((*p).col + requiredIndent) + ((NI) 1));
			nimZeroMem((void*)T21_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
			T21_[0] = dollar___systemZdollars_3((NI)(n - ((NI) 1)));
			T21_[1] = dollar___systemZdollars_3(n);
			T21_[2] = dollar___systemZdollars_3(c);
			T22_ = NIM_NIL;
			T22_ = nsuFormatOpenArray(msg, T21_, 3);
			rstMessage__packagesZdocutilsZrst_2102(p, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 14), T22_, (*p).tok->data[j].line, (*p).tok->data[j].col);
		}
		LA16_: ;
		result = NIM_FALSE;
	}
	goto LA1_;
	LA12_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseEnumList__packagesZdocutilsZrst_6177)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ* colonenv_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* autoEnums;
	NimStringDesc* prevAE;
	NI curEnum;
	NimStringDesc* prevEnum;
{	result = NIM_NIL;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*) newObj((&NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_), sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ));
	(*colonenv_).Sup.m_type = (&NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_);
	(*colonenv_).col2 = (*p).tok->data[(*p).idx].col;
	(*colonenv_).w1 = ((NI) 0);
	{
		while (1) {
			if (!((*colonenv_).w1 < ((NI) 6))) goto LA2;
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, wildcards__packagesZdocutilsZrst_6180[((*colonenv_).w1)- 0]);
				if (!T5_) goto LA6_;
				goto LA1;
			}
			LA6_: ;
			(*colonenv_).w1 += ((NI) 1);
		} LA2: ;
	} LA1: ;
	{
		tyProc__TWwcwyFYRc2hmkAA29bgwkg T10_;
		NIM_BOOL T11_;
		nimZeroMem((void*)(&T10_), sizeof(tyProc__TWwcwyFYRc2hmkAA29bgwkg));
		T10_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6287; T10_.ClE_0 = colonenv_;
		T11_ = (NIM_BOOL)0;
		T11_ = T10_.ClE_0? T10_.ClP_0((&(*p)), NIM_TRUE, T10_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_261)(T10_.ClP_0))((&(*p)), NIM_TRUE);
		if (!!(T11_)) goto LA12_;
		result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		goto BeforeRet_;
	}
	LA12_: ;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8));
	{
		NimStringDesc* T18_;
		NimStringDesc* T19_;
		if (!(((*(*p).s).options &((NU8)1<<((NU)(((tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg) 2))&7U)))!=0)) goto LA16_;
		autoEnums = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 2);
		T18_ = NIM_NIL;
		T18_ = autoEnums->data[0]; autoEnums->data[0] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
		if (T18_) nimGCunrefNoCycle(T18_);
		T19_ = NIM_NIL;
		T19_ = autoEnums->data[1]; autoEnums->data[1] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_262));
		if (T19_) nimGCunrefNoCycle(T19_);
	}
	goto LA14_;
	LA16_: ;
	{
		NimStringDesc* T21_;
		autoEnums = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), 1);
		T21_ = NIM_NIL;
		T21_ = autoEnums->data[0]; autoEnums->data[0] = copyStringRC1(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
		if (T21_) nimGCunrefNoCycle(T21_);
	}
	LA14_: ;
	prevAE = ((NimStringDesc*) NIM_NIL);
	curEnum = ((NI) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (NI)(wildToken__packagesZdocutilsZrst_6181[((*colonenv_).w1)- 0] - ((NI) 1));
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA24;
				i = i_2;
				{
					if (!eqStrings((*p).tok->data[(NI)((*p).idx + i)].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69))) goto LA27_;
					prevAE = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69));
					asgnRef((void**) (&(*result)._kind_2.labelFmt), resizeString((*result)._kind_2.labelFmt, 1));
appendString((*result)._kind_2.labelFmt, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_262));
				}
				goto LA25_;
				LA27_: ;
				{
					asgnRef((void**) (&(*result)._kind_2.labelFmt), resizeString((*result)._kind_2.labelFmt, ((*p).tok->data[(NI)((*p).idx + i)].symbol ? (*p).tok->data[(NI)((*p).idx + i)].symbol->Sup.len : 0) + 0));
appendString((*result)._kind_2.labelFmt, (*p).tok->data[(NI)((*p).idx + i)].symbol);
				}
				LA25_: ;
				i_2 += ((NI) 1);
			} LA24: ;
		}
	}
	prevEnum = copyString((*p).tok->data[(NI)((*p).idx + wildIndex__packagesZdocutilsZrst_6182[((*colonenv_).w1)- 0])].symbol);
	(*p).idx += wildToken__packagesZdocutilsZrst_6181[((*colonenv_).w1)- 0];
	{
		while (1) {
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* item;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T32_;
			T32_ = NIM_NIL;
			T32_ = NIM_NIL;
			item = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 9), T32_, ((NimStringDesc*) NIM_NIL));
			pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].col);
			parseSection__packagesZdocutilsZrst_5170(p, item);
			popInd__packagesZdocutilsZrst_2126(p);
			add__packagesZdocutilsZrstast_196(result, item);
			{
				NIM_BOOL T35_;
				NIM_BOOL T36_;
				NimStringDesc* enumerator;
				T35_ = (NIM_BOOL)0;
				T36_ = (NIM_BOOL)0;
				T36_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
				if (!(T36_)) goto LA37_;
				T36_ = ((*p).tok->data[(*p).idx].ival == (*colonenv_).col2);
				LA37_: ;
				T35_ = T36_;
				if (!(T35_)) goto LA38_;
				T35_ = match__packagesZdocutilsZrst_4285((&(*p)), (NI)((*p).idx + ((NI) 1)), wildcards__packagesZdocutilsZrst_6180[((*colonenv_).w1)- 0]);
				LA38_: ;
				if (!T35_) goto LA39_;
				{
					tyProc__TWwcwyFYRc2hmkAA29bgwkg T43_;
					NIM_BOOL T44_;
					nimZeroMem((void*)(&T43_), sizeof(tyProc__TWwcwyFYRc2hmkAA29bgwkg));
					T43_.ClP_0 = checkAfterNewline__packagesZdocutilsZrst_6287; T43_.ClE_0 = colonenv_;
					T44_ = (NIM_BOOL)0;
					T44_ = T43_.ClE_0? T43_.ClP_0((&(*p)), NIM_FALSE, T43_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_263)(T43_.ClP_0))((&(*p)), NIM_FALSE);
					if (!!(T44_)) goto LA45_;
					goto LA30;
				}
				LA45_: ;
				enumerator = (*p).tok->data[(NI)((NI)((*p).idx + ((NI) 1)) + wildIndex__packagesZdocutilsZrst_6182[((*colonenv_).w1)- 0])].symbol;
				{
					NIM_BOOL T49_;
					NI prevEnumI;
					TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_265;
					T49_ = (NIM_BOOL)0;
					T49_ = contains__pureZstrutils_1631(wildcards__packagesZdocutilsZrst_6180[((*colonenv_).w1)- 0], ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_264));
					if (!T49_) goto LA50_;
					pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_265);
					TM__6mNpeIAN05DnDNzb9b3611A_265.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_265.context);
					if (TM__6mNpeIAN05DnDNzb9b3611A_265.status == 0) {
					prevEnumI = nsuParseInt(prevEnum);
					popSafePoint();
					}
					else {
						popSafePoint();
						{
							TM__6mNpeIAN05DnDNzb9b3611A_265.status = 0;
							prevEnumI = ((NI) 1);
							popCurrentException();
						}
					}
					if (TM__6mNpeIAN05DnDNzb9b3611A_265.status != 0) reraiseException();
					{
						NIM_BOOL T56_;
						T56_ = (NIM_BOOL)0;
						T56_ = contains__stdZenumutils_43(autoEnums->data, (autoEnums ? autoEnums->Sup.len : 0), enumerator);
						if (!T56_) goto LA57_;
						{
							NIM_BOOL T61_;
							T61_ = (NIM_BOOL)0;
							T61_ = !(((prevAE ? prevAE->Sup.len : 0) == 0));
							if (!(T61_)) goto LA62_;
							T61_ = !(eqStrings(enumerator, prevAE));
							LA62_: ;
							if (!T61_) goto LA63_;
							goto LA30;
						}
						LA63_: ;
						prevAE = copyString(enumerator);
						curEnum = (NI)(prevEnumI + ((NI) 1));
					}
					goto LA54_;
					LA57_: ;
					{
						TSafePoint TM__6mNpeIAN05DnDNzb9b3611A_266;
						pushSafePoint(&TM__6mNpeIAN05DnDNzb9b3611A_266);
						TM__6mNpeIAN05DnDNzb9b3611A_266.status = setjmp(TM__6mNpeIAN05DnDNzb9b3611A_266.context);
						if (TM__6mNpeIAN05DnDNzb9b3611A_266.status == 0) {
						curEnum = nsuParseInt(enumerator);
						popSafePoint();
						}
						else {
							popSafePoint();
							{
								TM__6mNpeIAN05DnDNzb9b3611A_266.status = 0;
								curEnum = ((NI) 1);
								popCurrentException();
							}
						}
						if (TM__6mNpeIAN05DnDNzb9b3611A_266.status != 0) reraiseException();
					}
					LA54_: ;
					{
						if (!!(((NI)(curEnum - prevEnumI) == ((NI) 1)))) goto LA70_;
						goto LA30;
					}
					LA70_: ;
					prevEnum = copyString(enumerator);
				}
				goto LA47_;
				LA50_: ;
				{
					NI prevEnumI_2;
					prevEnumI_2 = ((NU8)(prevEnum->data[((NI) 0)]));
					{
						if (!eqStrings(enumerator, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_69))) goto LA75_;
						curEnum = (NI)(prevEnumI_2 + ((NI) 1));
					}
					goto LA73_;
					LA75_: ;
					{
						curEnum = ((NU8)(enumerator->data[((NI) 0)]));
					}
					LA73_: ;
					{
						if (!!(((NI)(curEnum - prevEnumI_2) == ((NI) 1)))) goto LA80_;
						goto LA30;
					}
					LA80_: ;
					prevEnum = nimCharToStr(((NIM_CHAR) (((NI) (curEnum)))));
				}
				LA47_: ;
				(*p).idx += (NI)(((NI) 1) + wildToken__packagesZdocutilsZrst_6181[((*colonenv_).w1)- 0]);
			}
			goto LA33_;
			LA39_: ;
			{
				goto LA30;
			}
			LA33_: ;
		}
	} LA30: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDefinitionList__packagesZdocutilsZrst_6141)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI j;
	NI T1_;
	result = NIM_NIL;
	result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	T1_ = (NI)0;
	T1_ = tokenAfterNewline__packagesZdocutilsZrst_5185((&(*p)));
	j = (NI)(T1_ - ((NI) 1));
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NI T9_;
		NI col;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = (((NI) 1) <= j);
		if (!(T6_)) goto LA7_;
		T6_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
		LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T9_ = (NI)0;
		T9_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
		T5_ = (T9_ < (*p).tok->data[j].ival);
		LA8_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA10_;
		T4_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67)));
		LA10_: ;
		if (!T4_) goto LA11_;
		col = (*p).tok->data[(*p).idx].col;
		result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10));
		{
			while (1) {
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T20_;
				{
					NIM_BOOL T17_;
					T17_ = (NIM_BOOL)0;
					T17_ = isOptionList__packagesZdocutilsZrst_5521((&(*p)));
					if (!T17_) goto LA18_;
					goto LA13;
				}
				LA18_: ;
				j = (*p).idx;
				T20_ = NIM_NIL;
				T20_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 12), T20_, ((NimStringDesc*) NIM_NIL));
				parseLine__packagesZdocutilsZrst_5164(p, a);
				{
					NIM_BOOL T23_;
					NIM_BOOL T24_;
					NIM_BOOL T25_;
					NI T27_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T32_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* c;
					tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T33_;
					T23_ = (NIM_BOOL)0;
					T24_ = (NIM_BOOL)0;
					T25_ = (NIM_BOOL)0;
					T25_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T25_)) goto LA26_;
					T27_ = (NI)0;
					T27_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
					T25_ = (T27_ < (*p).tok->data[(*p).idx].ival);
					LA26_: ;
					T24_ = T25_;
					if (!(T24_)) goto LA28_;
					T24_ = !(eqStrings((*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67)));
					LA28_: ;
					T23_ = T24_;
					if (!(T23_)) goto LA29_;
					T23_ = !(((3 &((NU8)1<<((NU)((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind)&7U)))!=0));
					LA29_: ;
					if (!T23_) goto LA30_;
					pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].ival);
					T32_ = NIM_NIL;
					T32_ = NIM_NIL;
					b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 13), T32_, ((NimStringDesc*) NIM_NIL));
					parseSection__packagesZdocutilsZrst_5170(p, b);
					T33_ = NIM_NIL;
					T33_ = NIM_NIL;
					c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 11), T33_, ((NimStringDesc*) NIM_NIL));
					add__packagesZdocutilsZrstast_196(c, a);
					add__packagesZdocutilsZrstast_196(c, b);
					add__packagesZdocutilsZrstast_196(result, c);
					popInd__packagesZdocutilsZrst_2126(p);
				}
				goto LA21_;
				LA30_: ;
				{
					(*p).idx = j;
					goto LA13;
				}
				LA21_: ;
				{
					NIM_BOOL T37_;
					NI T41_;
					T37_ = (NIM_BOOL)0;
					T37_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					if (!(T37_)) goto LA38_;
					T37_ = ((*p).tok->data[(*p).idx].ival == col);
					LA38_: ;
					if (!T37_) goto LA39_;
					(*p).idx += ((NI) 1);
					T41_ = (NI)0;
					T41_ = tokenAfterNewline__packagesZdocutilsZrst_5185((&(*p)));
					j = (NI)(T41_ - ((NI) 1));
					{
						NIM_BOOL T44_;
						NIM_BOOL T45_;
						NIM_BOOL T46_;
						NIM_BOOL T47_;
						T44_ = (NIM_BOOL)0;
						T45_ = (NIM_BOOL)0;
						T46_ = (NIM_BOOL)0;
						T47_ = (NIM_BOOL)0;
						T47_ = (((NI) 1) <= j);
						if (!(T47_)) goto LA48_;
						T47_ = ((*p).tok->data[j].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
						LA48_: ;
						T46_ = T47_;
						if (!(T46_)) goto LA49_;
						T46_ = (col < (*p).tok->data[j].ival);
						LA49_: ;
						T45_ = T46_;
						if (!(T45_)) goto LA50_;
						T45_ = !(eqStrings((*p).tok->data[(NI)(j - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67)));
						LA50_: ;
						T44_ = T45_;
						if (!(T44_)) goto LA51_;
						T44_ = !(((*p).tok->data[(NI)(j + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1)));
						LA51_: ;
						if (!T44_) goto LA52_;
					}
					goto LA42_;
					LA52_: ;
					{
						goto LA13;
					}
					LA42_: ;
				}
				LA39_: ;
			}
		} LA13: ;
		{
			NI T57_;
			T57_ = (NI)0;
			T57_ = len__packagesZdocutilsZrstast_102(result);
			if (!(T57_ == ((NI) 0))) goto LA58_;
			result = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
		}
		LA58_: ;
	}
	LA11_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseTransition__packagesZdocutilsZrst_6039)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4));
	(*p).idx += ((NI) 1);
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	LA3_: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA7_;
		(*p).idx += ((NI) 1);
	}
	LA7_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseUntilNewline__packagesZdocutilsZrst_5167)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				parseInline__packagesZdocutilsZrst_5002(p, father);
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getLevel__packagesZdocutilsZrst_5319)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NIM_CHAR c, NIM_BOOL hasOverline) {
	NI result;
	tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ T11_;
	NI T12_;
	NI T13_;
{	result = (NI)0;
	{
		NI i;
		tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ hType;
		NI i_2;
		NI L;
		NI T2_;
		i = (NI)0;
		nimZeroMem((void*)(&hType), sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ));
		i_2 = ((NI) 0);
		T2_ = ((*(*p).s).hLevels ? (*(*p).s).hLevels->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i_2 < L)) goto LA4;
				i = i_2;
				hType = (*(*p).s).hLevels->data[i_2];
				{
					NIM_BOOL T7_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((NU8)(hType.symbol) == (NU8)(c));
					if (!(T7_)) goto LA8_;
					T7_ = (hType.hasOverline == hasOverline);
					LA8_: ;
					if (!T7_) goto LA9_;
					(*(*p).s).hLevels->data[i].line = curLine__packagesZdocutilsZrst_2077((&(*p)));
					(*(*p).s).hLevels->data[i].hasPeers = NIM_TRUE;
					result = i;
					goto BeforeRet_;
				}
				LA9_: ;
				i_2 += ((NI) 1);
			} LA4: ;
		}
	}
	nimZeroMem((void*)(&T11_), sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ));
	T11_.symbol = c;
	T11_.hasOverline = hasOverline;
	T11_.line = curLine__packagesZdocutilsZrst_2077((&(*p)));
	T11_.hasPeers = NIM_FALSE;
	asgnRef((void**) (&(*(*p).s).hLevels), (tySequence__itU9cAYRNnSMU3pWsbVN4bA*) incrSeqV3((TGenericSeq*)((*(*p).s).hLevels), (&NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_)));
	T12_ = (*(*p).s).hLevels->Sup.len++;
	(*(*p).s).hLevels->data[T12_] = T11_;
	T13_ = ((*(*p).s).hLevels ? (*(*p).s).hLevels->Sup.len : 0);
	result = (NI)(T13_ - ((NI) 1));
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw)(void* p, NI op) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* a;
	a = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*)p;
	nimGCvisit((void*)(*a).p1.tok, op);
	nimGCvisit((void*)(*a).p1.s, op);
	nimGCvisit((void*)(*a).p1.indentStack, op);
	nimGCvisit((void*)(*a).p1.curAnchor, op);
}
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, descr__packagesZdocutilsZrst_5697)(NI l, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* colonenvP_;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T8_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*) ClE_0;
	T1_ = NIM_NIL;
	T2_ = NIM_NIL;
	{
		if (!(*(*colonenvP_).p1.s).hLevels->data[l].hasOverline) goto LA5_;
		T2_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_270));
	}
	goto LA3_;
	LA5_: ;
	{
		T2_ = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_271));
	}
	LA3_: ;
	T8_ = NIM_NIL;
	T8_ = nsuRepeatChar((*(*colonenvP_).p1.s).hLevels->data[l].symbol, ((NI) 5));
	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T8_ ? T8_->Sup.len : 0) + 0);
appendString(T1_, T2_);
appendString(T1_, T8_);
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkHeadingHierarchy__packagesZdocutilsZrst_5694)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI lvl) {
	tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg* colonenv_;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*) newObj((&NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_), sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg));
	objectInit(colonenv_, (&NTIobject__crlV1WNGeShngwIuNh2Hdg_));
	genericAssign((void*)(&(*colonenv_).p1), (void*)p, (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_));
	{
		NimStringDesc* msg;
		NimStringDesc* T5_;
		tyProc__oybrFf5HprJ7Qzy6JCxzgw T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		NimStringDesc* T9_;
		NI T10_;
		NimStringDesc* T11_;
		NimStringDesc* T22_;
		if (!(((NI) 1) < (NI)(lvl - (*(*colonenv_).p1.s).hCurLevel))) goto LA3_;
		msg = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_269));
		T5_ = NIM_NIL;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__oybrFf5HprJ7Qzy6JCxzgw));
		T6_.ClP_0 = descr__packagesZdocutilsZrst_5697; T6_.ClE_0 = colonenv_;
		T7_ = NIM_NIL;
		T7_ = T6_.ClE_0? T6_.ClP_0(lvl, T6_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_272)(T6_.ClP_0))(lvl);
		T5_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 92);
appendString(T5_, T7_);
appendString(T5_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_273));
		msg = resizeString(msg, (T5_ ? T5_->Sup.len : 0) + 0);
appendString(msg, T5_);
		T8_ = NIM_NIL;
		T9_ = NIM_NIL;
		T9_ = dollar___systemZdollars_3((*(*colonenv_).p1.s).hLevels->data[(*(*colonenv_).p1.s).hCurLevel].line);
		T10_ = (NI)0;
		T10_ = curLine__packagesZdocutilsZrst_2077((&(*colonenv_).p1));
		T11_ = NIM_NIL;
		T11_ = dollar___systemZdollars_3(T10_);
		T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T11_ ? T11_->Sup.len : 0) + 3);
appendString(T8_, T9_);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_68));
appendString(T8_, T11_);
appendString(T8_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
		msg = resizeString(msg, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(msg, T8_);
		{
			NI l;
			NI colontmp_;
			NI colontmp__2;
			NI res;
			l = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = (NI)((*(*colonenv_).p1.s).hCurLevel + ((NI) 1));
			colontmp__2 = (NI)(lvl - ((NI) 1));
			res = colontmp_;
			{
				while (1) {
					NimStringDesc* T15_;
					tyProc__oybrFf5HprJ7Qzy6JCxzgw T16_;
					NimStringDesc* T17_;
					if (!(res <= colontmp__2)) goto LA14;
					l = res;
					T15_ = NIM_NIL;
					nimZeroMem((void*)(&T16_), sizeof(tyProc__oybrFf5HprJ7Qzy6JCxzgw));
					T16_.ClP_0 = descr__packagesZdocutilsZrst_5697; T16_.ClE_0 = colonenv_;
					T17_ = NIM_NIL;
					T17_ = T16_.ClE_0? T16_.ClP_0(l, T16_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_274)(T16_.ClP_0))(l);
					T15_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 1);
appendString(T15_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
appendString(T15_, T17_);
					msg = resizeString(msg, (T15_ ? T15_->Sup.len : 0) + 0);
appendString(msg, T15_);
					{
						if (!!((l == (NI)(lvl - ((NI) 1))))) goto LA20_;
						msg = resizeString(msg, 1);
appendString(msg, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_275));
					}
					LA20_: ;
					res += ((NI) 1);
				} LA14: ;
			}
		}
		T22_ = NIM_NIL;
		T22_ = rawNewString((msg ? msg->Sup.len : 0) + 1);
appendString(T22_, msg);
appendString(T22_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_49));
		rstMessage__packagesZdocutilsZrst_2085((&(*colonenv_).p1), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), T22_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseHeadline__packagesZdocutilsZrst_5706)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NimStringDesc* T9_;
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isMarkdownHeadline__packagesZdocutilsZrst_5528((&(*p)));
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3), T6_, ((NimStringDesc*) NIM_NIL));
		(*result)._kind_5.level = ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0);
		(*p).idx += ((NI) 2);
		parseUntilNewline__packagesZdocutilsZrst_5167(p, result);
	}
	goto LA1_;
	LA4_: ;
	{
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T8_;
		NIM_CHAR c;
		T8_ = NIM_NIL;
		T8_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1), T8_, ((NimStringDesc*) NIM_NIL));
		parseUntilNewline__packagesZdocutilsZrst_5167(p, result);
		c = (*p).tok->data[(NI)((*p).idx + ((NI) 1))].symbol->data[((NI) 0)];
		(*p).idx += ((NI) 2);
		(*result)._kind_5.level = getLevel__packagesZdocutilsZrst_5319(p, c, NIM_FALSE);
		checkHeadingHierarchy__packagesZdocutilsZrst_5694((&(*p)), (*result)._kind_5.level);
		(*(*p).s).hCurLevel = (*result)._kind_5.level;
	}
	LA1_: ;
	T9_ = NIM_NIL;
	T9_ = rstnodeToRefname__packagesZdocutilsZrst_59(result);
	addAnchor__packagesZdocutilsZrst_2308(p, T9_, NIM_TRUE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOverline__packagesZdocutilsZrst_5739)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NIM_CHAR c;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	NimStringDesc* T24_;
	result = NIM_NIL;
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	(*p).idx += ((NI) 2);
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2), T1_, ((NimStringDesc*) NIM_NIL));
	{
		while (1) {
			parseUntilNewline__packagesZdocutilsZrst_5167(p, result);
			{
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6_;
				(*p).idx += ((NI) 1);
				{
					NI T10_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T13_;
					T10_ = (NI)0;
					T10_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
					if (!(T10_ < (*p).tok->data[(NI)((*p).idx - ((NI) 1))].ival)) goto LA11_;
					T13_ = NIM_NIL;
					T13_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
					add__packagesZdocutilsZrstast_196(result, T13_);
				}
				goto LA8_;
				LA11_: ;
				{
					goto LA2;
				}
				LA8_: ;
			}
			goto LA4_;
			LA6_: ;
			{
				goto LA2;
			}
			LA4_: ;
		}
	} LA2: ;
	(*result)._kind_5.level = getLevel__packagesZdocutilsZrst_5319(p, c, NIM_TRUE);
	checkHeadingHierarchy__packagesZdocutilsZrst_5694((&(*p)), (*result)._kind_5.level);
	(*(*p).s).hCurLevel = (*result)._kind_5.level;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4))) goto LA18_;
		(*p).idx += ((NI) 1);
		{
			if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA22_;
			(*p).idx += ((NI) 1);
		}
		LA22_: ;
	}
	LA18_: ;
	T24_ = NIM_NIL;
	T24_ = rstnodeToRefname__packagesZdocutilsZrst_59(result);
	addAnchor__packagesZdocutilsZrst_2308(p, T24_, NIM_TRUE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, tokEnd__packagesZdocutilsZrst_5778)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)((*p).tok->data[(*p).idx].col + ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0)) - ((NI) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getColumns__packagesZdocutilsZrst_5781)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tySequence__qwqHTkRvwhrRyENtudHQ7g** cols) {
	NI L;
	L = ((NI) 0);
	{
		while (1) {
			L += ((NI) 1);
			unsureAsgnRef((void**) (&(*cols)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*cols))->Sup, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (L))));
			(*cols)->data[(NI)(L - ((NI) 1))] = tokEnd__packagesZdocutilsZrst_5778((&(*p)));
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2)))) goto LA5_;
				goto LA1;
			}
			LA5_: ;
			(*p).idx += ((NI) 1);
			{
				if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4)))) goto LA9_;
				goto LA1;
			}
			LA9_: ;
		}
	} LA1: ;
	{
		if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA13_;
		(*p).idx += ((NI) 1);
	}
	LA13_: ;
	(*cols)->data[(NI)(L - ((NI) 1))] = ((NI) 32000);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSimpleTable__packagesZdocutilsZrst_5826)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__qwqHTkRvwhrRyENtudHQ7g* cols;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* row;
	NI i;
	NI last;
	NI line;
	NIM_CHAR c;
	tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ q;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
	result = NIM_NIL;
	cols = NIM_NIL;
	row = NIM_NIL;
	i = (NI)0;
	last = (NI)0;
	line = (NI)0;
	c = (NIM_CHAR)0;
	nimZeroMem((void*)(&q), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	q.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	a = NIM_NIL;
	b = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30));
	cols = NIM_NIL;
	row = NIM_NIL;
	a = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
	c = (*p).tok->data[(*p).idx].symbol->data[((NI) 0)];
	{
		while (1) {
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T58_;
			{
				NI T11_;
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4))) goto LA5_;
				last = tokenAfterNewline__packagesZdocutilsZrst_5185((&(*p)));
				{
					if (!((3 &((NU8)1<<((NU)((*p).tok->data[last].kind)&7U)))!=0)) goto LA9_;
					(*p).idx = last;
					goto LA1;
				}
				LA9_: ;
				getColumns__packagesZdocutilsZrst_5781(p, (&cols));
				T11_ = (cols ? cols->Sup.len : 0);
				row = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&(row)->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) (T11_)));
				{
					if (!!((a == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA14_;
					{
						NI j;
						NI colontmp_;
						NI i_2;
						j = (NI)0;
						colontmp_ = (NI)0;
						colontmp_ = len__packagesZdocutilsZrstast_102(a);
						i_2 = ((NI) 0);
						{
							while (1) {
								if (!(i_2 < colontmp_)) goto LA18;
								j = i_2;
								asgnRef((void**) (&(*a).sons->data[j]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), (*(*a).sons->data[j]).sons, ((NimStringDesc*) NIM_NIL)));
								i_2 += ((NI) 1);
							} LA18: ;
						}
					}
				}
				LA14_: ;
			}
			LA5_: ;
			{
				if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0))) goto LA21_;
				goto LA1;
			}
			LA21_: ;
			{
				NI j_2;
				NI colontmp__2;
				NI T24_;
				NI res;
				j_2 = (NI)0;
				colontmp__2 = (NI)0;
				T24_ = ((row ? row->Sup.len : 0)-1);
				colontmp__2 = T24_;
				res = ((NI) 0);
				{
					while (1) {
						if (!(res <= colontmp__2)) goto LA26;
						j_2 = res;
						asgnRef((void**) (&row->data[j_2]), ((NimStringDesc*) NIM_NIL));
						res += ((NI) 1);
					} LA26: ;
				}
			}
			line = (*p).tok->data[(*p).idx].line;
			{
				while (1) {
					i = ((NI) 0);
					{
						while (1) {
							if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA30;
							{
								NI T33_;
								T33_ = (NI)0;
								T33_ = tokEnd__packagesZdocutilsZrst_5778((&(*p)));
								if (!(T33_ <= cols->data[i])) goto LA34_;
								asgnRef((void**) (&row->data[i]), resizeString(row->data[i], ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0) + 0));
appendString(row->data[i], (*p).tok->data[(*p).idx].symbol);
								(*p).idx += ((NI) 1);
							}
							goto LA31_;
							LA34_: ;
							{
								{
									if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2))) goto LA39_;
									(*p).idx += ((NI) 1);
								}
								LA39_: ;
								i += ((NI) 1);
							}
							LA31_: ;
						} LA30: ;
					}
					{
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA43_;
						(*p).idx += ((NI) 1);
					}
					LA43_: ;
					{
						NI T47_;
						T47_ = (NI)0;
						T47_ = tokEnd__packagesZdocutilsZrst_5778((&(*p)));
						if (!(T47_ <= cols->data[((NI) 0)])) goto LA48_;
						goto LA27;
					}
					LA48_: ;
					{
						if (!((17 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA52_;
						goto LA27;
					}
					LA52_: ;
					{
						NI j_3;
						NI colontmp__3;
						NI T55_;
						NI res_2;
						j_3 = (NI)0;
						colontmp__3 = (NI)0;
						T55_ = ((row ? row->Sup.len : 0)-1);
						colontmp__3 = T55_;
						res_2 = ((NI) 1);
						{
							while (1) {
								if (!(res_2 <= colontmp__3)) goto LA57;
								j_3 = res_2;
								asgnRef((void**) (&row->data[j_3]), addChar(row->data[j_3], 10));
								res_2 += ((NI) 1);
							} LA57: ;
						}
					}
				}
			} LA27: ;
			T58_ = NIM_NIL;
			T58_ = NIM_NIL;
			a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 33), T58_, ((NimStringDesc*) NIM_NIL));
			{
				NI j_4;
				NI colontmp__4;
				NI T60_;
				NI res_3;
				j_4 = (NI)0;
				colontmp__4 = (NI)0;
				T60_ = ((row ? row->Sup.len : 0)-1);
				colontmp__4 = T60_;
				res_3 = ((NI) 0);
				{
					while (1) {
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T63_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T64_;
						if (!(res_3 <= colontmp__4)) goto LA62;
						j_4 = res_3;
						initParser__packagesZdocutilsZrst_2138((&q), (*p).s);
						q.col = cols->data[j_4];
						q.line = (NI)(line - ((NI) 1));
						getTokens__packagesZdocutilsZrst_237(row->data[j_4], (&q.tok));
						T63_ = NIM_NIL;
						T63_ = NIM_NIL;
						b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), T63_, ((NimStringDesc*) NIM_NIL));
						T64_ = NIM_NIL;
						T64_ = parseDoc__packagesZdocutilsZrst_5824((&q));
						add__packagesZdocutilsZrstast_196(b, T64_);
						add__packagesZdocutilsZrstast_196(a, b);
						res_3 += ((NI) 1);
					} LA62: ;
				}
			}
			add__packagesZdocutilsZrstast_196(result, a);
		}
	} LA1: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q)(void* p, NI op) {
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* a;
	a = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*)p;
	nimGCvisit((void*)(*a).row1, op);
	nimGCvisit((void*)(*a).a3, op);
	nimGCvisit((void*)(*a).b4, op);
	nimGCvisit((void*)(*a).q5.tok, op);
	nimGCvisit((void*)(*a).q5.s, op);
	nimGCvisit((void*)(*a).q5.indentStack, op);
	nimGCvisit((void*)(*a).q5.curAnchor, op);
}
N_LIB_PRIVATE N_NIMCALL(tySequence__8Np6tlClE5az1CyqZdN19bQ*, readTableRow__packagesZdocutilsZrst_5942)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tySequence__8Np6tlClE5az1CyqZdN19bQ* result;
	result = NIM_NIL;
	{
		if (!eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77))) goto LA3_;
		(*p).idx += ((NI) 1);
	}
	LA3_: ;
	{
		while (1) {
			tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ limits;
			NI T15_;
			if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA6;
			nimZeroMem((void*)(&limits), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
			limits.Field0 = (*p).idx;
			{
				while (1) {
					if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA8;
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
						if (!(T11_)) goto LA12_;
						T11_ = !(eqStrings((*p).tok->data[(NI)((*p).idx - ((NI) 1))].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_65)));
						LA12_: ;
						if (!T11_) goto LA13_;
						goto LA7;
					}
					LA13_: ;
					(*p).idx += ((NI) 1);
				} LA8: ;
			} LA7: ;
			limits.Field1 = (*p).idx;
			result = (tySequence__8Np6tlClE5az1CyqZdN19bQ*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_));
			T15_ = result->Sup.len++;
			result->data[T15_] = limits;
			{
				if (!((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0)) goto LA18_;
				goto LA5;
			}
			LA18_: ;
			(*p).idx += ((NI) 1);
		} LA6: ;
	} LA5: ;
	(*p).idx = tokenAfterNewline__packagesZdocutilsZrst_5185((&(*p)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getColContents__packagesZdocutilsZrst_5974)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colLim) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = colLim.Field0;
		{
			while (1) {
				if (!(i_2 < colLim.Field1)) goto LA3;
				i = i_2;
				result = resizeString(result, ((*p).tok->data[i].symbol ? (*p).tok->data[i].symbol->Sup.len : 0) + 0);
appendString(result, (*p).tok->data[i].symbol);
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	result = nsuStrip(result, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, parseRow__packagesZdocutilsZrst_6020)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ cellKind, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result, void* ClE_0) {
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* colonenvP_;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
	colonenvP_ = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*) ClE_0;
	asgnRef((void**) (&(*colonenvP_).row1), readTableRow__packagesZdocutilsZrst_5942(p));
	{
		NI T5_;
		if (!((*colonenvP_).colNum2 == ((NI) 0))) goto LA3_;
		T5_ = ((*colonenvP_).row1 ? (*colonenvP_).row1->Sup.len : 0);
		(*colonenvP_).colNum2 = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NI T7_;
		T7_ = ((*colonenvP_).row1 ? (*colonenvP_).row1->Sup.len : 0);
		if (!(T7_ < (*colonenvP_).colNum2)) goto LA8_;
		asgnRef((void**) (&(*colonenvP_).row1), (tySequence__8Np6tlClE5az1CyqZdN19bQ*) setLengthSeqV2(&((*colonenvP_).row1)->Sup, (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_), ((NI) ((*colonenvP_).colNum2))));
	}
	goto LA1_;
	LA8_: ;
	LA1_: ;
	T10_ = NIM_NIL;
	T10_ = NIM_NIL;
	asgnRef((void**) (&(*colonenvP_).a3), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 33), T10_, ((NimStringDesc*) NIM_NIL)));
	{
		NI j;
		NI i;
		j = (NI)0;
		i = ((NI) 0);
		{
			while (1) {
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T14_;
				NimStringDesc* T15_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
				if (!(i < (*colonenvP_).colNum2)) goto LA13;
				j = i;
				T14_ = NIM_NIL;
				T14_ = NIM_NIL;
				asgnRef((void**) (&(*colonenvP_).b4), newRstNode__packagesZdocutilsZrstast_109(cellKind, T14_, ((NimStringDesc*) NIM_NIL)));
				initParser__packagesZdocutilsZrst_2138((&(*colonenvP_).q5), (*p).s);
				(*colonenvP_).q5.col = (*p).col;
				(*colonenvP_).q5.line = (NI)((*p).tok->data[(*p).idx].line - ((NI) 1));
				T15_ = NIM_NIL;
				T15_ = getColContents__packagesZdocutilsZrst_5974(p, (*colonenvP_).row1->data[j]);
				getTokens__packagesZdocutilsZrst_237(T15_, (&(*colonenvP_).q5.tok));
				T16_ = NIM_NIL;
				T16_ = parseDoc__packagesZdocutilsZrst_5824((&(*colonenvP_).q5));
				add__packagesZdocutilsZrstast_196((*colonenvP_).b4, T16_);
				add__packagesZdocutilsZrstast_196((*colonenvP_).a3, (*colonenvP_).b4);
				i += ((NI) 1);
			} LA13: ;
		}
	}
	add__packagesZdocutilsZrstast_196(result, (*colonenvP_).a3);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidDelimiterRow__packagesZdocutilsZrst_5983)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, NI colNum) {
	NIM_BOOL result;
	tySequence__8Np6tlClE5az1CyqZdN19bQ* row;
{	result = (NIM_BOOL)0;
	row = readTableRow__packagesZdocutilsZrst_5942(p);
	{
		NI T3_;
		T3_ = (row ? row->Sup.len : 0);
		if (!!((T3_ == colNum))) goto LA4_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* limits;
		NI i;
		NI L;
		NI T7_;
		limits = (tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ*)0;
		i = ((NI) 0);
		T7_ = (row ? row->Sup.len : 0);
		L = T7_;
		{
			while (1) {
				NimStringDesc* content;
				if (!(i < L)) goto LA9;
				limits = (&row->data[i]);
				content = getColContents__packagesZdocutilsZrst_5974(p, (*limits));
				{
					NIM_BOOL T12_;
					NIM_BOOL T14_;
					T12_ = (NIM_BOOL)0;
					T12_ = ((content ? content->Sup.len : 0) < ((NI) 3));
					if (T12_) goto LA13_;
					T14_ = (NIM_BOOL)0;
					T14_ = nsuStartsWith(content, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_278));
					if (T14_) goto LA15_;
					T14_ = nsuStartsWith(content, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_279));
					LA15_: ;
					T12_ = !(T14_);
					LA13_: ;
					if (!T12_) goto LA16_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA16_: ;
				i += ((NI) 1);
			} LA9: ;
		}
	}
	result = NIM_TRUE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseMarkdownTable__packagesZdocutilsZrst_6012)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ* colonenv_;
	tyProc__OBLbZMF9cZ0RIuutSABbCrQ T1_;
	result = NIM_NIL;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*) newObj((&NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_), sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ));
	objectInit(colonenv_, (&NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_));
	asgnRef((void**) (&(*colonenv_).row1), NIM_NIL);
	(*colonenv_).colNum2 = (NI)0;
	asgnRef((void**) (&(*colonenv_).a3), NIM_NIL);
	asgnRef((void**) (&(*colonenv_).b4), NIM_NIL);
	nimZeroMem((void*)(&(*colonenv_).q5), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	(*colonenv_).q5.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32));
	nimZeroMem((void*)(&T1_), sizeof(tyProc__OBLbZMF9cZ0RIuutSABbCrQ));
	T1_.ClP_0 = parseRow__packagesZdocutilsZrst_6020; T1_.ClE_0 = colonenv_;
	T1_.ClE_0? T1_.ClP_0(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), result, T1_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_277)(T1_.ClP_0))(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 34), result);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = isValidDelimiterRow__packagesZdocutilsZrst_5983(p, (*colonenv_).colNum2);
		if (!!(T4_)) goto LA5_;
		rstMessage__packagesZdocutilsZrst_2109((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 3));
	}
	LA5_: ;
	{
		while (1) {
			NIM_BOOL T9_;
			tyProc__OBLbZMF9cZ0RIuutSABbCrQ T11_;
			T9_ = (NIM_BOOL)0;
			T9_ = predNL__packagesZdocutilsZrst_5506((&(*p)));
			if (!(T9_)) goto LA10_;
			T9_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_77));
			LA10_: ;
			if (!T9_) goto LA8;
			nimZeroMem((void*)(&T11_), sizeof(tyProc__OBLbZMF9cZ0RIuutSABbCrQ));
			T11_.ClP_0 = parseRow__packagesZdocutilsZrst_6020; T11_.ClE_0 = colonenv_;
			T11_.ClE_0? T11_.ClP_0(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), result, T11_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_280)(T11_.ClP_0))(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 35), result);
		} LA8: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseOptionList__packagesZdocutilsZrst_6088)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	NI col;
	NI order;
	result = NIM_NIL;
	result = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18));
	col = (*p).tok->data[(*p).idx].col;
	order = ((NI) 1);
	{
		while (1) {
			{
				NIM_BOOL T5_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T9_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* b;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T10_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* c;
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T11_;
				NI j;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*p).tok->data[(*p).idx].col == col);
				if (!(T5_)) goto LA6_;
				T5_ = isOptionList__packagesZdocutilsZrst_5521((&(*p)));
				LA6_: ;
				if (!T5_) goto LA7_;
				T9_ = NIM_NIL;
				T9_ = NIM_NIL;
				a = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 20), T9_, ((NimStringDesc*) NIM_NIL));
				T10_ = NIM_NIL;
				T10_ = NIM_NIL;
				b = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 24), T10_, ((NimStringDesc*) NIM_NIL));
				T11_ = NIM_NIL;
				T11_ = NIM_NIL;
				c = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 19), T11_, ((NimStringDesc*) NIM_NIL));
				{
					NIM_BOOL T14_;
					T14_ = (NIM_BOOL)0;
					T14_ = match__packagesZdocutilsZrst_4285((&(*p)), (*p).idx, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_100));
					if (!T14_) goto LA15_;
					(*p).idx += ((NI) 1);
				}
				LA15_: ;
				{
					while (1) {
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T25_;
						if (!!(((3 &((NU8)1<<((NU)((*p).tok->data[(*p).idx].kind)&7U)))!=0))) goto LA18;
						{
							NIM_BOOL T21_;
							T21_ = (NIM_BOOL)0;
							T21_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2));
							if (!(T21_)) goto LA22_;
							T21_ = (((NI) 1) < ((*p).tok->data[(*p).idx].symbol ? (*p).tok->data[(*p).idx].symbol->Sup.len : 0));
							LA22_: ;
							if (!T21_) goto LA23_;
							(*p).idx += ((NI) 1);
							goto LA17;
						}
						LA23_: ;
						T25_ = NIM_NIL;
						T25_ = newLeaf__packagesZdocutilsZrst_4026(p);
						add__packagesZdocutilsZrstast_196(a, T25_);
						(*p).idx += ((NI) 1);
					} LA18: ;
				} LA17: ;
				j = tokenAfterNewline__packagesZdocutilsZrst_5185((&(*p)));
				{
					NIM_BOOL T28_;
					NIM_BOOL T29_;
					NI T32_;
					T28_ = (NIM_BOOL)0;
					T29_ = (NIM_BOOL)0;
					T29_ = (((NI) 0) < j);
					if (!(T29_)) goto LA30_;
					T29_ = ((*p).tok->data[(NI)(j - ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					LA30_: ;
					T28_ = T29_;
					if (!(T28_)) goto LA31_;
					T32_ = (NI)0;
					T32_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
					T28_ = (T32_ < (*p).tok->data[(NI)(j - ((NI) 1))].ival);
					LA31_: ;
					if (!T28_) goto LA33_;
					pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(NI)(j - ((NI) 1))].ival);
					parseSection__packagesZdocutilsZrst_5170(p, b);
					popInd__packagesZdocutilsZrst_2126(p);
				}
				goto LA26_;
				LA33_: ;
				{
					parseLine__packagesZdocutilsZrst_5164(p, b);
				}
				LA26_: ;
				{
					while (1) {
						if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA37;
						(*p).idx += ((NI) 1);
					} LA37: ;
				}
				add__packagesZdocutilsZrstast_196(c, a);
				add__packagesZdocutilsZrstast_196(c, b);
				(*c)._kind_6.order = order;
				order += ((NI) 1);
				add__packagesZdocutilsZrstast_196(result, c);
			}
			goto LA3_;
			LA7_: ;
			{
				{
					if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA41_;
					(*p).idx -= ((NI) 1);
				}
				LA41_: ;
				goto LA1;
			}
			LA3_: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseParagraph__packagesZdocutilsZrst_5671)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result) {
	{
		while (1) {
			switch ((*p).tok->data[(*p).idx].kind) {
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1):
			{
				{
					if (!((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA6_;
					(*p).idx += ((NI) 1);
					goto LA1;
				}
				goto LA4_;
				LA6_: ;
				{
					NI T9_;
					tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T12_;
					T9_ = (NI)0;
					T9_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
					if (!((*p).tok->data[(*p).idx].ival == T9_)) goto LA10_;
					(*p).idx += ((NI) 1);
					T12_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
					T12_ = whichSection__packagesZdocutilsZrst_5556((&(*p)));
					switch (T12_) {
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T14_;
						T14_ = NIM_NIL;
						T14_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_139));
						add__packagesZdocutilsZrstast_196(result, T14_);
					}
					break;
					case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27):
					{
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T16_;
						T16_ = NIM_NIL;
						T16_ = parseLineBlock__packagesZdocutilsZrst_5638(p);
						addIfNotNil__packagesZdocutilsZrstast_210(result, T16_);
					}
					break;
					default:
					{
						goto LA1;
					}
					break;
					}
				}
				goto LA4_;
				LA10_: ;
				{
					goto LA1;
				}
				LA4_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 5):
			{
				{
					NIM_BOOL T22_;
					NIM_BOOL T23_;
					NI T26_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T29_;
					tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T30_;
					T22_ = (NIM_BOOL)0;
					T23_ = (NIM_BOOL)0;
					T23_ = eqStrings((*p).tok->data[(*p).idx].symbol, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_67));
					if (!(T23_)) goto LA24_;
					T23_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
					LA24_: ;
					T22_ = T23_;
					if (!(T22_)) goto LA25_;
					T26_ = (NI)0;
					T26_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
					T22_ = (T26_ < (*p).tok->data[(NI)((*p).idx + ((NI) 1))].ival);
					LA25_: ;
					if (!T22_) goto LA27_;
					T29_ = NIM_NIL;
					T29_ = newRstLeaf__packagesZdocutilsZrstast_187(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
					add__packagesZdocutilsZrstast_196(result, T29_);
					(*p).idx += ((NI) 1);
					T30_ = NIM_NIL;
					T30_ = parseLiteralBlock__packagesZdocutilsZrst_5286(p);
					add__packagesZdocutilsZrstast_196(result, T30_);
					goto LA1;
				}
				goto LA20_;
				LA27_: ;
				{
					parseInline__packagesZdocutilsZrst_5002(p, result);
				}
				LA20_: ;
			}
			break;
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 2):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 3):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 4):
			case ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 6):
			{
				parseInline__packagesZdocutilsZrst_5002(p, result);
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ, sonKind__packagesZdocutilsZrst_6357)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* father, NI i) {
	tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ result;
	result = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
	result = ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__packagesZdocutilsZrstast_102(father);
		if (!(i < T3_)) goto LA4_;
		result = (*(*father).sons->data[i]).kind;
	}
	LA4_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, parseSection__packagesZdocutilsZrst_5170)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result) {
	{
		while (1) {
			NIM_BOOL leave;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a_2;
			tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ k;
			leave = NIM_FALSE;
			{
				while (1) {
					if (!((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1))) goto LA4;
					{
						NI T7_;
						T7_ = (NI)0;
						T7_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
						if (!(T7_ == (*p).tok->data[(*p).idx].ival)) goto LA8_;
						(*p).idx += ((NI) 1);
					}
					goto LA5_;
					LA8_: ;
					{
						NI T11_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* a;
						T11_ = (NI)0;
						T11_ = currInd__packagesZdocutilsZrst_2113((&(*p)));
						if (!(T11_ < (*p).tok->data[(*p).idx].ival)) goto LA12_;
						pushInd__packagesZdocutilsZrst_2119(p, (*p).tok->data[(*p).idx].ival);
						a = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 29));
						parseSection__packagesZdocutilsZrst_5170(p, a);
						add__packagesZdocutilsZrstast_196(result, a);
						popInd__packagesZdocutilsZrst_2126(p);
					}
					goto LA5_;
					LA12_: ;
					{
						{
							while (1) {
								NIM_BOOL T17_;
								T17_ = (NIM_BOOL)0;
								T17_ = !(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)));
								if (!(T17_)) goto LA18_;
								T17_ = ((*p).tok->data[(NI)((*p).idx + ((NI) 1))].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 1));
								LA18_: ;
								if (!T17_) goto LA16;
								(*p).idx += ((NI) 1);
							} LA16: ;
						}
						leave = NIM_TRUE;
						goto LA3;
					}
					LA5_: ;
				} LA4: ;
			} LA3: ;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = leave;
				if (T21_) goto LA22_;
				T21_ = ((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0));
				LA22_: ;
				if (!T21_) goto LA23_;
				goto LA1;
			}
			LA23_: ;
			a_2 = ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL);
			k = whichSection__packagesZdocutilsZrst_5556((&(*p)));
			switch (k) {
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 25):
			{
				(*p).idx += ((NI) 1);
				a_2 = parseLiteralBlock__packagesZdocutilsZrst_5286(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 6):
			{
				a_2 = parseBulletList__packagesZdocutilsZrst_6062(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 27):
			{
				a_2 = parseLineBlock__packagesZdocutilsZrst_5638(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44):
			{
				a_2 = parseDotDot__packagesZdocutilsZrst_5284(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 8):
			{
				a_2 = parseEnumList__packagesZdocutilsZrst_6177(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
			{
				rstMessage__packagesZdocutilsZrst_2085((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 4), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_267));
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5):
			{
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 10):
			{
				a_2 = parseDefinitionList__packagesZdocutilsZrst_6141(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 14):
			{
				{
					if (!(((NI) 0) < (*p).idx)) goto LA36_;
					(*p).idx -= ((NI) 1);
				}
				LA36_: ;
				a_2 = parseFields__packagesZdocutilsZrst_5211(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 4):
			{
				a_2 = parseTransition__packagesZdocutilsZrst_6039(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 3):
			{
				a_2 = parseHeadline__packagesZdocutilsZrst_5706(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
			{
				a_2 = parseOverline__packagesZdocutilsZrst_5739(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 30):
			{
				a_2 = parseSimpleTable__packagesZdocutilsZrst_5826(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 32):
			{
				a_2 = parseMarkdownTable__packagesZdocutilsZrst_6012(p);
			}
			break;
			case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 18):
			{
				a_2 = parseOptionList__packagesZdocutilsZrst_6088(p);
			}
			break;
			default:
			{
			}
			break;
			}
			{
				NIM_BOOL T47_;
				T47_ = (NIM_BOOL)0;
				T47_ = (a_2 == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL));
				if (!(T47_)) goto LA48_;
				T47_ = !((k == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 44)));
				LA48_: ;
				if (!T47_) goto LA49_;
				a_2 = newRstNodeA__packagesZdocutilsZrst_4020(p, ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5));
				parseParagraph__packagesZdocutilsZrst_5671(p, a_2);
			}
			LA49_: ;
			addIfNotNil__packagesZdocutilsZrstast_210(result, a_2);
		}
	} LA1: ;
	{
		NIM_BOOL T53_;
		tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T54_;
		tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ T56_;
		T53_ = (NIM_BOOL)0;
		T54_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
		T54_ = sonKind__packagesZdocutilsZrst_6357(result, ((NI) 0));
		T53_ = (T54_ == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5));
		if (!(T53_)) goto LA55_;
		T56_ = (tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ)0;
		T56_ = sonKind__packagesZdocutilsZrst_6357(result, ((NI) 1));
		T53_ = !((T56_ == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 5)));
		LA55_: ;
		if (!T53_) goto LA57_;
		asgnRef((void**) (&(*result).sons->data[((NI) 0)]), newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*(*result).sons->data[((NI) 0)]).sons, (*(*result).sons->data[((NI) 0)]).anchor));
	}
	LA57_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseSectionWrapper__packagesZdocutilsZrst_6419)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = NIM_NIL;
	result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T1_, ((NimStringDesc*) NIM_NIL));
	parseSection__packagesZdocutilsZrst_5170(p, result);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T6_;
			T4_ = (NIM_BOOL)0;
			T4_ = ((*result).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0));
			if (!(T4_)) goto LA5_;
			T6_ = (NI)0;
			T6_ = len__packagesZdocutilsZrstast_102(result);
			T4_ = (T6_ == ((NI) 1));
			LA5_: ;
			if (!T4_) goto LA3;
			result = (*result).sons->data[((NI) 0)];
		} LA3: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, parseDoc__packagesZdocutilsZrst_5824)(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ* p) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	result = NIM_NIL;
	result = parseSectionWrapper__packagesZdocutilsZrst_6419(p);
	{
		if (!!(((*p).tok->data[(*p).idx].kind == ((tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA) 0)))) goto LA3_;
		rstMessage__packagesZdocutilsZrst_2109((&(*p)), ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 5));
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, rstParsePass1__packagesZdocutilsZrst_6756)(NimStringDesc* fragment, NI line, NI column, tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* sharedState) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
	tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ p;
	result = NIM_NIL;
	nimZeroMem((void*)(&p), sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ));
	p.Sup.m_type = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
	initParser__packagesZdocutilsZrst_2138((&p), sharedState);
	p.line = line;
	p.col = column;
	getTokens__packagesZdocutilsZrst_237(fragment, (&p.tok));
	result = parseDoc__packagesZdocutilsZrst_5824((&p));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, countTitles__packagesZdocutilsZrst_5381)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
{	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ** node;
		NI i;
		NI L;
		NI T6_;
		node = (tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ**)0;
		i = ((NI) 0);
		T6_ = ((*n).sons ? (*n).sons->Sup.len : 0);
		L = T6_;
		{
			while (1) {
				if (!(i < L)) goto LA8;
				node = &(*n).sons->data[i];
				{
					if (!!(((*node) == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA11_;
					{
						if (!!(((*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2) || (*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 57) || (*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 72)))) goto LA15_;
						goto LA5;
					}
					LA15_: ;
					{
						if (!((*(*node)).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2))) goto LA19_;
						{
							if (!(*s).hLevels->data[(*s).hTitleCnt].hasPeers) goto LA23_;
							goto LA5;
						}
						LA23_: ;
						(*s).hTitleCnt += ((NI) 1);
						{
							if (!(((NI) 2) <= (*s).hTitleCnt)) goto LA27_;
							goto LA5;
						}
						LA27_: ;
					}
					LA19_: ;
				}
				LA11_: ;
				i += ((NI) 1);
			} LA8: ;
		}
	} LA5: ;
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw)(void* p, NI op) {
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* a;
	a = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*)p;
	nimGCvisit((void*)(*a).s1, op);
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2090)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* T1_;
	T1_ = NIM_NIL;
	T1_ = currFilename__packagesZdocutilsZrst_2016(s);
	(*s).msgHandler.ClE_0? (*s).msgHandler.ClP_0(T1_, ((NI) 1), ((NI) 0), msgKind, arg, (*s).msgHandler.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_282)((*s).msgHandler.ClP_0))(T1_, ((NI) 1), ((NI) 0), msgKind, arg);
}
static N_INLINE(NimStringDesc**, X5BX5D___packagesZdocutilsZrst_2551)(NimStringDesc** s, NI sLen_0, NI i) {
	NimStringDesc** result;
	result = (NimStringDesc**)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, listFootnotes__packagesZdocutilsZrst_2519)(tySequence__SugKu9bev7GtgZTDZMD2xgw* locations, void* ClE_0) {
	NimStringDesc* result;
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* colonenvP_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
	NimStringDesc* T17_;
	NI T18_;
	NimStringDesc* T19_;
	NimStringDesc* T20_;
	result = NIM_NIL;
	colonenvP_ = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*) ClE_0;
	lines = NIM_NIL;
	{
		tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA* info;
		NI i;
		NI L;
		NI T2_;
		info = (tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA*)0;
		i = ((NI) 0);
		T2_ = (locations ? locations->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NimStringDesc** T15_;
				NimStringDesc* T16_;
				if (!(i < L)) goto LA4;
				info = (&locations->data[i]);
				{
					NI T7_;
					NimStringDesc* file;
					NimStringDesc* T10_;
					NI T11_;
					NimStringDesc* T12_;
					T7_ = (NI)0;
					T7_ = len__packagesZdocutilsZrst_538((*(*colonenvP_).s1).filenames);
					if (!(((NI) 1) < T7_)) goto LA8_;
					file = getFilename__packagesZdocutilsZrst_2007((*(*colonenvP_).s1).filenames, (*info).fileIndex);
					T10_ = NIM_NIL;
					T10_ = rawNewString((file ? file->Sup.len : 0) + 1);
appendString(T10_, file);
appendString(T10_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_102));
					lines = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(lines), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
					T11_ = lines->Sup.len++;
					T12_ = NIM_NIL;
					T12_ = lines->data[T11_]; lines->data[T11_] = copyStringRC1(T10_);
					if (T12_) nimGCunrefNoCycle(T12_);
				}
				goto LA5_;
				LA8_: ;
				{
					NI T14_;
					lines = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(lines), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
					T14_ = lines->Sup.len++;
					asgnRef((void**) (&lines->data[T14_]), ((NimStringDesc*) NIM_NIL));
				}
				LA5_: ;
				T15_ = (NimStringDesc**)0;
				T15_ = X5BX5D___packagesZdocutilsZrst_2551(lines->data, (lines ? lines->Sup.len : 0), ((NI) 1));
				T16_ = NIM_NIL;
				T16_ = dollar___systemZdollars_9(((NU64) ((*info).line)));
				unsureAsgnRef((void**) (&(*T15_)), resizeString((*T15_), (T16_ ? T16_->Sup.len : 0) + 0));
appendString((*T15_), T16_);
				i += ((NI) 1);
			} LA4: ;
		}
	}
	T17_ = NIM_NIL;
	T18_ = (lines ? lines->Sup.len : 0);
	T19_ = NIM_NIL;
	T19_ = dollar___systemZdollars_3(T18_);
	T20_ = NIM_NIL;
	T20_ = nsuJoinSep(lines->data, (lines ? lines->Sup.len : 0), ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_48));
	T17_ = rawNewString((T19_ ? T19_->Sup.len : 0) + (T20_ ? T20_->Sup.len : 0) + 9);
appendString(T17_, T19_);
appendString(T17_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_284));
appendString(T17_, T20_);
appendString(T17_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_49));
	result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0);
appendString(result, T17_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA*, newSeq__packagesZdocutilsZrst_2702)(NI len) {
	tySequence__59axsmyJq9bYh2MONDvuwAkA* result;
	result = NIM_NIL;
	result = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) newSeq((&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_), len);
	return result;
}
static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
	NI result;
	NI y;
	result = (NI)0;
	y = (NI)(order - ((NI) 1));
	result = (NI)((NI)(x ^ y) - y);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__packagesZdocutilsZrst_2713)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b, NI bLen_0, NI lo, NI m, NI hi, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
	NI j;
	NI bb;
	NI i;
	NI k;
{	{
		NI T3_;
		NI T4_;
		T3_ = (NI)0;
		T3_ = cmp.ClE_0? cmp.ClP_0((&a[m]), (&a[(NI)(m + ((NI) 1))]), cmp.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_291)(cmp.ClP_0))((&a[m]), (&a[(NI)(m + ((NI) 1))]));
		T4_ = (NI)0;
		T4_ = star___pureZalgorithm_8(T3_, order);
		if (!(T4_ <= ((NI) 0))) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	j = lo;
	bb = ((NI) 0);
	{
		while (1) {
			if (!(j <= m)) goto LA8;
			genericShallowAssign((void*)(&b[bb]), (void*)(&a[j]), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
			bb += ((NI) 1);
			j += ((NI) 1);
		} LA8: ;
	}
	i = ((NI) 0);
	k = lo;
	{
		while (1) {
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = (k < j);
			if (!(T11_)) goto LA12_;
			T11_ = (j <= hi);
			LA12_: ;
			if (!T11_) goto LA10;
			{
				NI T15_;
				NI T16_;
				T15_ = (NI)0;
				T15_ = cmp.ClE_0? cmp.ClP_0((&b[i]), (&a[j]), cmp.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_292)(cmp.ClP_0))((&b[i]), (&a[j]));
				T16_ = (NI)0;
				T16_ = star___pureZalgorithm_8(T15_, order);
				if (!(T16_ <= ((NI) 0))) goto LA17_;
				genericShallowAssign((void*)(&a[k]), (void*)(&b[i]), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				i += ((NI) 1);
			}
			goto LA13_;
			LA17_: ;
			{
				genericShallowAssign((void*)(&a[k]), (void*)(&a[j]), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				j += ((NI) 1);
			}
			LA13_: ;
			k += ((NI) 1);
		} LA10: ;
	}
	{
		while (1) {
			if (!(k < j)) goto LA21;
			genericShallowAssign((void*)(&a[k]), (void*)(&b[i]), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
			k += ((NI) 1);
			i += ((NI) 1);
		} LA21: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_2690)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyProc__gB5GcYGEl9c9bdmXRILxVndQ cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
	NI n;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* b;
	NI s;
	n = aLen_0;
	b = newSeq__packagesZdocutilsZrst_2702(((NI) ((NI)(n / ((NI) 2)))));
	s = ((NI) 1);
	{
		while (1) {
			NI m;
			if (!(s < n)) goto LA2;
			m = (NI)((NI)(n - ((NI) 1)) - s);
			{
				while (1) {
					if (!(((NI) 0) <= m)) goto LA4;
					mergeAlt__packagesZdocutilsZrst_2713(a, aLen_0, b->data, (b ? b->Sup.len : 0), (((NI)((NI)(m - s) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(m - s) + ((NI) 1)) : ((NI) 0)), m, (NI)(m + s), cmp, order);
					m -= (NI)(s * ((NI) 2));
				} LA4: ;
			}
			s = (NI)(s * ((NI) 2));
		} LA2: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___packagesZdocutilsZrst_2634)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!!(((*x).Field0 == (*y).Field0))) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!!(((*x).Field1 == (*y).Field1))) goto LA7_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA7_: ;
	{
		if (!!(((*x).Field2 == (*y).Field2))) goto LA11_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA11_: ;
	{
		if (!!(((*x).Field3 == (*y).Field3))) goto LA15_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA15_: ;
	{
		if (!!(eqStrings((*x).Field4, (*y).Field4))) goto LA19_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA19_: ;
	result = NIM_TRUE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, cmp__packagesZdocutilsZrst_2658)(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA x, tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA y) {
	NI result;
{	result = (NI)0;
	{
		if (!(x == y)) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(x < y)) goto LA7_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA7_: ;
	result = ((NI) 1);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___packagesZdocutilsZrst_2648)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y) {
	NIM_BOOL result;
	NI c;
	NI c_2;
	NI c_3;
	NI c_4;
	NI c_5;
{	result = (NIM_BOOL)0;
	c = cmp__packagesZdocutilsZrst_2658((*x).Field0, (*y).Field0);
	{
		if (!(c < ((NI) 0))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < c)) goto LA7_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA7_: ;
	c_2 = cmp__system_7482((*x).Field1, (*y).Field1);
	{
		if (!(c_2 < ((NI) 0))) goto LA11_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA11_: ;
	{
		if (!(((NI) 0) < c_2)) goto LA15_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA15_: ;
	c_3 = cmp__system_7482((*x).Field2, (*y).Field2);
	{
		if (!(c_3 < ((NI) 0))) goto LA19_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA19_: ;
	{
		if (!(((NI) 0) < c_3)) goto LA23_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA23_: ;
	c_4 = cmp__system_7482((*x).Field3, (*y).Field3);
	{
		if (!(c_4 < ((NI) 0))) goto LA27_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA27_: ;
	{
		if (!(((NI) 0) < c_4)) goto LA31_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA31_: ;
	c_5 = cmp__system_1549((*x).Field4, (*y).Field4);
	{
		if (!(c_5 < ((NI) 0))) goto LA35_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA35_: ;
	{
		if (!(((NI) 0) < c_5)) goto LA39_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA39_: ;
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, cmp__packagesZdocutilsZrst_2629)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* x, tyTuple__msoRFpgv3EcbLwCh9arSpYw* y) {
	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = eqeq___packagesZdocutilsZrst_2634(x, y);
		if (!T3_) goto LA4_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = lt___packagesZdocutilsZrst_2648(x, y);
		if (!T8_) goto LA9_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA9_: ;
	result = ((NI) 1);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, sort__packagesZdocutilsZrst_2625)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
	tyProc__gB5GcYGEl9c9bdmXRILxVndQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyProc__gB5GcYGEl9c9bdmXRILxVndQ));
	T1_.ClP_0 = ((TM__6mNpeIAN05DnDNzb9b3611A_293) (cmp__packagesZdocutilsZrst_2629)); T1_.ClE_0 = NIM_NIL;
	sort__packagesZdocutilsZrst_2690(a, aLen_0, T1_, order);
}
N_LIB_PRIVATE N_NIMCALL(void, initSinglyLinkedList__packagesZdocutilsZrst_2790)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* Result) {
	unsureAsgnRef((void**)&(*Result).head, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).tail, NIM_NIL);
}
static N_INLINE(void, add__packagesZdocutilsZrst_2981)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n) {
	asgnRef((void**) (&(*n).next), ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL));
	{
		if (!!(((*L).tail == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL)))) goto LA3_;
		asgnRef((void**) (&(*(*L).tail).next), n);
	}
	LA3_: ;
	unsureAsgnRef((void**) (&(*L).tail), n);
	{
		if (!((*L).head == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL))) goto LA7_;
		unsureAsgnRef((void**) (&(*L).head), n);
	}
	LA7_: ;
}
static N_NIMCALL(void, Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ)(void* p, NI op) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* a;
	a = (tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*)p;
	nimGCvisit((void*)(*a).next, op);
	nimGCvisit((void*)(*a).value.Field4, op);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_2900)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* value) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* result;
	result = NIM_NIL;
	result = (tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) newObj((&NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_), sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q));
	genericAssign((void*)(&(*result).value), (void*)value, (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	return result;
}
static N_INLINE(void, add__packagesZdocutilsZrst_2892)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw* value) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* T1_;
	T1_ = NIM_NIL;
	T1_ = newSinglyLinkedNode__packagesZdocutilsZrst_2900(value);
	add__packagesZdocutilsZrst_2981(L, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_2817)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b) {
	add__packagesZdocutilsZrst_2892(a, b);
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3258)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n) {
	asgnRef((void**) (&(*n).next), (*L).head);
	unsureAsgnRef((void**) (&(*L).head), n);
	{
		if (!((*L).tail == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL))) goto LA3_;
		unsureAsgnRef((void**) (&(*L).tail), n);
	}
	LA3_: ;
}
static N_INLINE(void, prepend__packagesZdocutilsZrst_3208)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* L, tyTuple__msoRFpgv3EcbLwCh9arSpYw* value) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* T1_;
	T1_ = NIM_NIL;
	T1_ = newSinglyLinkedNode__packagesZdocutilsZrst_2900(value);
	prepend__packagesZdocutilsZrst_3258(L, T1_);
}
N_LIB_PRIVATE N_NIMCALL(tySequence__59axsmyJq9bYh2MONDvuwAkA*, X5BX5D___packagesZdocutilsZrst_3318)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* s, NI sLen_0, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
	tySequence__59axsmyJq9bYh2MONDvuwAkA* result;
	NI a;
	NI L;
	result = NIM_NIL;
	a = x.a;
	L = (NI)((NI)((NI)(sLen_0 - x.b) - a) + ((NI) 1));
	result = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) newSeq((&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_), ((NI) (L)));
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_2 < L)) goto LA3;
				i = i_2;
				genericAssign((void*)(&result->data[i]), (void*)(&s[(NI)(i + a)]), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				i_2 += ((NI) 1);
			} LA3: ;
		}
	}
	return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
	result.a = a;
	result.b = b;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*, newSinglyLinkedNode__packagesZdocutilsZrst_3393)(tyTuple__msoRFpgv3EcbLwCh9arSpYw* value) {
	tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* result;
	result = NIM_NIL;
	result = (tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) newObj((&NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_), sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q));
	genericAssign((void*)(&(*result).value), (void*)value, (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, append__packagesZdocutilsZrst_3462)(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA* a, tyTuple__msoRFpgv3EcbLwCh9arSpYw* b) {
	add__packagesZdocutilsZrst_2892(a, b);
}
N_LIB_PRIVATE N_NIMCALL(void, orderFootnotes__packagesZdocutilsZrst_2517)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s) {
	tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ* colonenv_;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* result;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* manuallyN;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* autoN;
	tySequence__59axsmyJq9bYh2MONDvuwAkA* autoSymbol;
	colonenv_ = NIM_NIL;
	colonenv_ = (tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*) newObj((&NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_), sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ));
	(*colonenv_).Sup.m_type = (&NTIobject__dSbgko9cUbNv6KjiW415IXQ_);
	asgnRef((void**) (&(*colonenv_).s1), s);
	{
		NI T3_;
		NI T4_;
		NimStringDesc* T7_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T8_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T9_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T10_;
		NimStringDesc* T11_;
		T3_ = ((*(*colonenv_).s1).lineFootnoteNum ? (*(*colonenv_).s1).lineFootnoteNum->Sup.len : 0);
		T4_ = ((*(*colonenv_).s1).lineFootnoteNumRef ? (*(*colonenv_).s1).lineFootnoteNumRef->Sup.len : 0);
		if (!!((T3_ == T4_))) goto LA5_;
		T7_ = NIM_NIL;
		nimZeroMem((void*)T8_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		nimZeroMem((void*)(&T9_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T9_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2519; T9_.ClE_0 = colonenv_;
		T8_[0] = T9_.ClE_0? T9_.ClP_0((*(*colonenv_).s1).lineFootnoteNum, T9_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_285)(T9_.ClP_0))((*(*colonenv_).s1).lineFootnoteNum);
		nimZeroMem((void*)(&T10_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T10_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2519; T10_.ClE_0 = colonenv_;
		T8_[1] = T10_.ClE_0? T10_.ClP_0((*(*colonenv_).s1).lineFootnoteNumRef, T10_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_286)(T10_.ClP_0))((*(*colonenv_).s1).lineFootnoteNumRef);
		T11_ = NIM_NIL;
		T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_283), T8_, 2);
		T7_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 28);
appendString(T7_, T11_);
appendString(T7_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_287));
		rstMessage__packagesZdocutilsZrst_2090((*colonenv_).s1, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 8), T7_);
	}
	LA5_: ;
	{
		NI T14_;
		NI T15_;
		NimStringDesc* T18_;
		tyArray__Re75IspeoxXy2oCZHwcRrA T19_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T20_;
		tyProc__j9cp8d5W6OEfco3brTgaIgw T21_;
		NimStringDesc* T22_;
		T14_ = ((*(*colonenv_).s1).lineFootnoteSym ? (*(*colonenv_).s1).lineFootnoteSym->Sup.len : 0);
		T15_ = ((*(*colonenv_).s1).lineFootnoteSymRef ? (*(*colonenv_).s1).lineFootnoteSymRef->Sup.len : 0);
		if (!!((T14_ == T15_))) goto LA16_;
		T18_ = NIM_NIL;
		nimZeroMem((void*)T19_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
		nimZeroMem((void*)(&T20_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T20_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2519; T20_.ClE_0 = colonenv_;
		T19_[0] = T20_.ClE_0? T20_.ClP_0((*(*colonenv_).s1).lineFootnoteSym, T20_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_288)(T20_.ClP_0))((*(*colonenv_).s1).lineFootnoteSym);
		nimZeroMem((void*)(&T21_), sizeof(tyProc__j9cp8d5W6OEfco3brTgaIgw));
		T21_.ClP_0 = listFootnotes__packagesZdocutilsZrst_2519; T21_.ClE_0 = colonenv_;
		T19_[1] = T21_.ClE_0? T21_.ClP_0((*(*colonenv_).s1).lineFootnoteSymRef, T21_.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_289)(T21_.ClP_0))((*(*colonenv_).s1).lineFootnoteSymRef);
		T22_ = NIM_NIL;
		T22_ = nsuFormatOpenArray(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_283), T19_, 2);
		T18_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 26);
appendString(T18_, T22_);
appendString(T18_, ((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_290));
		rstMessage__packagesZdocutilsZrst_2090((*colonenv_).s1, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 8), T18_);
	}
	LA16_: ;
	result = NIM_NIL;
	manuallyN = NIM_NIL;
	autoN = NIM_NIL;
	autoSymbol = NIM_NIL;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fs;
		NI i;
		NI L;
		NI T24_;
		fs = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T24_ = ((*(*colonenv_).s1).footnotes ? (*(*colonenv_).s1).footnotes->Sup.len : 0);
		L = T24_;
		{
			while (1) {
				if (!(i < L)) goto LA26;
				fs = (&(*(*colonenv_).s1).footnotes->data[i]);
				{
					NI T31_;
					if (!((*fs).Field0 == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0))) goto LA29_;
					manuallyN = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(manuallyN), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T31_ = manuallyN->Sup.len++;
					genericAssign((void*)(&manuallyN->data[T31_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				goto LA27_;
				LA29_: ;
				{
					NI T35_;
					if (!((6 &((NU8)1<<((NU)((*fs).Field0)&7U)))!=0)) goto LA33_;
					autoN = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(autoN), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T35_ = autoN->Sup.len++;
					genericAssign((void*)(&autoN->data[T35_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				goto LA27_;
				LA33_: ;
				{
					NI T37_;
					autoSymbol = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(autoSymbol), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T37_ = autoSymbol->Sup.len++;
					genericAssign((void*)(&autoSymbol->data[T37_]), (void*)(&(*fs)), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				}
				LA27_: ;
				i += ((NI) 1);
			} LA26: ;
		}
	}
	{
		NI T40_;
		T40_ = (autoN ? autoN->Sup.len : 0);
		if (!(T40_ == ((NI) 0))) goto LA41_;
		genericSeqAssign((&result), manuallyN, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
	}
	goto LA38_;
	LA41_: ;
	{
		tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA lst;
		NI firstAuto;
		tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* curNode;
		tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* nextNode;
		tySequence__59axsmyJq9bYh2MONDvuwAkA* resultX60gensym83_;
		sort__packagesZdocutilsZrst_2625(manuallyN->data, (manuallyN ? manuallyN->Sup.len : 0), ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
		nimZeroMem((void*)(&lst), sizeof(tyObject_SinglyLinkedList__lIApKraPVkRHGxPCxT2AGA));
		initSinglyLinkedList__packagesZdocutilsZrst_2790((&lst));
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw* elem;
			NI i_2;
			NI L_2;
			NI T45_;
			elem = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
			i_2 = ((NI) 0);
			T45_ = (manuallyN ? manuallyN->Sup.len : 0);
			L_2 = T45_;
			{
				while (1) {
					if (!(i_2 < L_2)) goto LA47;
					elem = (&manuallyN->data[i_2]);
					append__packagesZdocutilsZrst_2817((&lst), (&(*elem)));
					i_2 += ((NI) 1);
				} LA47: ;
			}
		}
		firstAuto = ((NI) 0);
		{
			NIM_BOOL T50_;
			tyTuple__msoRFpgv3EcbLwCh9arSpYw T54_;
			T50_ = (NIM_BOOL)0;
			T50_ = (lst.head == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL));
			if (T50_) goto LA51_;
			T50_ = !(((*lst.head).value.Field1 == ((NI) 1)));
			LA51_: ;
			if (!T50_) goto LA52_;
			nimZeroMem((void*)(&T54_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
			T54_.Field0 = autoN->data[((NI) 0)].Field0;
			T54_.Field1 = ((NI) 1);
			T54_.Field2 = autoN->data[((NI) 0)].Field2;
			T54_.Field3 = ((NI) -1);
			T54_.Field4 = copyString(autoN->data[((NI) 0)].Field4);
			prepend__packagesZdocutilsZrst_3208((&lst), (&T54_));
			firstAuto = ((NI) 1);
		}
		LA52_: ;
		curNode = lst.head;
		nextNode = NIM_NIL;
		{
			tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA* kind;
			NI* x;
			NI* autoNumIdx;
			NI* y;
			NimStringDesc** label;
			tySequence__59axsmyJq9bYh2MONDvuwAkA* colontmp_;
			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T56_;
			NI i_3;
			NI L_3;
			NI T57_;
			kind = (tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA*)0;
			x = (NI*)0;
			autoNumIdx = (NI*)0;
			y = (NI*)0;
			label = (NimStringDesc**)0;
			colontmp_ = NIM_NIL;
			T56_ = dotdot___stdZenumutils_80(firstAuto, ((NI) 1));
			colontmp_ = X5BX5D___packagesZdocutilsZrst_3318(autoN->data, (autoN ? autoN->Sup.len : 0), T56_);
			i_3 = ((NI) 0);
			T57_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L_3 = T57_;
			{
				while (1) {
					if (!(i_3 < L_3)) goto LA59;
					kind = (&colontmp_->data[i_3].Field0);
					x = (&colontmp_->data[i_3].Field1);
					autoNumIdx = (&colontmp_->data[i_3].Field2);
					y = (&colontmp_->data[i_3].Field3);
					label = (&colontmp_->data[i_3].Field4);
					{
						while (1) {
							nextNode = (*curNode).next;
							if (!!((nextNode == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL)))) goto LA61;
							{
								tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* n;
								tyTuple__msoRFpgv3EcbLwCh9arSpYw T66_;
								if (!(((NI) 1) < (NI)((*nextNode).value.Field1 - (*curNode).value.Field1))) goto LA64_;
								nimZeroMem((void*)(&T66_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
								T66_.Field0 = (*kind);
								T66_.Field1 = (NI)((*curNode).value.Field1 + ((NI) 1));
								T66_.Field2 = (*autoNumIdx);
								T66_.Field3 = ((NI) -1);
								T66_.Field4 = copyString((*label));
								n = newSinglyLinkedNode__packagesZdocutilsZrst_3393((&T66_));
								asgnRef((void**) (&(*curNode).next), n);
								asgnRef((void**) (&(*n).next), nextNode);
								curNode = n;
								goto LA60;
							}
							goto LA62_;
							LA64_: ;
							{
								curNode = nextNode;
							}
							LA62_: ;
						} LA61: ;
					} LA60: ;
					{
						tyTuple__msoRFpgv3EcbLwCh9arSpYw T72_;
						if (!(nextNode == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL))) goto LA70_;
						nimZeroMem((void*)(&T72_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
						T72_.Field0 = (*kind);
						T72_.Field1 = (NI)((*curNode).value.Field1 + ((NI) 1));
						T72_.Field2 = (*autoNumIdx);
						T72_.Field3 = ((NI) -1);
						T72_.Field4 = copyString((*label));
						append__packagesZdocutilsZrst_3462((&lst), (&T72_));
						curNode = lst.tail;
					}
					LA70_: ;
					i_3 += ((NI) 1);
				} LA59: ;
			}
		}
		resultX60gensym83_ = NIM_NIL;
		{
			tyTuple__msoRFpgv3EcbLwCh9arSpYw itX60gensym83_;
			tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q* it;
			nimZeroMem((void*)(&itX60gensym83_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
			it = lst.head;
			{
				while (1) {
					NI T76_;
					if (!!((it == ((tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*) NIM_NIL)))) goto LA75;
					nimCopyMem((void*)(&itX60gensym83_), (NIM_CONST void*)(&(*it).value), sizeof(itX60gensym83_));
					resultX60gensym83_ = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(resultX60gensym83_), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
					T76_ = resultX60gensym83_->Sup.len++;
					genericAssign((void*)(&resultX60gensym83_->data[T76_]), (void*)(&itX60gensym83_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
					it = (*it).next;
				} LA75: ;
			}
		}
		genericSeqAssign((&result), resultX60gensym83_, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
	}
	LA38_: ;
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fs_2;
		NI i_4;
		NI L_4;
		NI T78_;
		fs_2 = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i_4 = ((NI) 0);
		T78_ = (autoSymbol ? autoSymbol->Sup.len : 0);
		L_4 = T78_;
		{
			while (1) {
				NI i_5;
				NI symbolNum;
				NI nSymbols;
				NimStringDesc* label_2;
				tyTuple__msoRFpgv3EcbLwCh9arSpYw T81_;
				NI T82_;
				if (!(i_4 < L_4)) goto LA80;
				fs_2 = (&autoSymbol->data[i_4]);
				i_5 = (NI)((*fs_2).Field3 - ((NI) 1));
				symbolNum = (NI)((NI)(i_5 / ((NI) 3)) % ((NI) 9));
				nSymbols = (NI)((NI)(((NI) 1) + (NI)(i_5 % ((NI) 3))) + (NI)(((NI) 3) * (NI)(i_5 / ((NI) 27))));
				label_2 = nsuRepeatStr(footnoteAutoSymbols__packagesZdocutilsZrst_3871[(symbolNum)- 0], ((NI) (nSymbols)));
				nimZeroMem((void*)(&T81_), sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw));
				T81_.Field0 = (*fs_2).Field0;
				T81_.Field1 = ((NI) -1);
				T81_.Field2 = ((NI) -1);
				T81_.Field3 = (*fs_2).Field3;
				T81_.Field4 = copyString(label_2);
				result = (tySequence__59axsmyJq9bYh2MONDvuwAkA*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
				T82_ = result->Sup.len++;
				genericAssign((void*)(&result->data[T82_]), (void*)(&T81_), (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_));
				i_4 += ((NI) 1);
			} LA80: ;
		}
	}
	genericSeqAssign((&(*(*colonenv_).s1).footnotes), result, (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_));
}
N_LIB_PRIVATE N_NIMCALL(void, preparePass2__packagesZdocutilsZrst_6763)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* mainNode) {
	countTitles__packagesZdocutilsZrst_5381(s, mainNode);
	orderFootnotes__packagesZdocutilsZrst_2517(s);
}
N_LIB_PRIVATE N_NIMCALL(NI, findSub__packagesZdocutilsZrst_2210)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NI result;
	NimStringDesc* key;
{	result = (NI)0;
	key = addNodes__packagesZdocutilsZrst_61(n);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*s).subs ? (*s).subs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if (!eqStrings(key, (*s).subs->data[i].key)) goto LA7_;
					result = i;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	{
		NI i_2;
		NI colontmp__2;
		NI T10_;
		NI res_2;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T10_ = (((*s).subs ? (*s).subs->Sup.len : 0)-1);
		colontmp__2 = T10_;
		res_2 = ((NI) 0);
		{
			while (1) {
				if (!(res_2 <= colontmp__2)) goto LA12;
				i_2 = res_2;
				{
					NI T15_;
					T15_ = (NI)0;
					T15_ = nsuCmpIgnoreStyle(key, (*s).subs->data[i_2].key);
					if (!(T15_ == ((NI) 0))) goto LA16_;
					result = i_2;
					goto BeforeRet_;
				}
				LA16_: ;
				res_2 += ((NI) 1);
			} LA12: ;
		}
	}
	result = ((NI) -1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rstMessage__packagesZdocutilsZrst_2095)(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ filenames, tyProc__zVyAuQlxcO3X84ar49cKZSg f, tyObject_TLineInfo__LpCBEHcAwE2yCs4l9cD1BOA info, tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ msgKind, NimStringDesc* arg) {
	NimStringDesc* file;
	file = getFilename__packagesZdocutilsZrst_2007(filenames, info.fileIndex);
	f.ClE_0? f.ClP_0(file, ((NI) (info.line)), ((NI) (info.col)), msgKind, arg, f.ClE_0):((TM__6mNpeIAN05DnDNzb9b3611A_302)(f.ClP_0))(file, ((NI) (info.line)), ((NI) (info.col)), msgKind, arg);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, findRef__packagesZdocutilsZrst_2295)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* key) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*s).refs ? (*s).refs->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				{
					if (!eqStrings(key, (*s).refs->data[i].key)) goto LA7_;
					result = (*s).refs->data[i].value;
					goto BeforeRet_;
				}
				LA7_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimGCunrefRC1)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__system_5300(p);
	decRef__system_5345(T1_);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findMainAnchor__packagesZdocutilsZrst_2373)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* refn) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		tyTuple__wOvXi5VibnCNgN9buQRQD4A* subst;
		NI i;
		NI L;
		NI T2_;
		subst = (tyTuple__wOvXi5VibnCNgN9buQRQD4A*)0;
		i = ((NI) 0);
		T2_ = ((*s).anchors ? (*s).anchors->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NIM_BOOL toLeave;
				if (!(i < L)) goto LA4;
				subst = (&(*s).anchors->data[i]);
				{
					if (!eqStrings((*subst).Field0, refn)) goto LA7_;
					result = copyString((*subst).Field0);
					goto LA1;
				}
				LA7_: ;
				toLeave = NIM_FALSE;
				{
					NimStringDesc** anchor;
					NI i_2;
					NI L_2;
					NI T10_;
					anchor = (NimStringDesc**)0;
					i_2 = ((NI) 0);
					T10_ = ((*subst).Field1 ? (*subst).Field1->Sup.len : 0);
					L_2 = T10_;
					{
						while (1) {
							if (!(i_2 < L_2)) goto LA12;
							anchor = (&(*subst).Field1->data[i_2]);
							{
								if (!eqStrings((*anchor), refn)) goto LA15_;
								result = copyString((*subst).Field0);
								toLeave = NIM_TRUE;
							}
							LA15_: ;
							i_2 += ((NI) 1);
						} LA12: ;
					}
				}
				{
					if (!toLeave) goto LA19_;
					goto LA1;
				}
				LA19_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	} LA1: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_3996)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NimStringDesc* label) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!eqStrings((*fnote).Field4, label)) goto LA7_;
					result = (*fnote).Field1;
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getFootnoteNum__packagesZdocutilsZrst_4004)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!((*fnote).Field2 == order)) goto LA7_;
					result = (*fnote).Field1;
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getAutoSymbol__packagesZdocutilsZrst_4012)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, NI order) {
	NimStringDesc* result;
{	result = NIM_NIL;
	result = copyString(((NimStringDesc*) &TM__6mNpeIAN05DnDNzb9b3611A_303));
	{
		tyTuple__msoRFpgv3EcbLwCh9arSpYw* fnote;
		NI i;
		NI L;
		NI T2_;
		fnote = (tyTuple__msoRFpgv3EcbLwCh9arSpYw*)0;
		i = ((NI) 0);
		T2_ = ((*s).footnotes ? (*s).footnotes->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				if (!(i < L)) goto LA4;
				fnote = (&(*s).footnotes->data[i]);
				{
					if (!((*fnote).Field3 == order)) goto LA7_;
					result = copyString((*fnote).Field4);
					goto BeforeRet_;
				}
				LA7_: ;
				i += ((NI) 1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*, resolveSubs__packagesZdocutilsZrst_6766)(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA* s, tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* result;
{	result = NIM_NIL;
	result = n;
	{
		if (!(n == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*n).kind) {
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 70):
	{
		NI x;
		x = findSub__packagesZdocutilsZrst_2210(s, n);
		{
			if (!(((NI) 0) <= x)) goto LA8_;
			result = (*s).subs->data[x].value;
		}
		goto LA6_;
		LA8_: ;
		{
			NimStringDesc* key;
			NimStringDesc* e;
			key = addNodes__packagesZdocutilsZrst_61(n);
			e = getEnv__pureZos_418(key, ((NimStringDesc*) NIM_NIL));
			{
				if (!!(((e ? e->Sup.len : 0) == 0))) goto LA13_;
				result = newRstLeaf__packagesZdocutilsZrstast_187(e);
			}
			goto LA11_;
			LA13_: ;
			{
				rstMessage__packagesZdocutilsZrst_2095((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 10), key);
			}
			LA11_: ;
		}
		LA6_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 1):
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 2):
	{
		{
			if (!((*s).hTitleCnt == ((NI) 2))) goto LA19_;
			{
				if (!((*n)._kind_5.level == ((NI) 1))) goto LA23_;
				(*n)._kind_5.level = ((NI) 0);
			}
			goto LA21_;
			LA23_: ;
			{
				if (!(((NI) 2) <= (*n)._kind_5.level)) goto LA26_;
				(*n)._kind_5.level -= ((NI) 1);
			}
			goto LA21_;
			LA26_: ;
			LA21_: ;
		}
		goto LA17_;
		LA19_: ;
		{
			if (!((*s).hTitleCnt == ((NI) 0))) goto LA29_;
			(*n)._kind_5.level += ((NI) 1);
		}
		goto LA17_;
		LA29_: ;
		LA17_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 41):
	{
		NimStringDesc* refn;
		tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* y;
		refn = rstnodeToRefname__packagesZdocutilsZrst_59(n);
		y = findRef__packagesZdocutilsZrst_2295(s, refn);
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T36_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* text;
			if (!!((y == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)))) goto LA34_;
			T36_ = NIM_NIL;
			T36_ = NIM_NIL;
			result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 40), T36_, ((NimStringDesc*) NIM_NIL));
			text = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
			if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
			(*result).sons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeqRC1((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
			asgnRef((void**) (&(*result).sons->data[0]), text);
			asgnRef((void**) (&(*result).sons->data[1]), y);
		}
		goto LA32_;
		LA34_: ;
		{
			NimStringDesc* anchor;
			anchor = findMainAnchor__packagesZdocutilsZrst_2373(s, refn);
			{
				tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T42_;
				tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* text_2;
				if (!!(((anchor ? anchor->Sup.len : 0) == 0))) goto LA40_;
				T42_ = NIM_NIL;
				T42_ = NIM_NIL;
				result = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 42), T42_, ((NimStringDesc*) NIM_NIL));
				text_2 = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), (*n).sons, ((NimStringDesc*) NIM_NIL));
				if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
				(*result).sons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) newSeqRC1((&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_), 2);
				asgnRef((void**) (&(*result).sons->data[0]), text_2);
				asgnRef((void**) (&(*result).sons->data[1]), newRstLeaf__packagesZdocutilsZrstast_187(anchor));
			}
			goto LA38_;
			LA40_: ;
			{
				rstMessage__packagesZdocutilsZrst_2095((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 11), refn);
			}
			LA38_: ;
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36):
	{
		tyTuple__NsOXiclpudEmVBDvfdmAhQ T45_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType;
		NI num;
		T45_ = getFootnoteType__packagesZdocutilsZrst_4939((*n).sons->data[((NI) 0)]);
		fnType = T45_.Field0;
		num = T45_.Field1;
		switch (fnType) {
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
		{
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nn;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T53_;
			NimStringDesc* T54_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T55_;
			{
				NimStringDesc* labelR;
				if (!(fnType == ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2))) goto LA50_;
				labelR = rstnodeToRefname__packagesZdocutilsZrst_59((*n).sons->data[((NI) 0)]);
				num = getFootnoteNum__packagesZdocutilsZrst_3996(s, labelR);
			}
			goto LA48_;
			LA50_: ;
			{
				num = getFootnoteNum__packagesZdocutilsZrst_4004(s, (*n)._kind_6.order);
			}
			LA48_: ;
			T53_ = NIM_NIL;
			T53_ = NIM_NIL;
			nn = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T53_, ((NimStringDesc*) NIM_NIL));
			T54_ = NIM_NIL;
			T54_ = dollar___systemZdollars_3(num);
			T55_ = NIM_NIL;
			T55_ = newRstLeaf__packagesZdocutilsZrstast_187(T54_);
			add__packagesZdocutilsZrstast_196(nn, T55_);
			asgnRef((void**) (&(*result).sons->data[((NI) 0)]), nn);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
		{
			NimStringDesc* sym;
			NimStringDesc* T57_;
			sym = getAutoSymbol__packagesZdocutilsZrst_4012(s, (*n)._kind_6.order);
			T57_ = NIM_NIL;
			T57_ = (*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text; (*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)])._kind_1.text = copyStringRC1(sym);
			if (T57_) nimGCunrefNoCycle(T57_);
		}
		break;
		}
		asgnRef((void**) (&(*n).sons->data[((NI) 1)]), resolveSubs__packagesZdocutilsZrst_6766(s, (*n).sons->data[((NI) 1)]));
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43):
	{
		tyTuple__NsOXiclpudEmVBDvfdmAhQ T59_;
		tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA fnType_2;
		NI num_2;
		NimStringDesc* refn_2;
		tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T60_;
		NimStringDesc* anch;
		T59_ = getFootnoteType__packagesZdocutilsZrst_4939((*n).sons->data[((NI) 0)]);
		fnType_2 = T59_.Field0;
		num_2 = T59_.Field1;
		refn_2 = prefix__packagesZdocutilsZrst_6662(fnType_2);
		T60_ = NIM_NIL;
		T60_ = NIM_NIL;
		result = newRstNode__packagesZdocutilsZrstast_157(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 43), (*n)._kind_7.info, T60_);
		switch (fnType_2) {
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 0):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym528_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T62_;
			NimStringDesc* T63_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T64_;
			NimStringDesc* T65_;
			T62_ = NIM_NIL;
			T62_ = NIM_NIL;
			nnX60gensym528_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T62_, ((NimStringDesc*) NIM_NIL));
			T63_ = NIM_NIL;
			T63_ = dollar___systemZdollars_3(num_2);
			T64_ = NIM_NIL;
			T64_ = newRstLeaf__packagesZdocutilsZrstast_187(T63_);
			add__packagesZdocutilsZrstast_196(nnX60gensym528_, T64_);
			add__packagesZdocutilsZrstast_196(result, nnX60gensym528_);
			T65_ = NIM_NIL;
			T65_ = dollar___systemZdollars_3(num_2);
			refn_2 = resizeString(refn_2, (T65_ ? T65_->Sup.len : 0) + 0);
appendString(refn_2, T65_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 1):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym530_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T67_;
			NI T68_;
			NimStringDesc* T69_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T70_;
			NimStringDesc* T71_;
			(*s).currFootnoteNumRef += ((NI) 1);
			T67_ = NIM_NIL;
			T67_ = NIM_NIL;
			nnX60gensym530_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T67_, ((NimStringDesc*) NIM_NIL));
			T68_ = (NI)0;
			T68_ = getFootnoteNum__packagesZdocutilsZrst_4004(s, (*s).currFootnoteNumRef);
			T69_ = NIM_NIL;
			T69_ = dollar___systemZdollars_3(T68_);
			T70_ = NIM_NIL;
			T70_ = newRstLeaf__packagesZdocutilsZrstast_187(T69_);
			add__packagesZdocutilsZrstast_196(nnX60gensym530_, T70_);
			add__packagesZdocutilsZrstast_196(result, nnX60gensym530_);
			T71_ = NIM_NIL;
			T71_ = dollar___systemZdollars_3((*s).currFootnoteNumRef);
			refn_2 = resizeString(refn_2, (T71_ ? T71_->Sup.len : 0) + 0);
appendString(refn_2, T71_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 2):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym532_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T73_;
			NimStringDesc* T74_;
			NI T75_;
			NimStringDesc* T76_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T77_;
			NimStringDesc* T78_;
			T73_ = NIM_NIL;
			T73_ = NIM_NIL;
			nnX60gensym532_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T73_, ((NimStringDesc*) NIM_NIL));
			T74_ = NIM_NIL;
			T74_ = rstnodeToRefname__packagesZdocutilsZrst_59(n);
			T75_ = (NI)0;
			T75_ = getFootnoteNum__packagesZdocutilsZrst_3996(s, T74_);
			T76_ = NIM_NIL;
			T76_ = dollar___systemZdollars_3(T75_);
			T77_ = NIM_NIL;
			T77_ = newRstLeaf__packagesZdocutilsZrstast_187(T76_);
			add__packagesZdocutilsZrstast_196(nnX60gensym532_, T77_);
			add__packagesZdocutilsZrstast_196(result, nnX60gensym532_);
			T78_ = NIM_NIL;
			T78_ = rstnodeToRefname__packagesZdocutilsZrst_59(n);
			refn_2 = resizeString(refn_2, (T78_ ? T78_->Sup.len : 0) + 0);
appendString(refn_2, T78_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 3):
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* nnX60gensym534_;
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T80_;
			NimStringDesc* T81_;
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T82_;
			NimStringDesc* T83_;
			(*s).currFootnoteSymRef += ((NI) 1);
			T80_ = NIM_NIL;
			T80_ = NIM_NIL;
			nnX60gensym534_ = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 0), T80_, ((NimStringDesc*) NIM_NIL));
			T81_ = NIM_NIL;
			T81_ = getAutoSymbol__packagesZdocutilsZrst_4012(s, (*s).currFootnoteSymRef);
			T82_ = NIM_NIL;
			T82_ = newRstLeaf__packagesZdocutilsZrstast_187(T81_);
			add__packagesZdocutilsZrstast_196(nnX60gensym534_, T82_);
			add__packagesZdocutilsZrstast_196(result, nnX60gensym534_);
			T83_ = NIM_NIL;
			T83_ = dollar___systemZdollars_3((*s).currFootnoteSymRef);
			refn_2 = resizeString(refn_2, (T83_ ? T83_->Sup.len : 0) + 0);
appendString(refn_2, T83_);
		}
		break;
		case ((tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA) 4):
		{
			NimStringDesc* T85_;
			add__packagesZdocutilsZrstast_196(result, (*n).sons->data[((NI) 0)]);
			T85_ = NIM_NIL;
			T85_ = rstnodeToRefname__packagesZdocutilsZrst_59(n);
			refn_2 = resizeString(refn_2, (T85_ ? T85_->Sup.len : 0) + 0);
appendString(refn_2, T85_);
		}
		break;
		}
		anch = findMainAnchor__packagesZdocutilsZrst_2373(s, refn_2);
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T90_;
			if (!!(((anch ? anch->Sup.len : 0) == 0))) goto LA88_;
			T90_ = NIM_NIL;
			T90_ = newRstLeaf__packagesZdocutilsZrstast_187(anch);
			add__packagesZdocutilsZrstast_196(result, T90_);
		}
		goto LA86_;
		LA88_: ;
		{
			tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* T92_;
			rstMessage__packagesZdocutilsZrst_2095((*s).filenames, (*s).msgHandler, (*n)._kind_7.info, ((tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ) 11), refn_2);
			T92_ = NIM_NIL;
			T92_ = newRstLeaf__packagesZdocutilsZrstast_187(refn_2);
			add__packagesZdocutilsZrstast_196(result, T92_);
		}
		LA86_: ;
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 73):
	{
	}
	break;
	case ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 48):
	{
		(*s).hasToc = NIM_TRUE;
	}
	break;
	default:
	{
		NIM_BOOL regroup;
		regroup = NIM_FALSE;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__packagesZdocutilsZrstast_102(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					if (!(i_2 < colontmp_)) goto LA98;
					i = i_2;
					asgnRef((void**) (&(*n).sons->data[i]), resolveSubs__packagesZdocutilsZrst_6766(s, (*n).sons->data[i]));
					{
						NIM_BOOL T101_;
						T101_ = (NIM_BOOL)0;
						T101_ = !(((*n).sons->data[i] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
						if (!(T101_)) goto LA102_;
						T101_ = ((*(*n).sons->data[i]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
						LA102_: ;
						if (!T101_) goto LA103_;
						regroup = NIM_TRUE;
					}
					LA103_: ;
					i_2 += ((NI) 1);
				} LA98: ;
			}
		}
		{
			tySequence__V9cBl110bSARQ3Xk9bVaXHDw* newSons;
			NI i_3;
			if (!regroup) goto LA107_;
			newSons = NIM_NIL;
			i_3 = ((NI) 0);
			{
				while (1) {
					NI T111_;
					T111_ = (NI)0;
					T111_ = len__packagesZdocutilsZrstast_102(n);
					if (!(i_3 < T111_)) goto LA110;
					{
						NIM_BOOL T114_;
						tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* grp;
						tySequence__V9cBl110bSARQ3Xk9bVaXHDw* T118_;
						NI T125_;
						T114_ = (NIM_BOOL)0;
						T114_ = !(((*n).sons->data[i_3] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL)));
						if (!(T114_)) goto LA115_;
						T114_ = ((*(*n).sons->data[i_3]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
						LA115_: ;
						if (!T114_) goto LA116_;
						T118_ = NIM_NIL;
						T118_ = NIM_NIL;
						grp = newRstNode__packagesZdocutilsZrstast_109(((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 38), T118_, ((NimStringDesc*) NIM_NIL));
						{
							while (1) {
								NIM_BOOL T121_;
								NI T122_;
								NI T124_;
								T121_ = (NIM_BOOL)0;
								T122_ = (NI)0;
								T122_ = len__packagesZdocutilsZrstast_102(n);
								T121_ = (i_3 < T122_);
								if (!(T121_)) goto LA123_;
								T121_ = ((*(*n).sons->data[i_3]).kind == ((tyEnum_RstNodeKind__DNoJcMFu9cjq4EGXsLl82CQ) 36));
								LA123_: ;
								if (!T121_) goto LA120;
								asgnRef((void**) (&(*grp).sons), (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)((*grp).sons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_)));
								T124_ = (*grp).sons->Sup.len++;
								asgnRef((void**) (&(*grp).sons->data[T124_]), (*n).sons->data[i_3]);
								i_3 += ((NI) 1);
							} LA120: ;
						}
						newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
						T125_ = newSons->Sup.len++;
						asgnRef((void**) (&newSons->data[T125_]), grp);
					}
					goto LA112_;
					LA116_: ;
					{
						NI T127_;
						newSons = (tySequence__V9cBl110bSARQ3Xk9bVaXHDw*) incrSeqV3((TGenericSeq*)(newSons), (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
						T127_ = newSons->Sup.len++;
						asgnRef((void**) (&newSons->data[T127_]), (*n).sons->data[i_3]);
						i_3 += ((NI) 1);
					}
					LA112_: ;
				} LA110: ;
			}
			genericSeqAssign((&(*result).sons), newSons, (&NTIrstnodeseq__V9cBl110bSARQ3Xk9bVaXHDw_));
		}
		LA107_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getArgument__packagesZdocutilsZrst_66)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	result = NIM_NIL;
	{
		if (!((*n).sons->data[((NI) 0)] == ((tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ*) NIM_NIL))) goto LA3_;
		result = ((NimStringDesc*) NIM_NIL);
	}
	goto LA1_;
	LA3_: ;
	{
		result = addNodes__packagesZdocutilsZrst_61((*n).sons->data[((NI) 0)]);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getFieldValue__packagesZdocutilsZrst_5232)(tyObject_RstNode__22EYjMYlm9cWcheQxrewdHQ* n) {
	NimStringDesc* result;
	NimStringDesc* T1_;
	result = NIM_NIL;
	T1_ = NIM_NIL;
	T1_ = addNodes__packagesZdocutilsZrst_61((*n).sons->data[((NI) 1)]);
	result = nsuStrip(T1_, NIM_TRUE, NIM_TRUE, TM__6mNpeIAN05DnDNzb9b3611A_236);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_rstDatInit000)(void) {
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_2_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_3_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_4_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_5_21[21];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_6_5[5];
NI TM__6mNpeIAN05DnDNzb9b3611A_8;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_7[5] = {
"roSupportSmilies", 
"roSupportRawDirective", 
"roSupportMarkdown", 
"roPreferMarkdown", 
"roNimFile"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_9_4[4];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_10_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_11_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_12_5[5];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_13_5[5];
NI TM__6mNpeIAN05DnDNzb9b3611A_15;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_14[5] = {
"fnManualNumber", 
"fnAutoNumber", 
"fnAutoNumberLabel", 
"fnAutoSymbol", 
"fnCitation"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_44_15[15];
NI TM__6mNpeIAN05DnDNzb9b3611A_46;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_45[15] = {
"cannot open \'$1\'", 
"\'$1\' expected", 
"grid table is not implemented", 
"illformed delimiter row of a Markdown table", 
"new section expected $1", 
"general parse error", 
"invalid directive: \'$1\'", 
"invalid field: $1", 
"mismatch in number of footnotes and their refs: $1", 
"redefinition of label \'$1\'", 
"unknown substitution \'$1\'", 
"broken link \'$1\'", 
"language \'$1\' not supported", 
"field \'$1\' not supported", 
"RST style: $1"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_51_3[3];
NI TM__6mNpeIAN05DnDNzb9b3611A_53;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_52[3] = {
"Hint", 
"Warning", 
"Error"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_57_7[7];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_58_5[5];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_59_7[7];
NI TM__6mNpeIAN05DnDNzb9b3611A_61;
static char* NIM_CONST TM__6mNpeIAN05DnDNzb9b3611A_60[7] = {
"tkEof", 
"tkIndent", 
"tkWhite", 
"tkWord", 
"tkAdornment", 
"tkPunct", 
"tkOther"};
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_62_7[7];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_253_3[3];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_268_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_276_6[6];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_281_2[2];
static TNimNode* TM__6mNpeIAN05DnDNzb9b3611A_294_2[2];
static TNimNode TM__6mNpeIAN05DnDNzb9b3611A_0[132];
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.kind = 18;
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_2_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[1];
TM__6mNpeIAN05DnDNzb9b3611A_0[1].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[1].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[1].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[1].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_2_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[2];
TM__6mNpeIAN05DnDNzb9b3611A_0[2].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[2].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[2].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[2].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[0].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[0].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[0].sons = &TM__6mNpeIAN05DnDNzb9b3611A_2_2[0];
NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[0];
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.kind = 18;
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_3_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[4];
TM__6mNpeIAN05DnDNzb9b3611A_0[4].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[4].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[4].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_3_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[5];
TM__6mNpeIAN05DnDNzb9b3611A_0[5].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[5].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[5].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[5].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[3].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[3].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[3].sons = &TM__6mNpeIAN05DnDNzb9b3611A_3_2[0];
NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[3];
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.size = sizeof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ);
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.align = NIM_ALIGNOF(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ);
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.kind = 18;
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_4_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[7];
TM__6mNpeIAN05DnDNzb9b3611A_0[7].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[7].offset = offsetof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ, filenameToIdx);
TM__6mNpeIAN05DnDNzb9b3611A_0[7].typ = (&NTItable__Ab4q9c36aMR4mtkEOIBzdzA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[7].name = "filenameToIdx";
TM__6mNpeIAN05DnDNzb9b3611A_4_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[8];
TM__6mNpeIAN05DnDNzb9b3611A_0[8].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[8].offset = offsetof(tyObject_RstFileTable__1rYTAF4X28SkQlz9cTtPDzQ, idxToFilename);
TM__6mNpeIAN05DnDNzb9b3611A_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[8].name = "idxToFilename";
TM__6mNpeIAN05DnDNzb9b3611A_0[6].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[6].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[6].sons = &TM__6mNpeIAN05DnDNzb9b3611A_4_2[0];
NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[6];
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.size = sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA);
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.align = NIM_ALIGNOF(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA);
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.kind = 18;
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_5_21[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[10];
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.size = sizeof(tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.align = NIM_ALIGNOF(tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.kind = 14;
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.base = 0;
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_8 = 0; TM__6mNpeIAN05DnDNzb9b3611A_8 < 5; TM__6mNpeIAN05DnDNzb9b3611A_8++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].offset = TM__6mNpeIAN05DnDNzb9b3611A_8;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11].name = TM__6mNpeIAN05DnDNzb9b3611A_7[TM__6mNpeIAN05DnDNzb9b3611A_8];
TM__6mNpeIAN05DnDNzb9b3611A_6_5[TM__6mNpeIAN05DnDNzb9b3611A_8] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_8+11];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[16].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[16].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[16].sons = &TM__6mNpeIAN05DnDNzb9b3611A_6_5[0];
NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[16];
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.size = sizeof(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.align = NIM_ALIGNOF(tySet_tyEnum_RstParseOption__Tc4fIeOKddU9cYGFtrL9b7zg);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.kind = 19;
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.base = (&NTIrstparseoption__Tc4fIeOKddU9cYGFtrL9b7zg_);
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.flags = 3;
TM__6mNpeIAN05DnDNzb9b3611A_0[17].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[17].kind = 0;
NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[17];
TM__6mNpeIAN05DnDNzb9b3611A_0[10].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[10].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, options);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].typ = (&NTIrstparseoptions__c2HGH35nNGXx7E28Mvlg9cw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[10].name = "options";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[18];
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.size = sizeof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ);
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.align = NIM_ALIGNOF(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ);
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.kind = 18;
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.base = 0;
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_9_4[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[20];
TM__6mNpeIAN05DnDNzb9b3611A_0[20].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[20].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, symbol);
TM__6mNpeIAN05DnDNzb9b3611A_0[20].typ = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[20].name = "symbol";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[21];
TM__6mNpeIAN05DnDNzb9b3611A_0[21].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[21].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, hasOverline);
TM__6mNpeIAN05DnDNzb9b3611A_0[21].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[21].name = "hasOverline";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[22];
TM__6mNpeIAN05DnDNzb9b3611A_0[22].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[22].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[22].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[22].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_9_4[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[23];
TM__6mNpeIAN05DnDNzb9b3611A_0[23].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[23].offset = offsetof(tyObject_LevelInfo__AAHlDP4uHzqyKkFQwy9bV9aQ, hasPeers);
TM__6mNpeIAN05DnDNzb9b3611A_0[23].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[23].name = "hasPeers";
TM__6mNpeIAN05DnDNzb9b3611A_0[19].len = 4; TM__6mNpeIAN05DnDNzb9b3611A_0[19].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[19].sons = &TM__6mNpeIAN05DnDNzb9b3611A_9_4[0];
NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[19];
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.size = sizeof(tySequence__itU9cAYRNnSMU3pWsbVN4bA*);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.align = NIM_ALIGNOF(tySequence__itU9cAYRNnSMU3pWsbVN4bA*);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.kind = 24;
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.base = (&NTIlevelinfo__AAHlDP4uHzqyKkFQwy9bV9aQ_);
NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_.marker = Marker_tySequence__itU9cAYRNnSMU3pWsbVN4bA;
TM__6mNpeIAN05DnDNzb9b3611A_0[18].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[18].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hLevels);
TM__6mNpeIAN05DnDNzb9b3611A_0[18].typ = (&NTIlevelmap__itU9cAYRNnSMU3pWsbVN4bA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[18].name = "hLevels";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[24];
TM__6mNpeIAN05DnDNzb9b3611A_0[24].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[24].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hTitleCnt);
TM__6mNpeIAN05DnDNzb9b3611A_0[24].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[24].name = "hTitleCnt";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[25];
TM__6mNpeIAN05DnDNzb9b3611A_0[25].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[25].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hCurLevel);
TM__6mNpeIAN05DnDNzb9b3611A_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[25].name = "hCurLevel";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[26];
TM__6mNpeIAN05DnDNzb9b3611A_0[26].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[26].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currRole);
TM__6mNpeIAN05DnDNzb9b3611A_0[26].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[26].name = "currRole";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[27];
TM__6mNpeIAN05DnDNzb9b3611A_0[27].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[27].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currRoleKind);
TM__6mNpeIAN05DnDNzb9b3611A_0[27].typ = (&NTIrstnodekind__DNoJcMFu9cjq4EGXsLl82CQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[27].name = "currRoleKind";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[28];
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.size = sizeof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw);
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.align = NIM_ALIGNOF(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw);
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.kind = 18;
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_10_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[30];
TM__6mNpeIAN05DnDNzb9b3611A_0[30].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[30].offset = offsetof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw, key);
TM__6mNpeIAN05DnDNzb9b3611A_0[30].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[30].name = "key";
TM__6mNpeIAN05DnDNzb9b3611A_10_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[31];
TM__6mNpeIAN05DnDNzb9b3611A_0[31].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[31].offset = offsetof(tyObject_Substitution__SK0u4dEMNUKSGjjr7h9aBIw, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[31].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[31].name = "value";
TM__6mNpeIAN05DnDNzb9b3611A_0[29].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[29].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[29].sons = &TM__6mNpeIAN05DnDNzb9b3611A_10_2[0];
NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[29];
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.size = sizeof(tySequence__lrunEzM3UiMYKPLPCTNo0w*);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.align = NIM_ALIGNOF(tySequence__lrunEzM3UiMYKPLPCTNo0w*);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.kind = 24;
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.base = (&NTIsubstitution__SK0u4dEMNUKSGjjr7h9aBIw_);
NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_.marker = Marker_tySequence__lrunEzM3UiMYKPLPCTNo0w;
TM__6mNpeIAN05DnDNzb9b3611A_0[28].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[28].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, subs);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].typ = (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_);
TM__6mNpeIAN05DnDNzb9b3611A_0[28].name = "subs";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[7] = &TM__6mNpeIAN05DnDNzb9b3611A_0[32];
TM__6mNpeIAN05DnDNzb9b3611A_0[32].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[32].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, refs);
TM__6mNpeIAN05DnDNzb9b3611A_0[32].typ = (&NTIseqLsubstitutionT__lrunEzM3UiMYKPLPCTNo0w_);
TM__6mNpeIAN05DnDNzb9b3611A_0[32].name = "refs";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[8] = &TM__6mNpeIAN05DnDNzb9b3611A_0[33];
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.size = sizeof(tyTuple__wOvXi5VibnCNgN9buQRQD4A);
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.align = NIM_ALIGNOF(tyTuple__wOvXi5VibnCNgN9buQRQD4A);
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.kind = 18;
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_11_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[35];
TM__6mNpeIAN05DnDNzb9b3611A_0[35].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[35].offset = offsetof(tyTuple__wOvXi5VibnCNgN9buQRQD4A, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[35].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[35].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_11_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[36];
TM__6mNpeIAN05DnDNzb9b3611A_0[36].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[36].offset = offsetof(tyTuple__wOvXi5VibnCNgN9buQRQD4A, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[36].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[36].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_0[34].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[34].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[34].sons = &TM__6mNpeIAN05DnDNzb9b3611A_11_2[0];
NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[34];
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.size = sizeof(tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.align = NIM_ALIGNOF(tySequence__29caZmiPrO6d9cg0Ucdm9bdAA*);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.kind = 24;
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.base = (&NTIanchorsubst__wOvXi5VibnCNgN9buQRQD4A_);
NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_.marker = Marker_tySequence__29caZmiPrO6d9cg0Ucdm9bdAA;
TM__6mNpeIAN05DnDNzb9b3611A_0[33].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[33].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, anchors);
TM__6mNpeIAN05DnDNzb9b3611A_0[33].typ = (&NTIseqLanchorsubstT__29caZmiPrO6d9cg0Ucdm9bdAA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[33].name = "anchors";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[9] = &TM__6mNpeIAN05DnDNzb9b3611A_0[37];
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.size = sizeof(tySequence__SugKu9bev7GtgZTDZMD2xgw*);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.align = NIM_ALIGNOF(tySequence__SugKu9bev7GtgZTDZMD2xgw*);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.kind = 24;
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.base = (&NTItlineinfo__LpCBEHcAwE2yCs4l9cD1BOA_);
NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_.marker = Marker_tySequence__SugKu9bev7GtgZTDZMD2xgw;
TM__6mNpeIAN05DnDNzb9b3611A_0[37].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[37].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteNum);
TM__6mNpeIAN05DnDNzb9b3611A_0[37].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[37].name = "lineFootnoteNum";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[10] = &TM__6mNpeIAN05DnDNzb9b3611A_0[38];
TM__6mNpeIAN05DnDNzb9b3611A_0[38].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[38].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteNumRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[38].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[38].name = "lineFootnoteNumRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[11] = &TM__6mNpeIAN05DnDNzb9b3611A_0[39];
TM__6mNpeIAN05DnDNzb9b3611A_0[39].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[39].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFootnoteNumRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[39].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[39].name = "currFootnoteNumRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[12] = &TM__6mNpeIAN05DnDNzb9b3611A_0[40];
TM__6mNpeIAN05DnDNzb9b3611A_0[40].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[40].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteSym);
TM__6mNpeIAN05DnDNzb9b3611A_0[40].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[40].name = "lineFootnoteSym";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[13] = &TM__6mNpeIAN05DnDNzb9b3611A_0[41];
TM__6mNpeIAN05DnDNzb9b3611A_0[41].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[41].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, lineFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[41].typ = (&NTIseqLtlineinfoT__SugKu9bev7GtgZTDZMD2xgw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[41].name = "lineFootnoteSymRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[14] = &TM__6mNpeIAN05DnDNzb9b3611A_0[42];
TM__6mNpeIAN05DnDNzb9b3611A_0[42].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[42].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFootnoteSymRef);
TM__6mNpeIAN05DnDNzb9b3611A_0[42].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[42].name = "currFootnoteSymRef";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[15] = &TM__6mNpeIAN05DnDNzb9b3611A_0[43];
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.size = sizeof(tyTuple__msoRFpgv3EcbLwCh9arSpYw);
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.align = NIM_ALIGNOF(tyTuple__msoRFpgv3EcbLwCh9arSpYw);
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.kind = 18;
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_12_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[45];
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.size = sizeof(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA);
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.align = NIM_ALIGNOF(tyEnum_FootnoteType__ZCau9bAoJ0KvZYqUKBf6DQA);
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.kind = 14;
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.base = 0;
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_15 = 0; TM__6mNpeIAN05DnDNzb9b3611A_15 < 5; TM__6mNpeIAN05DnDNzb9b3611A_15++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+46].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+46].offset = TM__6mNpeIAN05DnDNzb9b3611A_15;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+46].name = TM__6mNpeIAN05DnDNzb9b3611A_14[TM__6mNpeIAN05DnDNzb9b3611A_15];
TM__6mNpeIAN05DnDNzb9b3611A_13_5[TM__6mNpeIAN05DnDNzb9b3611A_15] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_15+46];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[51].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[51].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[51].sons = &TM__6mNpeIAN05DnDNzb9b3611A_13_5[0];
NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[51];
TM__6mNpeIAN05DnDNzb9b3611A_0[45].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[45].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field0);
TM__6mNpeIAN05DnDNzb9b3611A_0[45].typ = (&NTIfootnotetype__ZCau9bAoJ0KvZYqUKBf6DQA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[45].name = "Field0";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[52];
TM__6mNpeIAN05DnDNzb9b3611A_0[52].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[52].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field1);
TM__6mNpeIAN05DnDNzb9b3611A_0[52].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[52].name = "Field1";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[53];
TM__6mNpeIAN05DnDNzb9b3611A_0[53].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[53].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field2);
TM__6mNpeIAN05DnDNzb9b3611A_0[53].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[53].name = "Field2";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[54];
TM__6mNpeIAN05DnDNzb9b3611A_0[54].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[54].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field3);
TM__6mNpeIAN05DnDNzb9b3611A_0[54].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[54].name = "Field3";
TM__6mNpeIAN05DnDNzb9b3611A_12_5[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[55];
TM__6mNpeIAN05DnDNzb9b3611A_0[55].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[55].offset = offsetof(tyTuple__msoRFpgv3EcbLwCh9arSpYw, Field4);
TM__6mNpeIAN05DnDNzb9b3611A_0[55].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[55].name = "Field4";
TM__6mNpeIAN05DnDNzb9b3611A_0[44].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[44].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[44].sons = &TM__6mNpeIAN05DnDNzb9b3611A_12_5[0];
NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[44];
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.size = sizeof(tySequence__59axsmyJq9bYh2MONDvuwAkA*);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.align = NIM_ALIGNOF(tySequence__59axsmyJq9bYh2MONDvuwAkA*);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.kind = 24;
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.base = (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_);
NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_.marker = Marker_tySequence__59axsmyJq9bYh2MONDvuwAkA;
TM__6mNpeIAN05DnDNzb9b3611A_0[43].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[43].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, footnotes);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].typ = (&NTIseqLfootnotesubstT__59axsmyJq9bYh2MONDvuwAkA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[43].name = "footnotes";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[16] = &TM__6mNpeIAN05DnDNzb9b3611A_0[56];
TM__6mNpeIAN05DnDNzb9b3611A_0[56].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[56].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, msgHandler);
TM__6mNpeIAN05DnDNzb9b3611A_0[56].typ = (&NTImsghandler__zVyAuQlxcO3X84ar49cKZSg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[56].name = "msgHandler";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[17] = &TM__6mNpeIAN05DnDNzb9b3611A_0[57];
TM__6mNpeIAN05DnDNzb9b3611A_0[57].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[57].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, findFile);
TM__6mNpeIAN05DnDNzb9b3611A_0[57].typ = (&NTIfindfilehandler__oFHfEKFsiYTMAy9a42cSiKw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[57].name = "findFile";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[18] = &TM__6mNpeIAN05DnDNzb9b3611A_0[58];
TM__6mNpeIAN05DnDNzb9b3611A_0[58].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[58].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, filenames);
TM__6mNpeIAN05DnDNzb9b3611A_0[58].typ = (&NTIrstfiletable__1rYTAF4X28SkQlz9cTtPDzQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[58].name = "filenames";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[19] = &TM__6mNpeIAN05DnDNzb9b3611A_0[59];
TM__6mNpeIAN05DnDNzb9b3611A_0[59].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[59].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, currFileIdx);
TM__6mNpeIAN05DnDNzb9b3611A_0[59].typ = (&NTIint5150__sVg18TP9cLifHyygRe9cro9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[59].name = "currFileIdx";
TM__6mNpeIAN05DnDNzb9b3611A_5_21[20] = &TM__6mNpeIAN05DnDNzb9b3611A_0[60];
TM__6mNpeIAN05DnDNzb9b3611A_0[60].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[60].offset = offsetof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA, hasToc);
TM__6mNpeIAN05DnDNzb9b3611A_0[60].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[60].name = "hasToc";
TM__6mNpeIAN05DnDNzb9b3611A_0[9].len = 21; TM__6mNpeIAN05DnDNzb9b3611A_0[9].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[9].sons = &TM__6mNpeIAN05DnDNzb9b3611A_5_21[0];
NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[9];
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.size = sizeof(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.align = NIM_ALIGNOF(tyObject_RstSharedState__yDT5NoQCnsRpOrSc0gqWjA*);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.kind = 22;
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.base = (&NTIrstsharedstate__yDT5NoQCnsRpOrSc0gqWjA_);
NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_.marker = Marker_tyRef__YXv0Ic1rfmWevYoin4lGYw;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.size = sizeof(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ);
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.align = NIM_ALIGNOF(tyEnum_MsgKind__j4Az8tPCEtMOVV8Ta9bk9auQ);
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.kind = 14;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.base = 0;
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_46 = 0; TM__6mNpeIAN05DnDNzb9b3611A_46 < 15; TM__6mNpeIAN05DnDNzb9b3611A_46++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+61].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+61].offset = TM__6mNpeIAN05DnDNzb9b3611A_46;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+61].name = TM__6mNpeIAN05DnDNzb9b3611A_45[TM__6mNpeIAN05DnDNzb9b3611A_46];
TM__6mNpeIAN05DnDNzb9b3611A_44_15[TM__6mNpeIAN05DnDNzb9b3611A_46] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_46+61];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[76].len = 15; TM__6mNpeIAN05DnDNzb9b3611A_0[76].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[76].sons = &TM__6mNpeIAN05DnDNzb9b3611A_44_15[0];
NTImsgkind__j4Az8tPCEtMOVV8Ta9bk9auQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[76];
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.size = sizeof(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw);
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.align = NIM_ALIGNOF(tyEnum_MsgClass__rl49czNJjmhsxrqXRF4PpZw);
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.kind = 14;
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.base = 0;
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_53 = 0; TM__6mNpeIAN05DnDNzb9b3611A_53 < 3; TM__6mNpeIAN05DnDNzb9b3611A_53++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_53+77].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_53+77].offset = TM__6mNpeIAN05DnDNzb9b3611A_53;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_53+77].name = TM__6mNpeIAN05DnDNzb9b3611A_52[TM__6mNpeIAN05DnDNzb9b3611A_53];
TM__6mNpeIAN05DnDNzb9b3611A_51_3[TM__6mNpeIAN05DnDNzb9b3611A_53] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_53+77];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[80].len = 3; TM__6mNpeIAN05DnDNzb9b3611A_0[80].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[80].sons = &TM__6mNpeIAN05DnDNzb9b3611A_51_3[0];
NTImsgclass__rl49czNJjmhsxrqXRF4PpZw_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[80];
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.size = sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ);
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.align = NIM_ALIGNOF(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ);
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.kind = 17;
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[81].len = 0; TM__6mNpeIAN05DnDNzb9b3611A_0[81].kind = 2;
NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[81];
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.size = sizeof(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.align = NIM_ALIGNOF(tyObject_EParseError__AhEvh4Wbyi5X0mZnj6AkvQ*);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.kind = 22;
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.base = (&NTIeparseerror__AhEvh4Wbyi5X0mZnj6AkvQ_);
NTIrefeparseerror__xgJp9cP2o0GzZPEVyPQDpKA_.marker = Marker_tyRef__xgJp9cP2o0GzZPEVyPQDpKA;
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.size = sizeof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ);
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.align = NIM_ALIGNOF(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ);
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.kind = 17;
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_57_7[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[83];
TM__6mNpeIAN05DnDNzb9b3611A_0[83].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[83].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, idx);
TM__6mNpeIAN05DnDNzb9b3611A_0[83].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[83].name = "idx";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[84];
NTItoken__E0ilHwDrlCLqd7buwAkizA_.size = sizeof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA);
NTItoken__E0ilHwDrlCLqd7buwAkizA_.align = NIM_ALIGNOF(tyObject_Token__E0ilHwDrlCLqd7buwAkizA);
NTItoken__E0ilHwDrlCLqd7buwAkizA_.kind = 18;
NTItoken__E0ilHwDrlCLqd7buwAkizA_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_58_5[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[86];
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.size = sizeof(tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA);
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.align = NIM_ALIGNOF(tyEnum_TokType__UY24uyT9bUilTKVVPqpgQjA);
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.kind = 14;
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.base = 0;
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.flags = 3;
for (TM__6mNpeIAN05DnDNzb9b3611A_61 = 0; TM__6mNpeIAN05DnDNzb9b3611A_61 < 7; TM__6mNpeIAN05DnDNzb9b3611A_61++) {
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_61+87].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_61+87].offset = TM__6mNpeIAN05DnDNzb9b3611A_61;
TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_61+87].name = TM__6mNpeIAN05DnDNzb9b3611A_60[TM__6mNpeIAN05DnDNzb9b3611A_61];
TM__6mNpeIAN05DnDNzb9b3611A_59_7[TM__6mNpeIAN05DnDNzb9b3611A_61] = &TM__6mNpeIAN05DnDNzb9b3611A_0[TM__6mNpeIAN05DnDNzb9b3611A_61+87];
}
TM__6mNpeIAN05DnDNzb9b3611A_0[94].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[94].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[94].sons = &TM__6mNpeIAN05DnDNzb9b3611A_59_7[0];
NTItoktype__UY24uyT9bUilTKVVPqpgQjA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[94];
TM__6mNpeIAN05DnDNzb9b3611A_0[86].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[86].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, kind);
TM__6mNpeIAN05DnDNzb9b3611A_0[86].typ = (&NTItoktype__UY24uyT9bUilTKVVPqpgQjA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[86].name = "kind";
TM__6mNpeIAN05DnDNzb9b3611A_58_5[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[95];
TM__6mNpeIAN05DnDNzb9b3611A_0[95].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[95].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, ival);
TM__6mNpeIAN05DnDNzb9b3611A_0[95].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[95].name = "ival";
TM__6mNpeIAN05DnDNzb9b3611A_58_5[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[96];
TM__6mNpeIAN05DnDNzb9b3611A_0[96].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[96].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, symbol);
TM__6mNpeIAN05DnDNzb9b3611A_0[96].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[96].name = "symbol";
TM__6mNpeIAN05DnDNzb9b3611A_58_5[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[97];
TM__6mNpeIAN05DnDNzb9b3611A_0[97].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[97].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[97].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[97].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_58_5[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[98];
TM__6mNpeIAN05DnDNzb9b3611A_0[98].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[98].offset = offsetof(tyObject_Token__E0ilHwDrlCLqd7buwAkizA, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[98].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[98].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_0[85].len = 5; TM__6mNpeIAN05DnDNzb9b3611A_0[85].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[85].sons = &TM__6mNpeIAN05DnDNzb9b3611A_58_5[0];
NTItoken__E0ilHwDrlCLqd7buwAkizA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[85];
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.size = sizeof(tySequence__HsIBrWWNKBMO7j6datX5Dw*);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.align = NIM_ALIGNOF(tySequence__HsIBrWWNKBMO7j6datX5Dw*);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.kind = 24;
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.base = (&NTItoken__E0ilHwDrlCLqd7buwAkizA_);
NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_.marker = Marker_tySequence__HsIBrWWNKBMO7j6datX5Dw;
TM__6mNpeIAN05DnDNzb9b3611A_0[84].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[84].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, tok);
TM__6mNpeIAN05DnDNzb9b3611A_0[84].typ = (&NTItokenseq__HsIBrWWNKBMO7j6datX5Dw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[84].name = "tok";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[99];
TM__6mNpeIAN05DnDNzb9b3611A_0[99].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[99].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, s);
TM__6mNpeIAN05DnDNzb9b3611A_0[99].typ = (&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[99].name = "s";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[100];
TM__6mNpeIAN05DnDNzb9b3611A_0[100].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[100].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, indentStack);
TM__6mNpeIAN05DnDNzb9b3611A_0[100].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
TM__6mNpeIAN05DnDNzb9b3611A_0[100].name = "indentStack";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[101];
TM__6mNpeIAN05DnDNzb9b3611A_0[101].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[101].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[101].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[101].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[102];
TM__6mNpeIAN05DnDNzb9b3611A_0[102].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[102].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[102].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[102].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_57_7[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[103];
TM__6mNpeIAN05DnDNzb9b3611A_0[103].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[103].offset = offsetof(tyObject_RstParser__A8gCtAm9bQ0VhhTs05KbxKQ, curAnchor);
TM__6mNpeIAN05DnDNzb9b3611A_0[103].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[103].name = "curAnchor";
TM__6mNpeIAN05DnDNzb9b3611A_0[82].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[82].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[82].sons = &TM__6mNpeIAN05DnDNzb9b3611A_57_7[0];
NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[82];
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.size = sizeof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.align = NIM_ALIGNOF(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.kind = 17;
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_62_7[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[105];
TM__6mNpeIAN05DnDNzb9b3611A_0[105].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[105].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, buf);
TM__6mNpeIAN05DnDNzb9b3611A_0[105].typ = (&NTIcstring__S9agCYBinaYZnGWcjTdxclg_);
TM__6mNpeIAN05DnDNzb9b3611A_0[105].name = "buf";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[106];
TM__6mNpeIAN05DnDNzb9b3611A_0[106].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[106].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, bufpos);
TM__6mNpeIAN05DnDNzb9b3611A_0[106].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[106].name = "bufpos";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[107];
TM__6mNpeIAN05DnDNzb9b3611A_0[107].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[107].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, line);
TM__6mNpeIAN05DnDNzb9b3611A_0[107].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[107].name = "line";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[108];
TM__6mNpeIAN05DnDNzb9b3611A_0[108].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[108].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, col);
TM__6mNpeIAN05DnDNzb9b3611A_0[108].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[108].name = "col";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[109];
TM__6mNpeIAN05DnDNzb9b3611A_0[109].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[109].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, baseIndent);
TM__6mNpeIAN05DnDNzb9b3611A_0[109].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[109].name = "baseIndent";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[110];
TM__6mNpeIAN05DnDNzb9b3611A_0[110].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[110].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, adornmentLine);
TM__6mNpeIAN05DnDNzb9b3611A_0[110].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[110].name = "adornmentLine";
TM__6mNpeIAN05DnDNzb9b3611A_62_7[6] = &TM__6mNpeIAN05DnDNzb9b3611A_0[111];
TM__6mNpeIAN05DnDNzb9b3611A_0[111].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[111].offset = offsetof(tyObject_Lexer__3YG5ySvYMCKO10FLX9b9cbgA, escapeNext);
TM__6mNpeIAN05DnDNzb9b3611A_0[111].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[111].name = "escapeNext";
TM__6mNpeIAN05DnDNzb9b3611A_0[104].len = 7; TM__6mNpeIAN05DnDNzb9b3611A_0[104].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[104].sons = &TM__6mNpeIAN05DnDNzb9b3611A_62_7[0];
NTIlexer__3YG5ySvYMCKO10FLX9b9cbgA_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[104];
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.size = sizeof(tySequence__lBgZ7a89beZGYPl8PiANMTA*);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.align = NIM_ALIGNOF(tySequence__lBgZ7a89beZGYPl8PiANMTA*);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.kind = 24;
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.base = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
NTIseqLcharT__lBgZ7a89beZGYPl8PiANMTA_.marker = Marker_tySequence__lBgZ7a89beZGYPl8PiANMTA;
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.size = sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.kind = 17;
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.flags = 1;
TM__6mNpeIAN05DnDNzb9b3611A_253_3[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[113];
TM__6mNpeIAN05DnDNzb9b3611A_0[113].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[113].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[113].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[113].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_253_3[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[114];
TM__6mNpeIAN05DnDNzb9b3611A_0[114].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[114].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, w1);
TM__6mNpeIAN05DnDNzb9b3611A_0[114].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[114].name = "w1";
TM__6mNpeIAN05DnDNzb9b3611A_253_3[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[115];
TM__6mNpeIAN05DnDNzb9b3611A_0[115].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[115].offset = offsetof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ, col2);
TM__6mNpeIAN05DnDNzb9b3611A_0[115].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[115].name = "col2";
TM__6mNpeIAN05DnDNzb9b3611A_0[112].len = 3; TM__6mNpeIAN05DnDNzb9b3611A_0[112].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[112].sons = &TM__6mNpeIAN05DnDNzb9b3611A_253_3[0];
NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[112];
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.size = sizeof(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseEnumList___bzbl1IBh9cCqMF9aO9bQ9bvTqQ*);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.kind = 22;
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.base = (&NTIobject__bzbl1IBh9cCqMF9aO9bQ9bvTqQ_);
NTIrefobject__txefaw5zpc9a9a6GUuV9bJj9cg_.marker = Marker_tyRef__txefaw5zpc9a9a6GUuV9bJj9cg;
NTIobject__crlV1WNGeShngwIuNh2Hdg_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg);
NTIobject__crlV1WNGeShngwIuNh2Hdg_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg);
NTIobject__crlV1WNGeShngwIuNh2Hdg_.kind = 17;
NTIobject__crlV1WNGeShngwIuNh2Hdg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_268_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[117];
TM__6mNpeIAN05DnDNzb9b3611A_0[117].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[117].offset = offsetof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[117].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[117].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_268_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[118];
TM__6mNpeIAN05DnDNzb9b3611A_0[118].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[118].offset = offsetof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg, p1);
TM__6mNpeIAN05DnDNzb9b3611A_0[118].typ = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[118].name = "p1";
TM__6mNpeIAN05DnDNzb9b3611A_0[116].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[116].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[116].sons = &TM__6mNpeIAN05DnDNzb9b3611A_268_2[0];
NTIobject__crlV1WNGeShngwIuNh2Hdg_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[116];
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.size = sizeof(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_checkHeadingHierarchy___crlV1WNGeShngwIuNh2Hdg*);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.kind = 22;
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.base = (&NTIobject__crlV1WNGeShngwIuNh2Hdg_);
NTIrefobject__bHTrQBnWrTGWBsx8uFfYsw_.marker = Marker_tyRef__bHTrQBnWrTGWBsx8uFfYsw;
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ);
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ);
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.kind = 17;
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_276_6[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[120];
TM__6mNpeIAN05DnDNzb9b3611A_0[120].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[120].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[120].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[120].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_276_6[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[121];
TM__6mNpeIAN05DnDNzb9b3611A_0[121].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[121].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, row1);
TM__6mNpeIAN05DnDNzb9b3611A_0[121].typ = (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[121].name = "row1";
TM__6mNpeIAN05DnDNzb9b3611A_276_6[2] = &TM__6mNpeIAN05DnDNzb9b3611A_0[122];
TM__6mNpeIAN05DnDNzb9b3611A_0[122].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[122].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, colNum2);
TM__6mNpeIAN05DnDNzb9b3611A_0[122].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[122].name = "colNum2";
TM__6mNpeIAN05DnDNzb9b3611A_276_6[3] = &TM__6mNpeIAN05DnDNzb9b3611A_0[123];
TM__6mNpeIAN05DnDNzb9b3611A_0[123].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[123].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, a3);
TM__6mNpeIAN05DnDNzb9b3611A_0[123].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[123].name = "a3";
TM__6mNpeIAN05DnDNzb9b3611A_276_6[4] = &TM__6mNpeIAN05DnDNzb9b3611A_0[124];
TM__6mNpeIAN05DnDNzb9b3611A_0[124].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[124].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, b4);
TM__6mNpeIAN05DnDNzb9b3611A_0[124].typ = (&NTIprstnode__atGg6Dddbb7ASNaCLVdS9aA_);
TM__6mNpeIAN05DnDNzb9b3611A_0[124].name = "b4";
TM__6mNpeIAN05DnDNzb9b3611A_276_6[5] = &TM__6mNpeIAN05DnDNzb9b3611A_0[125];
TM__6mNpeIAN05DnDNzb9b3611A_0[125].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[125].offset = offsetof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ, q5);
TM__6mNpeIAN05DnDNzb9b3611A_0[125].typ = (&NTIrstparser__A8gCtAm9bQ0VhhTs05KbxKQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[125].name = "q5";
TM__6mNpeIAN05DnDNzb9b3611A_0[119].len = 6; TM__6mNpeIAN05DnDNzb9b3611A_0[119].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[119].sons = &TM__6mNpeIAN05DnDNzb9b3611A_276_6[0];
NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[119];
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.size = sizeof(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_parseMarkdownTable___K6YyrsU0oWcAC9bMU3QrdnQ*);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.kind = 22;
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.base = (&NTIobject__K6YyrsU0oWcAC9bMU3QrdnQ_);
NTIrefobject__fDLYSKIpVlcMcN8u8wR00Q_.marker = Marker_tyRef__fDLYSKIpVlcMcN8u8wR00Q;
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ);
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ);
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.kind = 17;
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__6mNpeIAN05DnDNzb9b3611A_281_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[127];
TM__6mNpeIAN05DnDNzb9b3611A_0[127].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[127].offset = offsetof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ, colonstate_);
TM__6mNpeIAN05DnDNzb9b3611A_0[127].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[127].name = ":state";
TM__6mNpeIAN05DnDNzb9b3611A_281_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[128];
TM__6mNpeIAN05DnDNzb9b3611A_0[128].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[128].offset = offsetof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ, s1);
TM__6mNpeIAN05DnDNzb9b3611A_0[128].typ = (&NTIprstsharedstate__YXv0Ic1rfmWevYoin4lGYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[128].name = "s1";
TM__6mNpeIAN05DnDNzb9b3611A_0[126].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[126].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[126].sons = &TM__6mNpeIAN05DnDNzb9b3611A_281_2[0];
NTIobject__dSbgko9cUbNv6KjiW415IXQ_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[126];
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.size = sizeof(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.align = NIM_ALIGNOF(tyObject_Env_rstdotnim_orderFootnotes___dSbgko9cUbNv6KjiW415IXQ*);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.kind = 22;
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.base = (&NTIobject__dSbgko9cUbNv6KjiW415IXQ_);
NTIrefobject__ZdwpLvn9cTLhGj4hnaTCvbw_.marker = Marker_tyRef__ZdwpLvn9cTLhGj4hnaTCvbw;
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.size = sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q);
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q);
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.kind = 18;
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.base = 0;
TM__6mNpeIAN05DnDNzb9b3611A_294_2[0] = &TM__6mNpeIAN05DnDNzb9b3611A_0[130];
TM__6mNpeIAN05DnDNzb9b3611A_0[130].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[130].offset = offsetof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q, next);
TM__6mNpeIAN05DnDNzb9b3611A_0[130].typ = (&NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_);
TM__6mNpeIAN05DnDNzb9b3611A_0[130].name = "next";
TM__6mNpeIAN05DnDNzb9b3611A_294_2[1] = &TM__6mNpeIAN05DnDNzb9b3611A_0[131];
TM__6mNpeIAN05DnDNzb9b3611A_0[131].kind = 1;
TM__6mNpeIAN05DnDNzb9b3611A_0[131].offset = offsetof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q, value);
TM__6mNpeIAN05DnDNzb9b3611A_0[131].typ = (&NTIfootnotesubst__msoRFpgv3EcbLwCh9arSpYw_);
TM__6mNpeIAN05DnDNzb9b3611A_0[131].name = "value";
TM__6mNpeIAN05DnDNzb9b3611A_0[129].len = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[129].kind = 2; TM__6mNpeIAN05DnDNzb9b3611A_0[129].sons = &TM__6mNpeIAN05DnDNzb9b3611A_294_2[0];
NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_.node = &TM__6mNpeIAN05DnDNzb9b3611A_0[129];
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.size = sizeof(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.align = NIM_ALIGNOF(tyObject_SinglyLinkedNodeObj__HiSLnJoU2zkTTpGXzg870Q*);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.kind = 22;
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.base = (&NTIsinglylinkednodeobj__HiSLnJoU2zkTTpGXzg870Q_);
NTIsinglylinkednode__KYNyCmO27XWAAJ4AB4n9aQQ_.marker = Marker_tyRef__KYNyCmO27XWAAJ4AB4n9aQQ;
}

