/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ;
typedef struct tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA;
typedef struct tySequence__5DSB9bTgCQCsIApS5TVlG8g tySequence__5DSB9bTgCQCsIApS5TVlG8g;
typedef struct tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg;
typedef struct tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA;
typedef struct tySequence__wbtGjaWHe0od6j1oiCOVBQ tySequence__wbtGjaWHe0od6j1oiCOVBQ;
typedef struct tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA;
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 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;

/* section: NIM_merge_TYPES */
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q;
struct tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ {
tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q kind;
union{
NimStringDesc* term;
NIM_CHAR ch;
NU8* charChoice;
tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* nt;
NI index;
tySequence__5DSB9bTgCQCsIApS5TVlG8g* sons;
};
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
typedef tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyArray__fGQVl7HExKS7O8hYfcMlAQ[20];
struct tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ {
tyArray__fGQVl7HExKS7O8hYfcMlAQ matches;
NI ml;
NI origStart;
};
typedef NU8 tySet_tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw;
struct tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA {
NimStringDesc* name;
NI line;
NI col;
tySet_tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw flags;
tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ rule;
};
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;
};
struct tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q {
TNimType* m_type;
NI bufpos;
NimStringDesc* buf;
NI lineNumber;
NI lineStart;
NI colOffset;
NimStringDesc* filename;
};
typedef NU8 tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw;
typedef NU8 tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA;
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA {
tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw kind;
tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA modifier;
NimStringDesc* literal;
tySet_tyChar__nmiMWKVIe46vacnhAFrQvw charset;
NI index;
};
struct tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg {
  tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q Sup;
tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA tok;
tySequence__wbtGjaWHe0od6j1oiCOVBQ* nonterms;
tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA modifier;
NI captures;
NIM_BOOL identIsVerbatim;
tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ skip;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw;
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_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ tyArray__rS9bk8uu9axETY9bOxp2l1GHQ[2];
typedef NimStringDesc* tyArray__9bfXgNlAdUyWPxicWlc3FWA[25];
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__5DSB9bTgCQCsIApS5TVlG8g {
  TGenericSeq Sup;
  tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ data[SEQ_DECL_SIZE];
};
struct tySequence__wbtGjaWHe0od6j1oiCOVBQ {
  TGenericSeq Sup;
  tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(NI, npegsmatchLenCapture)(NimStringDesc* s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pattern, NimStringDesc** matches, NI matchesLen_0, NI start);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NI, npegsrawMatch)(NimStringDesc* s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ p, NI start, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* c);
N_LIB_PRIVATE N_NIMCALL(NI, matchIt__HsNdIDFjzA9cQdbHEL6NSBg)(NimStringDesc* sX60gensym26_, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pX60gensym26_, NI startX60gensym26_, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* cX60gensym26_);
N_LIB_PRIVATE N_NIMCALL(NI, runeLenAt__WMpE2MYPWM1HlcK1wXx02Q)(NimStringDesc* s, NI i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nucisAlpha)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nucisLower)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nucisUpper)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nucisTitle)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nucisWhiteSpace)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___vKtIOoSlgRq49afS1c8u7zg)(NI32 a, NI32 b);
N_LIB_PRIVATE N_NIMCALL(NI32, nuctoLower)(NI32 c);
N_LIB_PRIVATE N_NIMCALL(NI, matchBackRef__HsNdIDFjzA9cQdbHEL6NSBg_2)(NimStringDesc* sX60gensym26_, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pX60gensym26_, NI startX60gensym26_, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* cX60gensym26_);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, parsePeg__lS04BXBOBnydcCBNVBF9bNw)(NimStringDesc* pattern, NimStringDesc* filename, NI line, NI col, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_NIMCALL(void, Marker_tyRef__DWDl83X3sWmMXGYAzF5Aug)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__5DSB9bTgCQCsIApS5TVlG8g)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__ne9c8mGWiMWXBIOmu9cRFBTw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__wbtGjaWHe0od6j1oiCOVBQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, init__sHzYnQvltM12eWSAM9cw7jw)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NimStringDesc* input, NimStringDesc* filename, NI line, NI col);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(void, getTok__N6UyL3NoCbQFjnydJ8RVDg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p);
N_LIB_PRIVATE N_NIMCALL(void, getTok__zUGRkOORbt8wzxyKxNHYHg)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, skip__9bScc7MO8VP7aEapK3GqXvw)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c);
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__Eyh3ljHjW4sKcIgw9aVUELA)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__Eyh3ljHjW4sKcIgw9aVUELA_2)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NI pos);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, getCharSet__zUGRkOORbt8wzxyKxNHYHg_2)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__NSvL0y9aEFOo8fCyOplOY4w)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, NI* xi);
N_LIB_PRIVATE N_NIMCALL(void, getBuiltin__zUGRkOORbt8wzxyKxNHYHg_4)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__zUGRkOORbt8wzxyKxNHYHg_5)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getString__zUGRkOORbt8wzxyKxNHYHg_6)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
N_LIB_PRIVATE N_NIMCALL(void, getDollar__zUGRkOORbt8wzxyKxNHYHg_7)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, pegError__BMmAapFwghEVCePgcFScUg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, NimStringDesc* msg, NI line, NI col);
static N_NIMCALL(void, Marker_tyRef__9cnKZRDpncoV9cvYmm9cA6N5A)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorStr__rgv2w6Fu889c9cU2eKr8xucg)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NimStringDesc* msg, NI line, NI col);
static N_INLINE(NI, getLine__VLHJcdFBF4RkQrFxGrHR4gpegs)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L);
static N_INLINE(NI, getColumn__VLHJcdFBF4RkQrFxGrHR4g_2pegs)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(void, rawParse__MaL2q9aiyWZXRK0fbgHwGWA)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsOptional)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, primary__MaL2q9aiyWZXRK0fbgHwGWA_2)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, npegsAndPredicate)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsNotPredicate)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsSearch)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npgegsCapturedSearch)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, token__yNO39bt9aZu9aox0jITQ9cJ8aw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ terminal, tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegssequence)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* a, NI aLen_0, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, addSequence__bek7Fed15RyBUuSg6zITEw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* dest, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ elem);
static N_INLINE(NI, len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a);
N_LIB_PRIVATE N_NIMCALL(void, npegstermStr)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
static N_INLINE(void, add__Yxqc7pnofxe0aIWMJo4J9cwpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* d, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, modifiedTerm__PRjoiBA234MDaFoq6R9cMUw)(NimStringDesc* s, tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegstermIgnoreCase)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegstermIgnoreStyle)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, getNonTerminal__owz7gr9cNnue9b2MsAC72zMQ)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, npegsnewNonTerminal)(NimStringDesc* name, NI line, NI column);
N_LIB_PRIVATE N_NIMCALL(void, npegsnonterminal)(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* n, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(NI, spaceCost__wfSWZhj3xiJHwwKIV0BpPw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ n);
N_LIB_PRIVATE N_NIMCALL(void, npegscharSet)(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, seqExpr__MaL2q9aiyWZXRK0fbgHwGWA_4)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsOrderedChoice)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* a, NI aLen_0, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, addChoice__bek7Fed15RyBUuSg6zITEw_2)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* dest, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ elem);
N_LIB_PRIVATE N_NIMCALL(void, eat__hjU4sv1ca6ZjKpV3nc6Zhg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw kind);
N_LIB_PRIVATE N_NIMCALL(void, npegsCapture)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, any__vJ7L9clGomKkGyXSc8Lc5TQpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, anyRune__vJ7L9clGomKkGyXSc8Lc5TQ_2pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, builtin__MaL2q9aiyWZXRK0fbgHwGWA_5)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
static N_INLINE(void, newLine__vJ7L9clGomKkGyXSc8Lc5TQ_3pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsGreedyRep)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unicodeLetter__vJ7L9clGomKkGyXSc8Lc5TQ_4pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unicodeUpper__vJ7L9clGomKkGyXSc8Lc5TQ_5pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unicodeLower__vJ7L9clGomKkGyXSc8Lc5TQ_6pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unicodeTitle__vJ7L9clGomKkGyXSc8Lc5TQ_7pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, unicodeWhitespace__vJ7L9clGomKkGyXSc8Lc5TQ_8pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegstermChar)(NIM_CHAR t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, endAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_9pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
static N_INLINE(void, startAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_10pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, modifiedBackref__lP6hszPxu8STBkt8ALHfmw)(NI s, tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsbackref)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsbackrefIgnoreCase)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsbackrefIgnoreStyle)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(void, npegsGreedyPosRep)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, parseRule__FcYmx9aP0FAQ09bSN09bCgCzA)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p);

/* section: NIM_merge_DATA */
N_LIB_PRIVATE TNimType NTI__PtCHh4SlKU9c9auwVazDFB6Q_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTI__YGbAG2ONLZxyHsgzU1OeCg_;
N_LIB_PRIVATE TNimType NTI__7MBEr6JdfMtt2SLdWJ4TnA_;
N_LIB_PRIVATE TNimType NTI__PXxfBn560z0EWOn5M2H9aWw_;
N_LIB_PRIVATE TNimType NTI__7Wz82JmsepInwCEDiPsupA_;
extern TNimType NTI__HDqWPvEAxZK51ZcfaeQEdg_;
N_LIB_PRIVATE TNimType NTI__VMn2tGRm8B9a9cqMEec3KPEA_;
N_LIB_PRIVATE TNimType NTI__raeF9a9anryo8cnwfITE0Glw_;
N_LIB_PRIVATE TNimType NTI__lU0PfHKIn29cxb4xJ1TaXlA_;
N_LIB_PRIVATE TNimType NTI__4Bytir9b2lq5I84yi5O7ztQ_;
N_LIB_PRIVATE TNimType NTI__r9a6rAhGclsLWkBysfmtr6Q_;
TNimNode* NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[34];
extern TNimType NTI__nmiMWKVIe46vacnhAFrQvw_;
N_LIB_PRIVATE TNimType NTI__DWDl83X3sWmMXGYAzF5Aug_;
extern TNimType NTI__a9bIsIkdQvQMv0xYGrfgSag_;
N_LIB_PRIVATE TNimType NTI__5DSB9bTgCQCsIApS5TVlG8g_;
N_LIB_PRIVATE TNimType NTI__ne9c8mGWiMWXBIOmu9cRFBTw_;
N_LIB_PRIVATE TNimType NTI__wbtGjaWHe0od6j1oiCOVBQ_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_18 = {
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, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_19, "[EOF]", 5);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_20, "{@}", 3);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_21 = {
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_22, "i", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_23, "y", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_24, "v", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_25, "<-", 2);
extern TNimType NTI__yoNlBGx0D2tRizIdhQuENw_;
N_LIB_PRIVATE TNimType NTI__puU8NKFnFhXREunnzDo9bUA_;
N_LIB_PRIVATE TNimType NTI__9cnKZRDpncoV9cvYmm9cA6N5A_;
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_26, "$1($2, $3) Error: $4", 20);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_27, "\'", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_28, "\' is invalid token", 18);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_29, "skip", 4);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_30, "expression expected, but found: ", 32);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_31, "binary zero (\'\\0\') not allowed in character class", 49);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_32, "invalid", 7);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_33, ".", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_34, "_", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_35, "identifier", 10);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_36, "string literal", 14);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_37, "character set", 13);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_38, "(", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_39, ")", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_40, "{", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_41, "}", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_42, "/", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_43, "*", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_44, "+", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_45, "&", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_46, "!", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_47, "\?", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_48, "@", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_49, "built-in", 8);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_50, "escaped", 7);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_51, "$", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_52, "^", 1);
N_LIB_PRIVATE NIM_CONST tyArray__9bfXgNlAdUyWPxicWlc3FWA tokKindToStr__fTB9aWRDboDH2Gq75cAF9cKQ = {((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_32),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_19),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_33),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_34),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_35),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_36),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_37),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_38),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_39),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_40),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_41),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_20),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_25),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_42),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_43),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_44),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_45),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_46),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_47),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_48),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_49),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_50),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_51),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_51),
((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_52)}
;
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_53, " expected", 9);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_54, "n", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_55, "d", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_56, "D", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_57, "s", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_58, "S", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_59, "w", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_60, "W", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_61, "a", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_62, "A", 1);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_63, "ident", 5);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_64, "letter", 6);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_65, "upper", 5);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_66, "lower", 5);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_67, "title", 5);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_68, "white", 5);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_69 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_70 = {
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfc,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_71 = {
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}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_72 = {
0xfe, 0xc1, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_73 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_74 = {
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfc,
0x01, 0x00, 0x00, 0x78, 0x01, 0x00, 0x00, 0xf8,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_75 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_76 = {
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x01, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0xf8,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_77 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__YGOrctedenU9ao6jM7xmy6g_78 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_79, "unknown built-in: ", 18);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_80, "invalid back reference index: ", 30);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_81, "attempt to redefine: ", 21);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_82, "rule expected, but found: ", 26);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_83, "EOF expected, but found: ", 25);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_84, "undeclared identifier: ", 23);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_85, "unused rule: ", 13);
STRING_LITERAL(TM__YGOrctedenU9ao6jM7xmy6g_86, "pattern", 7);

/* section: NIM_merge_VARS */
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;

/* section: NIM_merge_PROCS */
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchBackRef__HsNdIDFjzA9cQdbHEL6NSBg_2)(NimStringDesc* sX60gensym26_, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pX60gensym26_, NI startX60gensym26_, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* cX60gensym26_) {
	NI result;
	NI aX60gensym26_;
	NI bX60gensym26_;
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ nX60gensym26_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*cX60gensym26_).ml <= ((NI) (pX60gensym26_.index)))) goto LA3_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA3_: ;
	aX60gensym26_ = (*cX60gensym26_).matches[(pX60gensym26_.index)- 0].Field0;
	bX60gensym26_ = (*cX60gensym26_).matches[(pX60gensym26_.index)- 0].Field1;
	nimZeroMem((void*)(&nX60gensym26_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	switch (pX60gensym26_.kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25):
	{
		nimZeroMem((void*)(&nX60gensym26_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nX60gensym26_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9);
		nX60gensym26_.term = substr__2yh9cer0ymNRHlOOg8P7IuA(sX60gensym26_, aX60gensym26_, bX60gensym26_);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	{
		nimZeroMem((void*)(&nX60gensym26_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nX60gensym26_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11);
		nX60gensym26_.term = substr__2yh9cer0ymNRHlOOg8P7IuA(sX60gensym26_, aX60gensym26_, bX60gensym26_);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 26):
	{
		nimZeroMem((void*)(&nX60gensym26_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nX60gensym26_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10);
		nX60gensym26_.term = substr__2yh9cer0ymNRHlOOg8P7IuA(sX60gensym26_, aX60gensym26_, bX60gensym26_);
	}
	break;
	default:
	{
	}
	break;
	}
	result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, nX60gensym26_, startX60gensym26_, cX60gensym26_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, matchIt__HsNdIDFjzA9cQdbHEL6NSBg)(NimStringDesc* sX60gensym26_, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pX60gensym26_, NI startX60gensym26_, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* cX60gensym26_) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch (pX60gensym26_.kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0):
	{
		result = ((NI) 0);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 1):
	{
		{
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA5_;
			result = ((NI) 1);
		}
		goto LA3_;
		LA5_: ;
		{
			result = ((NI) -1);
		}
		LA3_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 2):
	{
		{
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA11_;
			result = runeLenAt__WMpE2MYPWM1HlcK1wXx02Q(sX60gensym26_, ((NI) (startX60gensym26_)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA9_;
		LA11_: ;
		{
			result = ((NI) -1);
		}
		LA9_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 4):
	{
		{
			NI32 aX60gensym26_;
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA17_;
			aX60gensym26_ = (NI32)0;
			result = startX60gensym26_;
			{
				if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA21_;
				aX60gensym26_ = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			goto LA19_;
			LA21_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA24_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA28_;
					aX60gensym26_ = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
					result += ((NI) 2);
				}
				goto LA26_;
				LA28_: ;
				{
					aX60gensym26_ = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA26_: ;
			}
			goto LA19_;
			LA24_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA32_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA36_;
					aX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
					result += ((NI) 3);
				}
				goto LA34_;
				LA36_: ;
				{
					aX60gensym26_ = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA34_: ;
			}
			goto LA19_;
			LA32_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA40_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA44_;
					aX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
					result += ((NI) 4);
				}
				goto LA42_;
				LA44_: ;
				{
					aX60gensym26_ = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA42_: ;
			}
			goto LA19_;
			LA40_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA48_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA52_;
					aX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
					result += ((NI) 5);
				}
				goto LA50_;
				LA52_: ;
				{
					aX60gensym26_ = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA50_: ;
			}
			goto LA19_;
			LA48_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA56_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA60_;
					aX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
					result += ((NI) 6);
				}
				goto LA58_;
				LA60_: ;
				{
					aX60gensym26_ = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA58_: ;
			}
			goto LA19_;
			LA56_: ;
			{
				aX60gensym26_ = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			LA19_: ;
			{
				NIM_BOOL T66_;
				T66_ = (NIM_BOOL)0;
				T66_ = nucisAlpha(aX60gensym26_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T66_) goto LA67_;
				result -= startX60gensym26_;
			}
			goto LA64_;
			LA67_: ;
			{
				result = ((NI) -1);
			}
			LA64_: ;
		}
		goto LA15_;
		LA17_: ;
		{
			result = ((NI) -1);
		}
		LA15_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 5):
	{
		{
			NI32 aX60gensym26__2;
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA74_;
			aX60gensym26__2 = (NI32)0;
			result = startX60gensym26_;
			{
				if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA78_;
				aX60gensym26__2 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			goto LA76_;
			LA78_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA81_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA85_;
					aX60gensym26__2 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
					result += ((NI) 2);
				}
				goto LA83_;
				LA85_: ;
				{
					aX60gensym26__2 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA83_: ;
			}
			goto LA76_;
			LA81_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA89_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA93_;
					aX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
					result += ((NI) 3);
				}
				goto LA91_;
				LA93_: ;
				{
					aX60gensym26__2 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA91_: ;
			}
			goto LA76_;
			LA89_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA97_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA101_;
					aX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
					result += ((NI) 4);
				}
				goto LA99_;
				LA101_: ;
				{
					aX60gensym26__2 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA99_: ;
			}
			goto LA76_;
			LA97_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA105_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA109_;
					aX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
					result += ((NI) 5);
				}
				goto LA107_;
				LA109_: ;
				{
					aX60gensym26__2 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA107_: ;
			}
			goto LA76_;
			LA105_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA113_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA117_;
					aX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
					result += ((NI) 6);
				}
				goto LA115_;
				LA117_: ;
				{
					aX60gensym26__2 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA115_: ;
			}
			goto LA76_;
			LA113_: ;
			{
				aX60gensym26__2 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			LA76_: ;
			{
				NIM_BOOL T123_;
				T123_ = (NIM_BOOL)0;
				T123_ = nucisLower(aX60gensym26__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T123_) goto LA124_;
				result -= startX60gensym26_;
			}
			goto LA121_;
			LA124_: ;
			{
				result = ((NI) -1);
			}
			LA121_: ;
		}
		goto LA72_;
		LA74_: ;
		{
			result = ((NI) -1);
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 6):
	{
		{
			NI32 aX60gensym26__3;
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA131_;
			aX60gensym26__3 = (NI32)0;
			result = startX60gensym26_;
			{
				if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA135_;
				aX60gensym26__3 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			goto LA133_;
			LA135_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA138_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA142_;
					aX60gensym26__3 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
					result += ((NI) 2);
				}
				goto LA140_;
				LA142_: ;
				{
					aX60gensym26__3 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA140_: ;
			}
			goto LA133_;
			LA138_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA146_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA150_;
					aX60gensym26__3 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
					result += ((NI) 3);
				}
				goto LA148_;
				LA150_: ;
				{
					aX60gensym26__3 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA148_: ;
			}
			goto LA133_;
			LA146_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA154_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA158_;
					aX60gensym26__3 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
					result += ((NI) 4);
				}
				goto LA156_;
				LA158_: ;
				{
					aX60gensym26__3 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA156_: ;
			}
			goto LA133_;
			LA154_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA162_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA166_;
					aX60gensym26__3 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
					result += ((NI) 5);
				}
				goto LA164_;
				LA166_: ;
				{
					aX60gensym26__3 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA164_: ;
			}
			goto LA133_;
			LA162_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA170_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA174_;
					aX60gensym26__3 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
					result += ((NI) 6);
				}
				goto LA172_;
				LA174_: ;
				{
					aX60gensym26__3 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA172_: ;
			}
			goto LA133_;
			LA170_: ;
			{
				aX60gensym26__3 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			LA133_: ;
			{
				NIM_BOOL T180_;
				T180_ = (NIM_BOOL)0;
				T180_ = nucisUpper(aX60gensym26__3);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T180_) goto LA181_;
				result -= startX60gensym26_;
			}
			goto LA178_;
			LA181_: ;
			{
				result = ((NI) -1);
			}
			LA178_: ;
		}
		goto LA129_;
		LA131_: ;
		{
			result = ((NI) -1);
		}
		LA129_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 7):
	{
		{
			NI32 aX60gensym26__4;
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA188_;
			aX60gensym26__4 = (NI32)0;
			result = startX60gensym26_;
			{
				if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA192_;
				aX60gensym26__4 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			goto LA190_;
			LA192_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA195_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA199_;
					aX60gensym26__4 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
					result += ((NI) 2);
				}
				goto LA197_;
				LA199_: ;
				{
					aX60gensym26__4 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA197_: ;
			}
			goto LA190_;
			LA195_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA203_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA207_;
					aX60gensym26__4 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
					result += ((NI) 3);
				}
				goto LA205_;
				LA207_: ;
				{
					aX60gensym26__4 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA205_: ;
			}
			goto LA190_;
			LA203_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA211_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA215_;
					aX60gensym26__4 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
					result += ((NI) 4);
				}
				goto LA213_;
				LA215_: ;
				{
					aX60gensym26__4 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA213_: ;
			}
			goto LA190_;
			LA211_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA219_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA223_;
					aX60gensym26__4 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
					result += ((NI) 5);
				}
				goto LA221_;
				LA223_: ;
				{
					aX60gensym26__4 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA221_: ;
			}
			goto LA190_;
			LA219_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA227_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA231_;
					aX60gensym26__4 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
					result += ((NI) 6);
				}
				goto LA229_;
				LA231_: ;
				{
					aX60gensym26__4 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA229_: ;
			}
			goto LA190_;
			LA227_: ;
			{
				aX60gensym26__4 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			LA190_: ;
			{
				NIM_BOOL T237_;
				T237_ = (NIM_BOOL)0;
				T237_ = nucisTitle(aX60gensym26__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T237_) goto LA238_;
				result -= startX60gensym26_;
			}
			goto LA235_;
			LA238_: ;
			{
				result = ((NI) -1);
			}
			LA235_: ;
		}
		goto LA186_;
		LA188_: ;
		{
			result = ((NI) -1);
		}
		LA186_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	{
		{
			NI32 aX60gensym26__5;
			if (!(startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA245_;
			aX60gensym26__5 = (NI32)0;
			result = startX60gensym26_;
			{
				if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA249_;
				aX60gensym26__5 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			goto LA247_;
			LA249_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA252_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA256_;
					aX60gensym26__5 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
					result += ((NI) 2);
				}
				goto LA254_;
				LA256_: ;
				{
					aX60gensym26__5 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA254_: ;
			}
			goto LA247_;
			LA252_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA260_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA264_;
					aX60gensym26__5 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
					result += ((NI) 3);
				}
				goto LA262_;
				LA264_: ;
				{
					aX60gensym26__5 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA262_: ;
			}
			goto LA247_;
			LA260_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA268_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA272_;
					aX60gensym26__5 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
					result += ((NI) 4);
				}
				goto LA270_;
				LA272_: ;
				{
					aX60gensym26__5 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA270_: ;
			}
			goto LA247_;
			LA268_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA276_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA280_;
					aX60gensym26__5 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
					result += ((NI) 5);
				}
				goto LA278_;
				LA280_: ;
				{
					aX60gensym26__5 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA278_: ;
			}
			goto LA247_;
			LA276_: ;
			{
				if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA284_;
				{
					if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA288_;
					aX60gensym26__5 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
					result += ((NI) 6);
				}
				goto LA286_;
				LA288_: ;
				{
					aX60gensym26__5 = ((NI32) 65533);
					result += ((NI) 1);
				}
				LA286_: ;
			}
			goto LA247_;
			LA284_: ;
			{
				aX60gensym26__5 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
				result += ((NI) 1);
			}
			LA247_: ;
			{
				NIM_BOOL T294_;
				T294_ = (NIM_BOOL)0;
				T294_ = nucisWhiteSpace(aX60gensym26__5);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T294_) goto LA295_;
				result -= startX60gensym26_;
			}
			goto LA292_;
			LA295_: ;
			{
				result = ((NI) -1);
			}
			LA292_: ;
		}
		goto LA243_;
		LA245_: ;
		{
			result = ((NI) -1);
		}
		LA243_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 20):
	{
		result = (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - startX60gensym26_);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 3):
	{
		{
			NIM_BOOL T303_;
			T303_ = (NIM_BOOL)0;
			T303_ = (startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
			if (!(T303_)) goto LA304_;
			T303_ = ((NU8)(sX60gensym26_->data[startX60gensym26_]) == (NU8)(10));
			LA304_: ;
			if (!T303_) goto LA305_;
			result = ((NI) 1);
		}
		goto LA301_;
		LA305_: ;
		{
			NIM_BOOL T308_;
			T308_ = (NIM_BOOL)0;
			T308_ = (startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
			if (!(T308_)) goto LA309_;
			T308_ = ((NU8)(sX60gensym26_->data[startX60gensym26_]) == (NU8)(13));
			LA309_: ;
			if (!T308_) goto LA310_;
			{
				NIM_BOOL T314_;
				T314_ = (NIM_BOOL)0;
				T314_ = ((NI)(startX60gensym26_ + ((NI) 1)) < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
				if (!(T314_)) goto LA315_;
				T314_ = ((NU8)(sX60gensym26_->data[(NI)(startX60gensym26_ + ((NI) 1))]) == (NU8)(10));
				LA315_: ;
				if (!T314_) goto LA316_;
				result = ((NI) 2);
			}
			goto LA312_;
			LA316_: ;
			{
				result = ((NI) 1);
			}
			LA312_: ;
		}
		goto LA301_;
		LA310_: ;
		{
			result = ((NI) -1);
		}
		LA301_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	{
		result = (pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0);
		{
			NI iX60gensym26_;
			NI colontmp_;
			NI res;
			iX60gensym26_ = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = (NI)(result - ((NI) 1));
			res = ((NI) 0);
			{
				while (1) {
					if (!(res <= colontmp_)) goto LA323;
					iX60gensym26_ = res;
					{
						NIM_BOOL T326_;
						T326_ = (NIM_BOOL)0;
						T326_ = ((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) <= (NI)(startX60gensym26_ + iX60gensym26_));
						if (T326_) goto LA327_;
						T326_ = !(((NU8)(pX60gensym26_.term->data[iX60gensym26_]) == (NU8)(sX60gensym26_->data[(NI)(startX60gensym26_ + iX60gensym26_)])));
						LA327_: ;
						if (!T326_) goto LA328_;
						result = ((NI) -1);
						goto LA321;
					}
					LA328_: ;
					res += ((NI) 1);
				} LA323: ;
			}
		} LA321: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	{
		NI iX60gensym26__2;
		NI32 aX60gensym26__6;
		NI32 bX60gensym26_;
		iX60gensym26__2 = ((NI) 0);
		aX60gensym26__6 = (NI32)0;
		bX60gensym26_ = (NI32)0;
		result = startX60gensym26_;
		{
			while (1) {
				if (!(iX60gensym26__2 < (pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0))) goto LA332;
				{
					if (!((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) <= result)) goto LA335_;
					result = ((NI) -1);
					goto LA331;
				}
				LA335_: ;
				{
					if (!((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) <= (NU64)(((NU) 127)))) goto LA339_;
					aX60gensym26__6 = ((NI32) (((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))));
					iX60gensym26__2 += ((NI) 1);
				}
				goto LA337_;
				LA339_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA342_;
					{
						if (!(iX60gensym26__2 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 2)))) goto LA346_;
						aX60gensym26__6 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 1))])))) & ((NU) 63)))));
						iX60gensym26__2 += ((NI) 2);
					}
					goto LA344_;
					LA346_: ;
					{
						aX60gensym26__6 = ((NI32) 65533);
						iX60gensym26__2 += ((NI) 1);
					}
					LA344_: ;
				}
				goto LA337_;
				LA342_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA350_;
					{
						if (!(iX60gensym26__2 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 3)))) goto LA354_;
						aX60gensym26__6 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 2))])))) & ((NU) 63)))));
						iX60gensym26__2 += ((NI) 3);
					}
					goto LA352_;
					LA354_: ;
					{
						aX60gensym26__6 = ((NI32) 65533);
						iX60gensym26__2 += ((NI) 1);
					}
					LA352_: ;
				}
				goto LA337_;
				LA350_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA358_;
					{
						if (!(iX60gensym26__2 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 4)))) goto LA362_;
						aX60gensym26__6 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 3))])))) & ((NU) 63)))));
						iX60gensym26__2 += ((NI) 4);
					}
					goto LA360_;
					LA362_: ;
					{
						aX60gensym26__6 = ((NI32) 65533);
						iX60gensym26__2 += ((NI) 1);
					}
					LA360_: ;
				}
				goto LA337_;
				LA358_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA366_;
					{
						if (!(iX60gensym26__2 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 5)))) goto LA370_;
						aX60gensym26__6 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 4))])))) & ((NU) 63)))));
						iX60gensym26__2 += ((NI) 5);
					}
					goto LA368_;
					LA370_: ;
					{
						aX60gensym26__6 = ((NI32) 65533);
						iX60gensym26__2 += ((NI) 1);
					}
					LA368_: ;
				}
				goto LA337_;
				LA366_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA374_;
					{
						if (!(iX60gensym26__2 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 6)))) goto LA378_;
						aX60gensym26__6 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__2 + ((NI) 5))])))) & ((NU) 63)))));
						iX60gensym26__2 += ((NI) 6);
					}
					goto LA376_;
					LA378_: ;
					{
						aX60gensym26__6 = ((NI32) 65533);
						iX60gensym26__2 += ((NI) 1);
					}
					LA376_: ;
				}
				goto LA337_;
				LA374_: ;
				{
					aX60gensym26__6 = ((NI32) (((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__2]))))));
					iX60gensym26__2 += ((NI) 1);
				}
				LA337_: ;
				{
					if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA384_;
					bX60gensym26_ = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
					result += ((NI) 1);
				}
				goto LA382_;
				LA384_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA387_;
					{
						if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA391_;
						bX60gensym26_ = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
						result += ((NI) 2);
					}
					goto LA389_;
					LA391_: ;
					{
						bX60gensym26_ = ((NI32) 65533);
						result += ((NI) 1);
					}
					LA389_: ;
				}
				goto LA382_;
				LA387_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA395_;
					{
						if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA399_;
						bX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
						result += ((NI) 3);
					}
					goto LA397_;
					LA399_: ;
					{
						bX60gensym26_ = ((NI32) 65533);
						result += ((NI) 1);
					}
					LA397_: ;
				}
				goto LA382_;
				LA395_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA403_;
					{
						if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA407_;
						bX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
						result += ((NI) 4);
					}
					goto LA405_;
					LA407_: ;
					{
						bX60gensym26_ = ((NI32) 65533);
						result += ((NI) 1);
					}
					LA405_: ;
				}
				goto LA382_;
				LA403_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA411_;
					{
						if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA415_;
						bX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
						result += ((NI) 5);
					}
					goto LA413_;
					LA415_: ;
					{
						bX60gensym26_ = ((NI32) 65533);
						result += ((NI) 1);
					}
					LA413_: ;
				}
				goto LA382_;
				LA411_: ;
				{
					if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA419_;
					{
						if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA423_;
						bX60gensym26_ = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
						result += ((NI) 6);
					}
					goto LA421_;
					LA423_: ;
					{
						bX60gensym26_ = ((NI32) 65533);
						result += ((NI) 1);
					}
					LA421_: ;
				}
				goto LA382_;
				LA419_: ;
				{
					bX60gensym26_ = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
					result += ((NI) 1);
				}
				LA382_: ;
				{
					NI32 T429_;
					NI32 T430_;
					NI32 T431_;
					NIM_BOOL T432_;
					T429_ = (NI32)0;
					T429_ = nuctoLower(aX60gensym26__6);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T430_ = (NI32)0;
					T430_ = T429_;
					T431_ = (NI32)0;
					T431_ = nuctoLower(bX60gensym26_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T432_ = (NIM_BOOL)0;
					T432_ = eqeq___vKtIOoSlgRq49afS1c8u7zg(T430_, T431_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!!(T432_)) goto LA433_;
					result = ((NI) -1);
					goto LA331;
				}
				LA433_: ;
			} LA332: ;
		} LA331: ;
		result -= startX60gensym26_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	{
		NI iX60gensym26__3;
		NI32 aX60gensym26__7;
		NI32 bX60gensym26__2;
		iX60gensym26__3 = ((NI) 0);
		aX60gensym26__7 = (NI32)0;
		bX60gensym26__2 = (NI32)0;
		result = startX60gensym26_;
		{
			while (1) {
				if (!(iX60gensym26__3 < (pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0))) goto LA437;
				{
					while (1) {
						if (!(iX60gensym26__3 < (pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0))) goto LA439;
						{
							if (!((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) <= (NU64)(((NU) 127)))) goto LA442_;
							aX60gensym26__7 = ((NI32) (((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))));
							iX60gensym26__3 += ((NI) 1);
						}
						goto LA440_;
						LA442_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA445_;
							{
								if (!(iX60gensym26__3 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 2)))) goto LA449_;
								aX60gensym26__7 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 1))])))) & ((NU) 63)))));
								iX60gensym26__3 += ((NI) 2);
							}
							goto LA447_;
							LA449_: ;
							{
								aX60gensym26__7 = ((NI32) 65533);
								iX60gensym26__3 += ((NI) 1);
							}
							LA447_: ;
						}
						goto LA440_;
						LA445_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA453_;
							{
								if (!(iX60gensym26__3 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 3)))) goto LA457_;
								aX60gensym26__7 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 2))])))) & ((NU) 63)))));
								iX60gensym26__3 += ((NI) 3);
							}
							goto LA455_;
							LA457_: ;
							{
								aX60gensym26__7 = ((NI32) 65533);
								iX60gensym26__3 += ((NI) 1);
							}
							LA455_: ;
						}
						goto LA440_;
						LA453_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA461_;
							{
								if (!(iX60gensym26__3 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 4)))) goto LA465_;
								aX60gensym26__7 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 3))])))) & ((NU) 63)))));
								iX60gensym26__3 += ((NI) 4);
							}
							goto LA463_;
							LA465_: ;
							{
								aX60gensym26__7 = ((NI32) 65533);
								iX60gensym26__3 += ((NI) 1);
							}
							LA463_: ;
						}
						goto LA440_;
						LA461_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA469_;
							{
								if (!(iX60gensym26__3 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 5)))) goto LA473_;
								aX60gensym26__7 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 4))])))) & ((NU) 63)))));
								iX60gensym26__3 += ((NI) 5);
							}
							goto LA471_;
							LA473_: ;
							{
								aX60gensym26__7 = ((NI32) 65533);
								iX60gensym26__3 += ((NI) 1);
							}
							LA471_: ;
						}
						goto LA440_;
						LA469_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA477_;
							{
								if (!(iX60gensym26__3 <= (NI)((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) - ((NI) 6)))) goto LA481_;
								aX60gensym26__7 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(pX60gensym26_.term->data[(NI)(iX60gensym26__3 + ((NI) 5))])))) & ((NU) 63)))));
								iX60gensym26__3 += ((NI) 6);
							}
							goto LA479_;
							LA481_: ;
							{
								aX60gensym26__7 = ((NI32) 65533);
								iX60gensym26__3 += ((NI) 1);
							}
							LA479_: ;
						}
						goto LA440_;
						LA477_: ;
						{
							aX60gensym26__7 = ((NI32) (((NU) (((NU8)(pX60gensym26_.term->data[iX60gensym26__3]))))));
							iX60gensym26__3 += ((NI) 1);
						}
						LA440_: ;
						{
							NIM_BOOL T487_;
							T487_ = (NIM_BOOL)0;
							T487_ = eqeq___vKtIOoSlgRq49afS1c8u7zg(aX60gensym26__7, ((NI32) 95));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T487_)) goto LA488_;
							goto LA438;
						}
						LA488_: ;
					} LA439: ;
				} LA438: ;
				{
					while (1) {
						if (!(result < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA491;
						{
							if (!((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) <= (NU64)(((NU) 127)))) goto LA494_;
							bX60gensym26__2 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
							result += ((NI) 1);
						}
						goto LA492_;
						LA494_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 5))) == ((NU) 6))) goto LA497_;
							{
								if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 2)))) goto LA501_;
								bX60gensym26__2 = ((NI32) ((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 31))) << (NU64)(((NI) 6))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63)))));
								result += ((NI) 2);
							}
							goto LA499_;
							LA501_: ;
							{
								bX60gensym26__2 = ((NI32) 65533);
								result += ((NI) 1);
							}
							LA499_: ;
						}
						goto LA492_;
						LA497_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 4))) == ((NU) 14))) goto LA505_;
							{
								if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 3)))) goto LA509_;
								bX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 15))) << (NU64)(((NI) 12))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63)))));
								result += ((NI) 3);
							}
							goto LA507_;
							LA509_: ;
							{
								bX60gensym26__2 = ((NI32) 65533);
								result += ((NI) 1);
							}
							LA507_: ;
						}
						goto LA492_;
						LA505_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 3))) == ((NU) 30))) goto LA513_;
							{
								if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 4)))) goto LA517_;
								bX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 7))) << (NU64)(((NI) 18))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63)))));
								result += ((NI) 4);
							}
							goto LA515_;
							LA517_: ;
							{
								bX60gensym26__2 = ((NI32) 65533);
								result += ((NI) 1);
							}
							LA515_: ;
						}
						goto LA492_;
						LA513_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 2))) == ((NU) 62))) goto LA521_;
							{
								if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 5)))) goto LA525_;
								bX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 3))) << (NU64)(((NI) 24))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63)))));
								result += ((NI) 5);
							}
							goto LA523_;
							LA525_: ;
							{
								bX60gensym26__2 = ((NI32) 65533);
								result += ((NI) 1);
							}
							LA523_: ;
						}
						goto LA492_;
						LA521_: ;
						{
							if (!((NU)((NU64)(((NU) (((NU8)(sX60gensym26_->data[result]))))) >> (NU64)(((NI) 1))) == ((NU) 126))) goto LA529_;
							{
								if (!(result <= (NI)((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) - ((NI) 6)))) goto LA533_;
								bX60gensym26__2 = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[result])))) & ((NU) 1))) << (NU64)(((NI) 30))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 1))])))) & ((NU) 63))) << (NU64)(((NI) 24)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 2))])))) & ((NU) 63))) << (NU64)(((NI) 18)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 3))])))) & ((NU) 63))) << (NU64)(((NI) 12)))) | (NU)((NU64)((NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 4))])))) & ((NU) 63))) << (NU64)(((NI) 6)))) | (NU)(((NU) (((NU8)(sX60gensym26_->data[(NI)(result + ((NI) 5))])))) & ((NU) 63)))));
								result += ((NI) 6);
							}
							goto LA531_;
							LA533_: ;
							{
								bX60gensym26__2 = ((NI32) 65533);
								result += ((NI) 1);
							}
							LA531_: ;
						}
						goto LA492_;
						LA529_: ;
						{
							bX60gensym26__2 = ((NI32) (((NU) (((NU8)(sX60gensym26_->data[result]))))));
							result += ((NI) 1);
						}
						LA492_: ;
						{
							NIM_BOOL T539_;
							T539_ = (NIM_BOOL)0;
							T539_ = eqeq___vKtIOoSlgRq49afS1c8u7zg(bX60gensym26__2, ((NI32) 95));
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T539_)) goto LA540_;
							goto LA490;
						}
						LA540_: ;
					} LA491: ;
				} LA490: ;
				{
					if (!((sX60gensym26_ ? sX60gensym26_->Sup.len : 0) <= result)) goto LA544_;
					{
						if (!((pX60gensym26_.term ? pX60gensym26_.term->Sup.len : 0) <= iX60gensym26__3)) goto LA548_;
						goto LA436;
					}
					goto LA546_;
					LA548_: ;
					{
						result = ((NI) -1);
						goto LA436;
					}
					LA546_: ;
				}
				goto LA542_;
				LA544_: ;
				{
					NI32 T552_;
					NI32 T553_;
					NI32 T554_;
					NIM_BOOL T555_;
					T552_ = (NI32)0;
					T552_ = nuctoLower(aX60gensym26__7);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T553_ = (NI32)0;
					T553_ = T552_;
					T554_ = (NI32)0;
					T554_ = nuctoLower(bX60gensym26__2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					T555_ = (NIM_BOOL)0;
					T555_ = eqeq___vKtIOoSlgRq49afS1c8u7zg(T553_, T554_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!!(T555_)) goto LA556_;
					result = ((NI) -1);
					goto LA436;
				}
				goto LA542_;
				LA556_: ;
				LA542_: ;
			} LA437: ;
		} LA436: ;
		result -= startX60gensym26_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	{
		{
			NIM_BOOL T561_;
			T561_ = (NIM_BOOL)0;
			T561_ = (startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
			if (!(T561_)) goto LA562_;
			T561_ = ((NU8)(pX60gensym26_.ch) == (NU8)(sX60gensym26_->data[startX60gensym26_]));
			LA562_: ;
			if (!T561_) goto LA563_;
			result = ((NI) 1);
		}
		goto LA559_;
		LA563_: ;
		{
			result = ((NI) -1);
		}
		LA559_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	{
		{
			NIM_BOOL T569_;
			T569_ = (NIM_BOOL)0;
			T569_ = (startX60gensym26_ < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
			if (!(T569_)) goto LA570_;
			T569_ = ((pX60gensym26_.charChoice[(NU)(((NU8)(sX60gensym26_->data[startX60gensym26_])))>>3] &(1U<<((NU)(((NU8)(sX60gensym26_->data[startX60gensym26_])))&7U)))!=0);
			LA570_: ;
			if (!T569_) goto LA571_;
			result = ((NI) 1);
		}
		goto LA567_;
		LA571_: ;
		{
			result = ((NI) -1);
		}
		LA567_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	{
		NI oldMlX60gensym26_;
		oldMlX60gensym26_ = (*cX60gensym26_).ml;
		result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, (*pX60gensym26_.nt).rule, startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(result < ((NI) 0))) goto LA577_;
			(*cX60gensym26_).ml = oldMlX60gensym26_;
		}
		LA577_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 15):
	{
		NI oldMlX60gensym26__2;
		oldMlX60gensym26__2 = (*cX60gensym26_).ml;
		result = ((NI) 0);
		{
			NI iX60gensym26__4;
			NI colontmp__2;
			NI T581_;
			NI res_2;
			iX60gensym26__4 = (NI)0;
			colontmp__2 = (NI)0;
			T581_ = ((pX60gensym26_.sons ? pX60gensym26_.sons->Sup.len : 0)-1);
			colontmp__2 = T581_;
			res_2 = ((NI) 0);
			{
				while (1) {
					NI xX60gensym26_;
					if (!(res_2 <= colontmp__2)) goto LA583;
					iX60gensym26__4 = res_2;
					xX60gensym26_ = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[iX60gensym26__4], (NI)(startX60gensym26_ + result), cX60gensym26_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!(xX60gensym26_ < ((NI) 0))) goto LA586_;
						(*cX60gensym26_).ml = oldMlX60gensym26__2;
						result = ((NI) -1);
						goto LA580;
					}
					goto LA584_;
					LA586_: ;
					{
						result += xX60gensym26_;
					}
					LA584_: ;
					res_2 += ((NI) 1);
				} LA583: ;
			}
		} LA580: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 16):
	{
		NI oldMlX60gensym26__3;
		oldMlX60gensym26__3 = (*cX60gensym26_).ml;
		{
			NI iX60gensym26__5;
			NI colontmp__3;
			NI T591_;
			NI res_3;
			iX60gensym26__5 = (NI)0;
			colontmp__3 = (NI)0;
			T591_ = ((pX60gensym26_.sons ? pX60gensym26_.sons->Sup.len : 0)-1);
			colontmp__3 = T591_;
			res_3 = ((NI) 0);
			{
				while (1) {
					if (!(res_3 <= colontmp__3)) goto LA593;
					iX60gensym26__5 = res_3;
					result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[iX60gensym26__5], startX60gensym26_, cX60gensym26_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!(((NI) 0) <= result)) goto LA596_;
						goto LA590;
					}
					LA596_: ;
					(*cX60gensym26_).ml = oldMlX60gensym26__3;
					res_3 += ((NI) 1);
				} LA593: ;
			}
		} LA590: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 28):
	{
		NI oldMlX60gensym26__4;
		oldMlX60gensym26__4 = (*cX60gensym26_).ml;
		result = ((NI) 0);
		{
			while (1) {
				NI xX60gensym26__2;
				if (!((NI)(startX60gensym26_ + result) <= (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA600;
				xX60gensym26__2 = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], (NI)(startX60gensym26_ + result), cX60gensym26_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((NI) 0) <= xX60gensym26__2)) goto LA603_;
					result += xX60gensym26__2;
					goto BeforeRet_;
				}
				LA603_: ;
				result += ((NI) 1);
			} LA600: ;
		}
		result = ((NI) -1);
		(*cX60gensym26_).ml = oldMlX60gensym26__4;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 29):
	{
		NI idxX60gensym26_;
		idxX60gensym26_ = (*cX60gensym26_).ml;
		(*cX60gensym26_).ml += ((NI) 1);
		result = ((NI) 0);
		{
			while (1) {
				NI xX60gensym26__3;
				if (!((NI)(startX60gensym26_ + result) <= (sX60gensym26_ ? sX60gensym26_->Sup.len : 0))) goto LA607;
				xX60gensym26__3 = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], (NI)(startX60gensym26_ + result), cX60gensym26_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((NI) 0) <= xX60gensym26__3)) goto LA610_;
					{
						NI colontmp__4;
						NI colontmp__5;
						if (!(idxX60gensym26_ < ((NI) 20))) goto LA614_;
						colontmp__4 = startX60gensym26_;
						colontmp__5 = (NI)((NI)(startX60gensym26_ + result) - ((NI) 1));
						(*cX60gensym26_).matches[(idxX60gensym26_)- 0].Field0 = colontmp__4;
						(*cX60gensym26_).matches[(idxX60gensym26_)- 0].Field1 = colontmp__5;
					}
					LA614_: ;
					result += xX60gensym26__3;
					goto BeforeRet_;
				}
				LA610_: ;
				result += ((NI) 1);
			} LA607: ;
		}
		result = ((NI) -1);
		(*cX60gensym26_).ml = idxX60gensym26_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 17):
	{
		result = ((NI) 0);
		{
			while (1) {
				NI xX60gensym26__4;
				xX60gensym26__4 = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], (NI)(startX60gensym26_ + result), cX60gensym26_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(xX60gensym26__4 <= ((NI) 0))) goto LA621_;
					goto LA617;
				}
				LA621_: ;
				result += xX60gensym26__4;
			}
		} LA617: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	{
		NIM_CHAR chX60gensym26_;
		result = ((NI) 0);
		chX60gensym26_ = pX60gensym26_.ch;
		{
			while (1) {
				NIM_BOOL T626_;
				T626_ = (NIM_BOOL)0;
				T626_ = ((NI)(startX60gensym26_ + result) < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
				if (!(T626_)) goto LA627_;
				T626_ = ((NU8)(chX60gensym26_) == (NU8)(sX60gensym26_->data[(NI)(startX60gensym26_ + result)]));
				LA627_: ;
				if (!T626_) goto LA625;
				result += ((NI) 1);
			} LA625: ;
		}
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	{
		result = ((NI) 0);
		{
			while (1) {
				NIM_BOOL T631_;
				T631_ = (NIM_BOOL)0;
				T631_ = ((NI)(startX60gensym26_ + result) < (sX60gensym26_ ? sX60gensym26_->Sup.len : 0));
				if (!(T631_)) goto LA632_;
				T631_ = ((pX60gensym26_.charChoice[(NU)(((NU8)(sX60gensym26_->data[(NI)(startX60gensym26_ + result)])))>>3] &(1U<<((NU)(((NU8)(sX60gensym26_->data[(NI)(startX60gensym26_ + result)])))&7U)))!=0);
				LA632_: ;
				if (!T631_) goto LA630;
				result += ((NI) 1);
			} LA630: ;
		}
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 21):
	{
		NI T634_;
		T634_ = (NI)0;
		T634_ = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = ((((NI) 0) >= T634_) ? ((NI) 0) : T634_);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 22):
	{
		NI oldMlX60gensym26__5;
		oldMlX60gensym26__5 = (*cX60gensym26_).ml;
		result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(((NI) 0) <= result)) goto LA638_;
			result = ((NI) 0);
		}
		goto LA636_;
		LA638_: ;
		{
			(*cX60gensym26_).ml = oldMlX60gensym26__5;
		}
		LA636_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 23):
	{
		NI oldMlX60gensym26__6;
		oldMlX60gensym26__6 = (*cX60gensym26_).ml;
		result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(result < ((NI) 0))) goto LA644_;
			result = ((NI) 0);
		}
		goto LA642_;
		LA644_: ;
		{
			(*cX60gensym26_).ml = oldMlX60gensym26__6;
			result = ((NI) -1);
		}
		LA642_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 24):
	{
		NI idxX60gensym26__2;
		idxX60gensym26__2 = (*cX60gensym26_).ml;
		(*cX60gensym26_).ml += ((NI) 1);
		result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(sX60gensym26_, pX60gensym26_.sons->data[((NI) 0)], startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(((NI) 0) <= result)) goto LA650_;
			{
				NI colontmp__6;
				NI colontmp__7;
				if (!(idxX60gensym26__2 < ((NI) 20))) goto LA654_;
				colontmp__6 = startX60gensym26_;
				colontmp__7 = (NI)((NI)(startX60gensym26_ + result) - ((NI) 1));
				(*cX60gensym26_).matches[(idxX60gensym26__2)- 0].Field0 = colontmp__6;
				(*cX60gensym26_).matches[(idxX60gensym26__2)- 0].Field1 = colontmp__7;
			}
			LA654_: ;
		}
		goto LA648_;
		LA650_: ;
		{
			(*cX60gensym26_).ml = idxX60gensym26__2;
		}
		LA648_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25):
	{
		result = matchBackRef__HsNdIDFjzA9cQdbHEL6NSBg_2(sX60gensym26_, pX60gensym26_, startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 26):
	{
		result = matchBackRef__HsNdIDFjzA9cQdbHEL6NSBg_2(sX60gensym26_, pX60gensym26_, startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	{
		result = matchBackRef__HsNdIDFjzA9cQdbHEL6NSBg_2(sX60gensym26_, pX60gensym26_, startX60gensym26_, cX60gensym26_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 32):
	{
		{
			if (!((*cX60gensym26_).origStart == startX60gensym26_)) goto LA663_;
			result = ((NI) 0);
		}
		goto LA661_;
		LA663_: ;
		{
			result = ((NI) -1);
		}
		LA661_: ;
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 30):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 31):
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, npegsrawMatch)(NimStringDesc* s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ p, NI start, tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ* c) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = matchIt__HsNdIDFjzA9cQdbHEL6NSBg(s, p, start, c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, npegsmatchLenCapture)(NimStringDesc* s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pattern, NimStringDesc** matches, NI matchesLen_0, NI start) {
	NI result;
	tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ c;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	nimZeroMem((void*)(&c), sizeof(tyObject_Captures__tZhlqR24EekS3w5Qr6WNZQ));
	c.origStart = start;
	result = npegsrawMatch(s, pattern, start, (&c));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI) 0) <= result)) goto LA3_;
		{
			NI kX60gensym565_;
			NI colontmp_;
			NI res;
			kX60gensym565_ = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = (NI)(c.ml - ((NI) 1));
			res = ((NI) 0);
			{
				while (1) {
					NI startIdxX60gensym565_;
					NI endIdxX60gensym565_;
					if (!(res <= colontmp_)) goto LA7;
					kX60gensym565_ = res;
					startIdxX60gensym565_ = c.matches[(kX60gensym565_)- 0].Field0;
					endIdxX60gensym565_ = c.matches[(kX60gensym565_)- 0].Field1;
					{
						if (!!((startIdxX60gensym565_ == ((NI) -1)))) goto LA10_;
						matches[kX60gensym565_] = substr__2yh9cer0ymNRHlOOg8P7IuA(s, startIdxX60gensym565_, endIdxX60gensym565_);
					}
					goto LA8_;
					LA10_: ;
					{
						matches[kX60gensym565_] = ((NimStringDesc*) NIM_NIL);
					}
					LA8_: ;
					res += ((NI) 1);
				} LA7: ;
			}
		}
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, npegsmatchCapture)(NimStringDesc* s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ pattern, NimStringDesc** matches, NI matchesLen_0, NI start) {
	NIM_BOOL result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = npegsmatchLenCapture(s, pattern, matches, matchesLen_0, start);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = !((T1_ == ((NI) -1)));
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__DWDl83X3sWmMXGYAzF5Aug)(void* p, NI op) {
	NU8* a;
	a = (NU8*)p;
}
static N_NIMCALL(void, Marker_tySequence__5DSB9bTgCQCsIApS5TVlG8g)(void* p, NI op) {
	tySequence__5DSB9bTgCQCsIApS5TVlG8g* a;
	NI T1_;
	a = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	switch (a->data[T1_].kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	nimGCvisit((void*)a->data[T1_].term, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	nimGCvisit((void*)a->data[T1_].charChoice, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	nimGCvisit((void*)a->data[T1_].nt, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	nimGCvisit((void*)a->data[T1_].sons, op);
	break;
	} 
	}
}
static N_NIMCALL(void, Marker_tyRef__ne9c8mGWiMWXBIOmu9cRFBTw)(void* p, NI op) {
	tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* a;
	a = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)p;
	nimGCvisit((void*)(*a).name, op);
	switch ((*a).rule.kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	nimGCvisit((void*)(*a).rule.term, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	nimGCvisit((void*)(*a).rule.charChoice, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	nimGCvisit((void*)(*a).rule.nt, op);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	nimGCvisit((void*)(*a).rule.sons, op);
	break;
	} 
}
static N_NIMCALL(void, Marker_tySequence__wbtGjaWHe0od6j1oiCOVBQ)(void* p, NI op) {
	tySequence__wbtGjaWHe0od6j1oiCOVBQ* a;
	NI T1_;
	a = (tySequence__wbtGjaWHe0od6j1oiCOVBQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_], op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, init__sHzYnQvltM12eWSAM9cw7jw)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NimStringDesc* input, NimStringDesc* filename, NI line, NI col) {
	(*L).buf = copyString(input);
	(*L).bufpos = ((NI) 0);
	(*L).lineNumber = line;
	(*L).colOffset = col;
	(*L).lineStart = ((NI) 0);
	(*L).filename = copyString(filename);
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
N_LIB_PRIVATE N_NIMCALL(NI, handleCR__Eyh3ljHjW4sKcIgw9aVUELA)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NI pos) {
	NI result;
	result = (NI)0;
	(*L).lineNumber += ((NI) 1);
	result = (NI)(pos + ((NI) 1));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (result < ((*L).buf ? (*L).buf->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = ((NU8)((*L).buf->data[result]) == (NU8)(10));
		LA4_: ;
		if (!T3_) goto LA5_;
		result += ((NI) 1);
	}
	LA5_: ;
	(*L).lineStart = result;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, handleLF__Eyh3ljHjW4sKcIgw9aVUELA_2)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NI pos) {
	NI result;
	result = (NI)0;
	(*L).lineNumber += ((NI) 1);
	result = (NI)(pos + ((NI) 1));
	(*L).lineStart = result;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, skip__9bScc7MO8VP7aEapK3GqXvw)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c) {
	NI pos;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pos = (*c).bufpos;
	{
		while (1) {
			if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA2;
			switch (((NU8)((*c).buf->data[pos]))) {
			case 32:
			case 9:
			{
				pos += ((NI) 1);
			}
			break;
			case 35:
			{
				{
					while (1) {
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = (pos < ((*c).buf ? (*c).buf->Sup.len : 0));
						if (!(T7_)) goto LA8_;
						T7_ = !((((NU8)((*c).buf->data[pos])) == ((NU8)(13)) || ((NU8)((*c).buf->data[pos])) == ((NU8)(10)) || ((NU8)((*c).buf->data[pos])) == ((NU8)(0))));
						LA8_: ;
						if (!T7_) goto LA6;
						pos += ((NI) 1);
					} LA6: ;
				}
			}
			break;
			case 13:
			{
				pos = handleCR__Eyh3ljHjW4sKcIgw9aVUELA(c, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case 10:
			{
				pos = handleLF__Eyh3ljHjW4sKcIgw9aVUELA_2(c, pos);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		} LA2: ;
	} LA1: ;
	(*c).bufpos = pos;
	}BeforeRet_: ;
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, handleHexChar__NSvL0y9aEFOo8fCyOplOY4w)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, NI* xi) {
	switch (((NU8)((*c).buf->data[(*c).bufpos]))) {
	case 48 ... 57:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)(((NU8)((*c).buf->data[(*c).bufpos])) - ((NI) 48)));
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 97 ... 102:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*c).buf->data[(*c).bufpos])) - ((NI) 97)) + ((NI) 10)));
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 65 ... 70:
	{
		(*xi) = (NI)((NI)((NU64)((*xi)) << (NU64)(((NI) 4))) | (NI)((NI)(((NU8)((*c).buf->data[(*c).bufpos])) - ((NI) 65)) + ((NI) 10)));
		(*c).bufpos += ((NI) 1);
	}
	break;
	default:
	{
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*c).bufpos += ((NI) 1);
	{
		if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (*c).bufpos)) goto LA3_;
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	switch (((NU8)((*c).buf->data[(*c).bufpos]))) {
	case 114:
	case 82:
	case 99:
	case 67:
	{
		(*tok).literal = addChar((*tok).literal, 13);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 108:
	case 76:
	{
		(*tok).literal = addChar((*tok).literal, 10);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 102:
	case 70:
	{
		(*tok).literal = addChar((*tok).literal, 12);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 101:
	case 69:
	{
		(*tok).literal = addChar((*tok).literal, 27);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 97:
	case 65:
	{
		(*tok).literal = addChar((*tok).literal, 7);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 98:
	case 66:
	{
		(*tok).literal = addChar((*tok).literal, 8);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 118:
	case 86:
	{
		(*tok).literal = addChar((*tok).literal, 11);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 116:
	case 84:
	{
		(*tok).literal = addChar((*tok).literal, 9);
		(*c).bufpos += ((NI) 1);
	}
	break;
	case 120:
	case 88:
	{
		NI xi;
		(*c).bufpos += ((NI) 1);
		{
			if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (*c).bufpos)) goto LA16_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
			goto BeforeRet_;
		}
		LA16_: ;
		xi = ((NI) 0);
		handleHexChar__NSvL0y9aEFOo8fCyOplOY4w(c, (&xi));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		handleHexChar__NSvL0y9aEFOo8fCyOplOY4w(c, (&xi));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(xi == ((NI) 0))) goto LA20_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
		}
		goto LA18_;
		LA20_: ;
		{
			(*tok).literal = addChar((*tok).literal, ((NIM_CHAR) (((NI) (xi)))));
		}
		LA18_: ;
	}
	break;
	case 48 ... 57:
	{
		NI val;
		NI i;
		val = (NI)(((NU8)((*c).buf->data[(*c).bufpos])) - ((NI) 48));
		(*c).bufpos += ((NI) 1);
		i = ((NI) 1);
		{
			while (1) {
				NIM_BOOL T26_;
				NIM_BOOL T27_;
				T26_ = (NIM_BOOL)0;
				T27_ = (NIM_BOOL)0;
				T27_ = ((*c).bufpos < ((*c).buf ? (*c).buf->Sup.len : 0));
				if (!(T27_)) goto LA28_;
				T27_ = (i <= ((NI) 3));
				LA28_: ;
				T26_ = T27_;
				if (!(T26_)) goto LA29_;
				T26_ = (((NU8)((*c).buf->data[(*c).bufpos])) >= ((NU8)(48)) && ((NU8)((*c).buf->data[(*c).bufpos])) <= ((NU8)(57)));
				LA29_: ;
				if (!T26_) goto LA25;
				val = (NI)((NI)((NI)(val * ((NI) 10)) + ((NU8)((*c).buf->data[(*c).bufpos]))) - ((NI) 48));
				(*c).bufpos += ((NI) 1);
				i += ((NI) 1);
			} LA25: ;
		}
		{
			NIM_BOOL T32_;
			T32_ = (NIM_BOOL)0;
			T32_ = (((NI) 0) < val);
			if (!(T32_)) goto LA33_;
			T32_ = (val <= ((NI) 255));
			LA33_: ;
			if (!T32_) goto LA34_;
			(*tok).literal = addChar((*tok).literal, ((NIM_CHAR) (((NI) (val)))));
		}
		goto LA30_;
		LA34_: ;
		{
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
		}
		LA30_: ;
	}
	break;
	case 0 ... 31:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
	}
	break;
	default:
	{
		{
			if (!(((NU8)((*c).buf->data[(*c).bufpos])) >= ((NU8)(65)) && ((NU8)((*c).buf->data[(*c).bufpos])) <= ((NU8)(90)) || ((NU8)((*c).buf->data[(*c).bufpos])) >= ((NU8)(97)) && ((NU8)((*c).buf->data[(*c).bufpos])) <= ((NU8)(122)))) goto LA41_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
		}
		goto LA39_;
		LA41_: ;
		{
			(*tok).literal = addChar((*tok).literal, (*c).buf->data[(*c).bufpos]);
			(*c).bufpos += ((NI) 1);
		}
		LA39_: ;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getCharSet__zUGRkOORbt8wzxyKxNHYHg_2)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
	NI pos;
	NIM_BOOL caret;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 6);
	nimCopyMem((void*)(*tok).charset, (NIM_CONST void*)TM__YGOrctedenU9ao6jM7xmy6g_18, 32);
	pos = (NI)((*c).bufpos + ((NI) 1));
	caret = NIM_FALSE;
	{
		if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA3_;
		{
			if (!((NU8)((*c).buf->data[pos]) == (NU8)(94))) goto LA7_;
			pos += ((NI) 1);
			caret = NIM_TRUE;
		}
		LA7_: ;
		{
			while (1) {
				NIM_CHAR ch;
				if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA10;
				ch = (NIM_CHAR)0;
				switch (((NU8)((*c).buf->data[pos]))) {
				case 93:
				{
					{
						if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA14_;
						pos += ((NI) 1);
					}
					LA14_: ;
					goto LA9;
				}
				break;
				case 92:
				{
					(*c).bufpos = pos;
					getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3(c, tok);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					pos = (*c).bufpos;
					ch = (*tok).literal->data[(NI)(((*tok).literal ? (*tok).literal->Sup.len : 0) - ((NI) 1))];
				}
				break;
				case 13:
				case 10:
				case 0:
				{
					(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
					goto LA9;
				}
				break;
				default:
				{
					ch = (*c).buf->data[pos];
					pos += ((NI) 1);
				}
				break;
				}
				(*tok).charset[(NU)(((NU8)(ch)))>>3] |=(1U<<(((NU8)(ch))&7U));
				{
					if (!((NU8)((*c).buf->data[pos]) == (NU8)(45))) goto LA21_;
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = ((NI)(pos + ((NI) 1)) < ((*c).buf ? (*c).buf->Sup.len : 0));
						if (!(T25_)) goto LA26_;
						T25_ = ((NU8)((*c).buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(93));
						LA26_: ;
						if (!T25_) goto LA27_;
						(*tok).charset[(NU)(((NU8)(45)))>>3] |=(1U<<(((NU8)(45))&7U));
						pos += ((NI) 1);
					}
					goto LA23_;
					LA27_: ;
					{
						NIM_CHAR ch2;
						{
							if (!((NI)(pos + ((NI) 1)) < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA32_;
							pos += ((NI) 1);
						}
						goto LA30_;
						LA32_: ;
						{
							goto LA9;
						}
						LA30_: ;
						ch2 = (NIM_CHAR)0;
						switch (((NU8)((*c).buf->data[pos]))) {
						case 92:
						{
							(*c).bufpos = pos;
							getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3(c, tok);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							pos = (*c).bufpos;
							ch2 = (*tok).literal->data[(NI)(((*tok).literal ? (*tok).literal->Sup.len : 0) - ((NI) 1))];
						}
						break;
						case 13:
						case 10:
						case 0:
						{
							(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
							goto LA9;
						}
						break;
						default:
						{
							{
								if (!((NI)(pos + ((NI) 1)) < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA40_;
								ch2 = (*c).buf->data[pos];
								pos += ((NI) 1);
							}
							goto LA38_;
							LA40_: ;
							{
								goto LA9;
							}
							LA38_: ;
						}
						break;
						}
						{
							NI i;
							NI colontmp_;
							NI colontmp__2;
							NI res;
							i = (NI)0;
							colontmp_ = (NI)0;
							colontmp__2 = (NI)0;
							colontmp_ = (NI)(((NU8)(ch)) + ((NI) 1));
							colontmp__2 = ((NU8)(ch2));
							res = colontmp_;
							{
								while (1) {
									if (!(res <= colontmp__2)) goto LA45;
									i = res;
									(*tok).charset[(NU)(((NU8)(((NIM_CHAR) (((NI) (i)))))))>>3] |=(1U<<(((NU8)(((NIM_CHAR) (((NI) (i))))))&7U));
									res += ((NI) 1);
								} LA45: ;
							}
						}
					}
					LA23_: ;
				}
				LA21_: ;
			} LA10: ;
		} LA9: ;
	}
	LA3_: ;
	(*c).bufpos = pos;
	{
		NI T50_;
		if (!caret) goto LA48_;
		T50_ = (NI)0;
		for (T50_ = 0; T50_ < 32; T50_++) 
  (*tok).charset[T50_] = TM__YGOrctedenU9ao6jM7xmy6g_21[T50_] & ~ (*tok).charset[T50_];
	}
	LA48_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getSymbol__zUGRkOORbt8wzxyKxNHYHg_5)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
	NI pos;
	pos = (*c).bufpos;
	{
		while (1) {
			if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA2;
			(*tok).literal = addChar((*tok).literal, (*c).buf->data[pos]);
			pos += ((NI) 1);
			{
				NIM_BOOL T5_;
				T5_ = (NIM_BOOL)0;
				T5_ = (pos < ((*c).buf ? (*c).buf->Sup.len : 0));
				if (!(T5_)) goto LA6_;
				T5_ = !((((NU8)((*c).buf->data[pos])) >= ((NU8)(97)) && ((NU8)((*c).buf->data[pos])) <= ((NU8)(122)) || ((NU8)((*c).buf->data[pos])) >= ((NU8)(65)) && ((NU8)((*c).buf->data[pos])) <= ((NU8)(90)) || ((NU8)((*c).buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*c).buf->data[pos])) <= ((NU8)(57)) || ((NU8)((*c).buf->data[pos])) == ((NU8)(95))));
				LA6_: ;
				if (!T5_) goto LA7_;
				goto LA1;
			}
			LA7_: ;
		} LA2: ;
	} LA1: ;
	(*c).bufpos = pos;
	(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 4);
}
N_LIB_PRIVATE N_NIMCALL(void, getBuiltin__zUGRkOORbt8wzxyKxNHYHg_4)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((NI)((*c).bufpos + ((NI) 1)) < ((*c).buf ? (*c).buf->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) >= ((NU8)(65)) && ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) <= ((NU8)(90)) || ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) >= ((NU8)(97)) && ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) <= ((NU8)(122)));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*c).bufpos += ((NI) 1);
		getSymbol__zUGRkOORbt8wzxyKxNHYHg_5(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 20);
	}
	goto LA1_;
	LA5_: ;
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 21);
		getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getString__zUGRkOORbt8wzxyKxNHYHg_6)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
	NI pos;
	NIM_CHAR quote;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 5);
	pos = (NI)((*c).bufpos + ((NI) 1));
	quote = (*c).buf->data[(NI)(pos - ((NI) 1))];
	{
		while (1) {
			if (!(pos < ((*c).buf ? (*c).buf->Sup.len : 0))) goto LA2;
			switch (((NU8)((*c).buf->data[pos]))) {
			case 92:
			{
				(*c).bufpos = pos;
				getEscapedChar__zUGRkOORbt8wzxyKxNHYHg_3(c, tok);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				pos = (*c).bufpos;
			}
			break;
			case 13:
			case 10:
			case 0:
			{
				(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
				goto LA1;
			}
			break;
			default:
			{
				{
					if (!((NU8)((*c).buf->data[pos]) == (NU8)(quote))) goto LA8_;
					pos += ((NI) 1);
					goto LA1;
				}
				goto LA6_;
				LA8_: ;
				{
					(*tok).literal = addChar((*tok).literal, (*c).buf->data[pos]);
					pos += ((NI) 1);
				}
				LA6_: ;
			}
			break;
			}
		} LA2: ;
	} LA1: ;
	(*c).bufpos = pos;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getDollar__zUGRkOORbt8wzxyKxNHYHg_7)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
	NI pos;
	pos = (NI)((*c).bufpos + ((NI) 1));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (pos < ((*c).buf ? (*c).buf->Sup.len : 0));
		if (!(T3_)) goto LA4_;
		T3_ = (((NU8)((*c).buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*c).buf->data[pos])) <= ((NU8)(57)));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 22);
		(*tok).index = ((NI) 0);
		{
			while (1) {
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = (pos < ((*c).buf ? (*c).buf->Sup.len : 0));
				if (!(T9_)) goto LA10_;
				T9_ = (((NU8)((*c).buf->data[pos])) >= ((NU8)(48)) && ((NU8)((*c).buf->data[pos])) <= ((NU8)(57)));
				LA10_: ;
				if (!T9_) goto LA8;
				(*tok).index = (NI)((NI)((NI)((*tok).index * ((NI) 10)) + ((NU8)((*c).buf->data[pos]))) - ((NI) 48));
				pos += ((NI) 1);
			} LA8: ;
		}
	}
	goto LA1_;
	LA5_: ;
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 23);
	}
	LA1_: ;
	(*c).bufpos = pos;
}
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__9bGgqEk7RXXl6eqM9c1HdELAsystem)(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__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__zUGRkOORbt8wzxyKxNHYHg)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c, tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA* tok) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
	(*tok).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0);
	(*tok).literal = setLengthStr((*tok).literal, ((NI) 0));
	skip__9bScc7MO8VP7aEapK3GqXvw(c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (*c).bufpos)) goto LA3_;
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 1);
		(*tok).literal = copyString(((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_19));
		(*tok).literal = addChar((*tok).literal, 0);
		(*c).bufpos += ((NI) 1);
		goto BeforeRet_;
	}
	LA3_: ;
	switch (((NU8)((*c).buf->data[(*c).bufpos]))) {
	case 123:
	{
		(*c).bufpos += ((NI) 1);
		{
			NIM_BOOL T8_;
			NIM_BOOL T9_;
			T8_ = (NIM_BOOL)0;
			T9_ = (NIM_BOOL)0;
			T9_ = ((NU8)((*c).buf->data[(*c).bufpos]) == (NU8)(64));
			if (!(T9_)) goto LA10_;
			T9_ = ((NI)((*c).bufpos + ((NI) 2)) < ((*c).buf ? (*c).buf->Sup.len : 0));
			LA10_: ;
			T8_ = T9_;
			if (!(T8_)) goto LA11_;
			T8_ = ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))]) == (NU8)(125));
			LA11_: ;
			if (!T8_) goto LA12_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 11);
			(*c).bufpos += ((NI) 2);
			(*tok).literal = resizeString((*tok).literal, 3);
appendString((*tok).literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_20));
		}
		goto LA6_;
		LA12_: ;
		{
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 9);
			(*tok).literal = addChar((*tok).literal, 123);
		}
		LA6_: ;
	}
	break;
	case 125:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 10);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 125);
	}
	break;
	case 91:
	{
		getCharSet__zUGRkOORbt8wzxyKxNHYHg_2(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 40:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 7);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 40);
	}
	break;
	case 41:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 8);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 41);
	}
	break;
	case 46:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 2);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 46);
	}
	break;
	case 95:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 3);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 95);
	}
	break;
	case 92:
	{
		getBuiltin__zUGRkOORbt8wzxyKxNHYHg_4(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 39:
	case 34:
	{
		getString__zUGRkOORbt8wzxyKxNHYHg_6(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 36:
	{
		getDollar__zUGRkOORbt8wzxyKxNHYHg_7(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case 97 ... 122:
	case 65 ... 90:
	case 128 ... 255:
	{
		getSymbol__zUGRkOORbt8wzxyKxNHYHg_5(c, tok);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (*c).bufpos)) goto LA27_;
			goto BeforeRet_;
		}
		LA27_: ;
		{
			NIM_BOOL T31_;
			NIM_BOOL T33_;
			NIM_BOOL T34_;
			T31_ = (NIM_BOOL)0;
			T31_ = (((NU8)((*c).buf->data[(*c).bufpos])) == ((NU8)(39)) || ((NU8)((*c).buf->data[(*c).bufpos])) == ((NU8)(34)));
			if (T31_) goto LA32_;
			T33_ = (NIM_BOOL)0;
			T34_ = (NIM_BOOL)0;
			T34_ = ((NU8)((*c).buf->data[(*c).bufpos]) == (NU8)(36));
			if (!(T34_)) goto LA35_;
			T34_ = ((NI)((*c).bufpos + ((NI) 1)) < ((*c).buf ? (*c).buf->Sup.len : 0));
			LA35_: ;
			T33_ = T34_;
			if (!(T33_)) goto LA36_;
			T33_ = (((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) >= ((NU8)(48)) && ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))])) <= ((NU8)(57)));
			LA36_: ;
			T31_ = T33_;
			LA32_: ;
			if (!T31_) goto LA37_;
			if (eqStrings((*tok).literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_22))) goto LA39_;
			if (eqStrings((*tok).literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_23))) goto LA40_;
			if (eqStrings((*tok).literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_24))) goto LA41_;
			goto LA42_;
			LA39_: ;
			{
				(*tok).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 2);
			}
			goto LA43_;
			LA40_: ;
			{
				(*tok).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 3);
			}
			goto LA43_;
			LA41_: ;
			{
				(*tok).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 1);
			}
			goto LA43_;
			LA42_: ;
			{
			}
			LA43_: ;
			(*tok).literal = setLengthStr((*tok).literal, ((NI) 0));
			{
				if (!((NU8)((*c).buf->data[(*c).bufpos]) == (NU8)(36))) goto LA50_;
				getDollar__zUGRkOORbt8wzxyKxNHYHg_7(c, tok);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA48_;
			LA50_: ;
			{
				getString__zUGRkOORbt8wzxyKxNHYHg_6(c, tok);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			LA48_: ;
			{
				if (!((*tok).modifier == ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0))) goto LA55_;
				(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
			}
			LA55_: ;
		}
		LA37_: ;
	}
	break;
	case 43:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 15);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 43);
	}
	break;
	case 42:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 14);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 43);
	}
	break;
	case 60:
	{
		{
			NIM_BOOL T62_;
			T62_ = (NIM_BOOL)0;
			T62_ = ((NI)((*c).bufpos + ((NI) 2)) < ((*c).buf ? (*c).buf->Sup.len : 0));
			if (!(T62_)) goto LA63_;
			T62_ = ((NU8)((*c).buf->data[(NI)((*c).bufpos + ((NI) 1))]) == (NU8)(45));
			LA63_: ;
			if (!T62_) goto LA64_;
			(*c).bufpos += ((NI) 2);
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 12);
			(*tok).literal = resizeString((*tok).literal, 2);
appendString((*tok).literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_25));
		}
		goto LA60_;
		LA64_: ;
		{
			(*tok).literal = addChar((*tok).literal, 60);
		}
		LA60_: ;
	}
	break;
	case 47:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 13);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 47);
	}
	break;
	case 63:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 18);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 63);
	}
	break;
	case 33:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 17);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 33);
	}
	break;
	case 38:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 16);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 33);
	}
	break;
	case 64:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 19);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 64);
		{
			if (!((NU8)((*c).buf->data[(*c).bufpos]) == (NU8)(64))) goto LA74_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 11);
			(*c).bufpos += ((NI) 1);
			(*tok).literal = addChar((*tok).literal, 64);
		}
		LA74_: ;
	}
	break;
	case 94:
	{
		(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 24);
		(*c).bufpos += ((NI) 1);
		(*tok).literal = addChar((*tok).literal, 94);
	}
	break;
	default:
	{
		{
			if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (*c).bufpos)) goto LA80_;
			(*tok).kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 1);
			(*tok).literal = copyString(((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_19));
		}
		LA80_: ;
		(*tok).literal = addChar((*tok).literal, (*c).buf->data[(*c).bufpos]);
		(*c).bufpos += ((NI) 1);
	}
	break;
	}
	}BeforeRet_: ;
}
static N_NIMCALL(void, Marker_tyRef__9cnKZRDpncoV9cvYmm9cA6N5A)(void* p, NI op) {
	tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA* a;
	a = (tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA*)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(NI, getLine__VLHJcdFBF4RkQrFxGrHR4gpegs)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L) {
	NI result;
	result = (NI)0;
	result = (*L).lineNumber;
	return result;
}
static N_INLINE(NI, getColumn__VLHJcdFBF4RkQrFxGrHR4g_2pegs)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L) {
	NI result;
	result = (NI)0;
	result = (NI)(((NI)((*L).bufpos - (*L).lineStart) > 0? ((NI)((*L).bufpos - (*L).lineStart)) : -((NI)((*L).bufpos - (*L).lineStart))) + (*L).colOffset);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, errorStr__rgv2w6Fu889c9cU2eKr8xucg)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* L, NimStringDesc* msg, NI line, NI col) {
	NimStringDesc* result;
	NI line_2;
	NI col_2;
	tyArray__sMpvt1sOxOJ3LFGulnbeMQ T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	{
		if (!(line < ((NI) 0))) goto LA3_;
		line_2 = getLine__VLHJcdFBF4RkQrFxGrHR4gpegs(L);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
	LA3_: ;
	{
		line_2 = line;
	}
	LA1_: ;
	{
		if (!(col < ((NI) 0))) goto LA8_;
		col_2 = getColumn__VLHJcdFBF4RkQrFxGrHR4g_2pegs(L);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA6_;
	LA8_: ;
	{
		col_2 = col;
	}
	LA6_: ;
	nimZeroMem((void*)T11_, sizeof(tyArray__sMpvt1sOxOJ3LFGulnbeMQ));
	T11_[0] = copyString((*L).filename);
	T11_[1] = nimIntToStr(line_2);
	T11_[2] = nimIntToStr(col_2);
	T11_[3] = copyString(msg);
	result = nsuFormatOpenArray(((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_26), T11_, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, pegError__BMmAapFwghEVCePgcFScUg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, NimStringDesc* msg, NI line, NI col) {
	tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA* e;
	NimStringDesc* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	e = (tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA*)0;
	e = (tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA*) newObj((&NTI__9cnKZRDpncoV9cvYmm9cA6N5A_), sizeof(tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA));
	(*e).Sup.Sup.Sup.Sup.m_type = (&NTI__puU8NKFnFhXREunnzDo9bUA_);
	(*e).Sup.Sup.Sup.name = "EInvalidPeg";
	T1_ = (NimStringDesc*)0;
	T1_ = errorStr__rgv2w6Fu889c9cU2eKr8xucg((&(*p).Sup), msg, line, col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*e).Sup.Sup.Sup.message = T1_;
	raiseExceptionEx((Exception*)e, "EInvalidPeg", "pegError", "pegs.nim", 1808);
	goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, getTok__N6UyL3NoCbQFjnydJ8RVDg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p) {
	tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* T1_;
	tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q*)0;
	T1_ = &p->Sup;
	T2_ = (tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q*)0;
	T2_ = T1_;
	getTok__zUGRkOORbt8wzxyKxNHYHg(T2_, (&(*p).tok));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T7_;
		NimStringDesc* T8_;
		if (!((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0))) goto LA5_;
		nimZeroMem((void*)(&T7_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
		T7_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
		nimCopyMem((void*)(&T7_), (NIM_CONST void*)(&(*p)), sizeof(T7_));
		T8_ = (NimStringDesc*)0;
		T8_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 19);
appendString(T8_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_27));
appendString(T8_, (*p).tok.literal);
appendString(T8_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_28));
		pegError__BMmAapFwghEVCePgcFScUg((&T7_), T8_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsOptional)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	{
		if (!((4063232 &((NU64)1<<((NU)(a.kind)&63U)))!=0)) goto LA3_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&a), sizeof((*Result)));
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T6_;
		nimZeroMem((void*)(&T6_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nimZeroMem((void*)(&T6_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		T6_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 21);
		T6_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
		nimCopyMem((void*)(&T6_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T6_.sons->data[0]));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T6_), sizeof((*Result)));
	}
	LA1_: ;
}
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src) {
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsAndPredicate)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	T1_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 22);
	T1_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
	nimCopyMem((void*)(&T1_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T1_.sons->data[0]));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T1_), sizeof((*Result)));
}
N_LIB_PRIVATE N_NIMCALL(void, npegsNotPredicate)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	T1_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 23);
	T1_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
	nimCopyMem((void*)(&T1_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T1_.sons->data[0]));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T1_), sizeof((*Result)));
}
N_LIB_PRIVATE N_NIMCALL(void, npegsSearch)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	T1_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 28);
	T1_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
	nimCopyMem((void*)(&T1_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T1_.sons->data[0]));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T1_), sizeof((*Result)));
}
N_LIB_PRIVATE N_NIMCALL(void, npgegsCapturedSearch)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	T1_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 29);
	T1_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
	nimCopyMem((void*)(&T1_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T1_.sons->data[0]));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T1_), sizeof((*Result)));
}
static N_INLINE(NI, len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a) {
	NI result;
	NI T1_;
{	result = (NI)0;
	T1_ = (a.sons ? a.sons->Sup.len : 0);
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, npegstermStr)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	{
		if (!!(((t ? t->Sup.len : 0) == ((NI) 1)))) goto LA3_;
		switch ((*Result).kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
		unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
		(*Result).ch = 0;
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
		unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
		unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
		break;
		default:
		unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
		break;
		} 
		(*Result).kind = 0;
		(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9);
		(*Result).term = copyString(t);
	}
	goto LA1_;
	LA3_: ;
	{
		switch ((*Result).kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
		unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
		(*Result).ch = 0;
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
		unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
		unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
		break;
		default:
		unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
		break;
		} 
		(*Result).kind = 0;
		(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12);
		(*Result).ch = t->data[((NI) 0)];
	}
	LA1_: ;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
static N_INLINE(void, add__Yxqc7pnofxe0aIWMJo4J9cwpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* d, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ s) {
	NI T1_;
	(*d).sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) incrSeqV3((TGenericSeq*)((*d).sons), (&NTI__5DSB9bTgCQCsIApS5TVlG8g_));
	T1_ = (*d).sons->Sup.len++;
	nimCopyMem((void*)(&(*d).sons->data[T1_]), (NIM_CONST void*)(&s), sizeof((*d).sons->data[T1_]));
}
N_LIB_PRIVATE N_NIMCALL(void, addSequence__bek7Fed15RyBUuSg6zITEw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* dest, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ elem) {
	NI L;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	T1_ = len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs((*dest));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	L = (NI)(T1_ - ((NI) 1));
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NI) 0) <= L);
		if (!(T4_)) goto LA5_;
		T4_ = ((*dest).sons->data[L].kind == ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9));
		LA5_: ;
		if (!T4_) goto LA6_;
		switch (elem.kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
		{
			NimStringDesc* T9_;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T10_;
			T9_ = (NimStringDesc*)0;
			T9_ = rawNewString(((*dest).sons->data[L].term ? (*dest).sons->data[L].term->Sup.len : 0) + (elem.term ? elem.term->Sup.len : 0) + 0);
appendString(T9_, (*dest).sons->data[L].term);
appendString(T9_, elem.term);
			nimZeroMem((void*)(&T10_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			npegstermStr(T9_, (&T10_));
			nimCopyMem((void*)(&(*dest).sons->data[L]), (NIM_CONST void*)(&T10_), sizeof((*dest).sons->data[L]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		{
			NimStringDesc* T12_;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T13_;
			T12_ = (NimStringDesc*)0;
			T12_ = rawNewString(((*dest).sons->data[L].term ? (*dest).sons->data[L].term->Sup.len : 0) + 1);
appendString(T12_, (*dest).sons->data[L].term);
appendChar(T12_, elem.ch);
			nimZeroMem((void*)(&T13_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			npegstermStr(T12_, (&T13_));
			nimCopyMem((void*)(&(*dest).sons->data[L]), (NIM_CONST void*)(&T13_), sizeof((*dest).sons->data[L]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			add__Yxqc7pnofxe0aIWMJo4J9cwpegs(dest, elem);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
	goto LA2_;
	LA6_: ;
	{
		add__Yxqc7pnofxe0aIWMJo4J9cwpegs(dest, elem);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA2_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegssequence)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* a, NI aLen_0, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 15);
	(*Result).sons = NIM_NIL;
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* xX60gensym12_;
		NI i;
		xX60gensym12_ = (tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ*)0;
		i = ((NI) 0);
		{
			while (1) {
				if (!(i < aLen_0)) goto LA3;
				xX60gensym12_ = (&a[i]);
				{
					if (!((*xX60gensym12_).kind == ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 15))) goto LA6_;
					{
						tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* yX60gensym12_;
						tySequence__5DSB9bTgCQCsIApS5TVlG8g* colontmp_;
						NI i_2;
						NI L;
						NI T9_;
						yX60gensym12_ = (tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ*)0;
						colontmp_ = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*)0;
						colontmp_ = (*xX60gensym12_).sons;
						i_2 = ((NI) 0);
						T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
						L = T9_;
						{
							while (1) {
								if (!(i_2 < L)) goto LA11;
								yX60gensym12_ = (&colontmp_->data[i_2]);
								addSequence__bek7Fed15RyBUuSg6zITEw(Result, (*yX60gensym12_));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_2 += ((NI) 1);
							} LA11: ;
						}
					}
				}
				goto LA4_;
				LA6_: ;
				{
					addSequence__bek7Fed15RyBUuSg6zITEw(Result, (*xX60gensym12_));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA4_: ;
				i += ((NI) 1);
			} LA3: ;
		}
	}
	{
		NI T15_;
		T15_ = (NI)0;
		T15_ = len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs((*Result));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T15_ == ((NI) 1))) goto LA16_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&(*Result).sons->data[((NI) 0)]), sizeof((*Result)));
	}
	LA16_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, token__yNO39bt9aZu9aox0jITQ9cJ8aw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ terminal, tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p).skip.kind == ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0))) goto LA3_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&terminal), sizeof((*Result)));
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T6_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T7_;
		nimZeroMem((void*)T6_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
		nimCopyMem((void*)(&T6_[0]), (NIM_CONST void*)(&(*p).skip), sizeof(T6_[0]));
		nimCopyMem((void*)(&T6_[1]), (NIM_CONST void*)(&terminal), sizeof(T6_[1]));
		nimZeroMem((void*)(&T7_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npegssequence(T6_, 2, (&T7_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T7_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegstermIgnoreCase)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10);
	(*Result).term = copyString(t);
}
N_LIB_PRIVATE N_NIMCALL(void, npegstermIgnoreStyle)(NimStringDesc* t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11);
	(*Result).term = copyString(t);
}
N_LIB_PRIVATE N_NIMCALL(void, modifiedTerm__PRjoiBA234MDaFoq6R9cMUw)(NimStringDesc* s, tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (m) {
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0):
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 1):
	{
		npegstermStr(s, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 2):
	{
		npegstermIgnoreCase(s, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 3):
	{
		npegstermIgnoreStyle(s, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA)(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q* c) {
	NIM_BOOL result;
	NI pos;
	NIM_BOOL T9_;
{	result = (NIM_BOOL)0;
	pos = (*c).bufpos;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = (pos < ((*c).buf ? (*c).buf->Sup.len : 0));
			if (!(T3_)) goto LA4_;
			T3_ = (((NU8)((*c).buf->data[pos])) == ((NU8)(9)) || ((NU8)((*c).buf->data[pos])) == ((NU8)(32)));
			LA4_: ;
			if (!T3_) goto LA2;
			pos += ((NI) 1);
		} LA2: ;
	}
	{
		if (!(((*c).buf ? (*c).buf->Sup.len : 0) <= (NI)(pos + ((NI) 1)))) goto LA7_;
		goto BeforeRet_;
	}
	LA7_: ;
	T9_ = (NIM_BOOL)0;
	T9_ = ((NU8)((*c).buf->data[pos]) == (NU8)(60));
	if (!(T9_)) goto LA10_;
	T9_ = ((NU8)((*c).buf->data[(NI)(pos + ((NI) 1))]) == (NU8)(45));
	LA10_: ;
	result = T9_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, npegsnewNonTerminal)(NimStringDesc* name, NI line, NI column) {
	tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* result;
	tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* T1_;
	result = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
	T1_ = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
	T1_ = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*) newObj((&NTI__ne9c8mGWiMWXBIOmu9cRFBTw_), sizeof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA));
	(*T1_).name = copyString(name);
	(*T1_).line = line;
	(*T1_).col = column;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, getNonTerminal__owz7gr9cNnue9b2MsAC72zMQ)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, NimStringDesc* name) {
	tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* result;
	NI T10_;
	NI T11_;
	NI T12_;
	NI T13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*p).nonterms ? (*p).nonterms->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				result = (*p).nonterms->data[i];
				{
					NI T7_;
					T7_ = (NI)0;
					T7_ = nsuCmpIgnoreStyle((*result).name, name);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T7_ == ((NI) 0))) goto LA8_;
					goto BeforeRet_;
				}
				LA8_: ;
				res += ((NI) 1);
			} LA4: ;
		}
	}
	T10_ = (NI)0;
	T10_ = getLine__VLHJcdFBF4RkQrFxGrHR4gpegs((&(*p).Sup));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T11_ = (NI)0;
	T11_ = T10_;
	T12_ = (NI)0;
	T12_ = getColumn__VLHJcdFBF4RkQrFxGrHR4g_2pegs((&(*p).Sup));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = npegsnewNonTerminal(name, T11_, T12_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*p).nonterms = (tySequence__wbtGjaWHe0od6j1oiCOVBQ*) incrSeqV3((TGenericSeq*)((*p).nonterms), (&NTI__wbtGjaWHe0od6j1oiCOVBQ_));
	T13_ = (*p).nonterms->Sup.len++;
	(*p).nonterms->data[T13_] = result;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, spaceCost__wfSWZhj3xiJHwwKIV0BpPw)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ n) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	switch (n.kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0):
	{
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 1) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 20):
	{
		result = ((NI) 1);
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	{
		result = ((NI) 6);
	}
	break;
	default:
	{
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs(n);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp_ = (NI)(T6_ - ((NI) 1));
			res = ((NI) 0);
			{
				while (1) {
					NI T9_;
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					T9_ = (NI)0;
					T9_ = spaceCost__wfSWZhj3xiJHwwKIV0BpPw(n.sons->data[i]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					result += T9_;
					{
						if (!(((NI) 5) <= result)) goto LA12_;
						goto LA5;
					}
					LA12_: ;
					res += ((NI) 1);
				} LA8: ;
			}
		} LA5: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsnonterminal)(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* n, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NI T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*n).flags &(1U<<((NU)(((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 0))&7U)))!=0);
		if (!(T3_)) goto LA4_;
		T5_ = (NI)0;
		T5_ = spaceCost__wfSWZhj3xiJHwwKIV0BpPw((*n).rule);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (T5_ < ((NI) 5));
		LA4_: ;
		if (!T3_) goto LA6_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&(*n).rule), sizeof((*Result)));
	}
	goto LA1_;
	LA6_: ;
	{
		switch ((*Result).kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
		unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
		(*Result).ch = 0;
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
		unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
		unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
		break;
		default:
		unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
		break;
		} 
		(*Result).kind = 0;
		(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14);
		(*Result).nt = n;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegscharSet)(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw s, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13);
	(*Result).charChoice = (NU8*) newObj((&NTI__DWDl83X3sWmMXGYAzF5Aug_), sizeof(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw));
	nimCopyMem((void*)(*Result).charChoice, (NIM_CONST void*)s, 32);
}
N_LIB_PRIVATE N_NIMCALL(void, seqExpr__MaL2q9aiyWZXRK0fbgHwGWA_4)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			switch ((*p).tok.kind) {
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 16):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 17):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 19):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 5):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 6):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 7):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 9):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 2):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 3):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 20):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 21):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 23):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 22):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 24):
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 11):
			{
				tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T4_;
				tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T5_;
				nimZeroMem((void*)T4_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
				nimCopyMem((void*)(&T4_[0]), (NIM_CONST void*)Result, sizeof(T4_[0]));
				primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T4_[1]));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				nimZeroMem((void*)(&T5_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
				npegssequence(T4_, 2, (&T5_));
				nimCopyMem((void*)Result, (NIM_CONST void*)(&T5_), sizeof((*Result)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 4):
			{
				{
					NIM_BOOL T9_;
					tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T12_;
					tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T13_;
					T9_ = (NIM_BOOL)0;
					T9_ = arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA((&(*p).Sup));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!!(T9_)) goto LA10_;
					nimZeroMem((void*)T12_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
					nimCopyMem((void*)(&T12_[0]), (NIM_CONST void*)Result, sizeof(T12_[0]));
					primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T12_[1]));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					nimZeroMem((void*)(&T13_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
					npegssequence(T12_, 2, (&T13_));
					nimCopyMem((void*)Result, (NIM_CONST void*)(&T13_), sizeof((*Result)));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA7_;
				LA10_: ;
				{
					goto LA1;
				}
				LA7_: ;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addChoice__bek7Fed15RyBUuSg6zITEw_2)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* dest, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ elem) {
	NI L;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	T1_ = len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs((*dest));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	L = (NI)(T1_ - ((NI) 1));
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NI) 0) <= L);
		if (!(T4_)) goto LA5_;
		T4_ = ((*dest).sons->data[L].kind == ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13));
		LA5_: ;
		if (!T4_) goto LA6_;
		switch (elem.kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
		{
			NI T9_;
			tySet_tyChar__nmiMWKVIe46vacnhAFrQvw T10_;
			T9_ = (NI)0;
			for (T9_ = 0; T9_ < 32; T9_++) 
  T10_[T9_] = (*dest).sons->data[L].charChoice[T9_] | elem.charChoice[T9_];
			npegscharSet(T10_, (&(*dest).sons->data[L]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		{
			NI T12_;
			tySet_tyChar__nmiMWKVIe46vacnhAFrQvw T13_;
			tySet_tyChar__nmiMWKVIe46vacnhAFrQvw T14_;
			T12_ = (NI)0;
			nimZeroMem(T13_, sizeof(tySet_tyChar__nmiMWKVIe46vacnhAFrQvw));
			T13_[(NU)(((NU8)(elem.ch)))>>3] |=(1U<<((NU)(((NU8)(elem.ch)))&7U));
			for (T12_ = 0; T12_ < 32; T12_++) 
  T14_[T12_] = (*dest).sons->data[L].charChoice[T12_] | T13_[T12_];
			npegscharSet(T14_, (&(*dest).sons->data[L]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			add__Yxqc7pnofxe0aIWMJo4J9cwpegs(dest, elem);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		}
	}
	goto LA2_;
	LA6_: ;
	{
		add__Yxqc7pnofxe0aIWMJo4J9cwpegs(dest, elem);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA2_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsOrderedChoice)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* a, NI aLen_0, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 16);
	(*Result).sons = NIM_NIL;
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* xX60gensym10_;
		NI i;
		xX60gensym10_ = (tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ*)0;
		i = ((NI) 0);
		{
			while (1) {
				if (!(i < aLen_0)) goto LA3;
				xX60gensym10_ = (&a[i]);
				{
					if (!((*xX60gensym10_).kind == ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 16))) goto LA6_;
					{
						tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* yX60gensym10_;
						tySequence__5DSB9bTgCQCsIApS5TVlG8g* colontmp_;
						NI i_2;
						NI L;
						NI T9_;
						yX60gensym10_ = (tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ*)0;
						colontmp_ = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*)0;
						colontmp_ = (*xX60gensym10_).sons;
						i_2 = ((NI) 0);
						T9_ = (colontmp_ ? colontmp_->Sup.len : 0);
						L = T9_;
						{
							while (1) {
								if (!(i_2 < L)) goto LA11;
								yX60gensym10_ = (&colontmp_->data[i_2]);
								addChoice__bek7Fed15RyBUuSg6zITEw_2(Result, (*yX60gensym10_));
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_2 += ((NI) 1);
							} LA11: ;
						}
					}
				}
				goto LA4_;
				LA6_: ;
				{
					addChoice__bek7Fed15RyBUuSg6zITEw_2(Result, (*xX60gensym10_));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				LA4_: ;
				i += ((NI) 1);
			} LA3: ;
		}
	}
	{
		NI T15_;
		T15_ = (NI)0;
		T15_ = len__Z9cTp9cma0fGKM9ax7bg0k8ewpegs((*Result));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T15_ == ((NI) 1))) goto LA16_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&(*Result).sons->data[((NI) 0)]), sizeof((*Result)));
	}
	LA16_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	seqExpr__MaL2q9aiyWZXRK0fbgHwGWA_4(p, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T3_;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T4_;
			if (!((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 13))) goto LA2;
			getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)T3_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
			nimCopyMem((void*)(&T3_[0]), (NIM_CONST void*)Result, sizeof(T3_[0]));
			seqExpr__MaL2q9aiyWZXRK0fbgHwGWA_4(p, (&T3_[1]));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T4_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			npegsOrderedChoice(T3_, 2, (&T4_));
			nimCopyMem((void*)Result, (NIM_CONST void*)(&T4_), sizeof((*Result)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eat__hjU4sv1ca6ZjKpV3nc6Zhg)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw kind) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*p).tok.kind == kind)) goto LA3_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T6_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString((tokKindToStr__fTB9aWRDboDH2Gq75cAF9cKQ[(kind)- 0] ? tokKindToStr__fTB9aWRDboDH2Gq75cAF9cKQ[(kind)- 0]->Sup.len : 0) + 9);
appendString(T6_, tokKindToStr__fTB9aWRDboDH2Gq75cAF9cKQ[(kind)- 0]);
appendString(T6_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_53));
		pegError__BMmAapFwghEVCePgcFScUg((&(*p)), T6_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsCapture)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	T1_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 24);
	T1_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
	nimCopyMem((void*)(&T1_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T1_.sons->data[0]));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T1_), sizeof((*Result)));
}
static N_INLINE(void, any__vJ7L9clGomKkGyXSc8Lc5TQpegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 1);
}
static N_INLINE(void, anyRune__vJ7L9clGomKkGyXSc8Lc5TQ_2pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 2);
}
static N_INLINE(void, newLine__vJ7L9clGomKkGyXSc8Lc5TQ_3pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 3);
}
N_LIB_PRIVATE N_NIMCALL(void, npegsGreedyRep)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	switch (a.kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 17):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 20):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 21):
	{
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T3_;
		nimZeroMem((void*)(&T3_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nimZeroMem((void*)(&T3_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		T3_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18);
		T3_.ch = a.ch;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T3_), sizeof((*Result)));
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T5_;
		nimZeroMem((void*)(&T5_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nimZeroMem((void*)(&T5_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		T5_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19);
		T5_.charChoice = a.charChoice;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T5_), sizeof((*Result)));
	}
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 1):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 2):
	{
		switch ((*Result).kind) {
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
		unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
		(*Result).ch = 0;
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
		unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
		unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
		break;
		case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
		break;
		default:
		unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
		break;
		} 
		(*Result).kind = 0;
		(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 20);
	}
	break;
	default:
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T8_;
		nimZeroMem((void*)(&T8_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		nimZeroMem((void*)(&T8_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		T8_.kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 17);
		T8_.sons = (tySequence__5DSB9bTgCQCsIApS5TVlG8g*) newSeq((&NTI__5DSB9bTgCQCsIApS5TVlG8g_), 1);
		nimCopyMem((void*)(&T8_.sons->data[0]), (NIM_CONST void*)(&a), sizeof(T8_.sons->data[0]));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T8_), sizeof((*Result)));
	}
	break;
	}
}
static N_INLINE(void, unicodeLetter__vJ7L9clGomKkGyXSc8Lc5TQ_4pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 4);
}
static N_INLINE(void, unicodeUpper__vJ7L9clGomKkGyXSc8Lc5TQ_5pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 6);
}
static N_INLINE(void, unicodeLower__vJ7L9clGomKkGyXSc8Lc5TQ_6pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 5);
}
static N_INLINE(void, unicodeTitle__vJ7L9clGomKkGyXSc8Lc5TQ_7pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 7);
}
static N_INLINE(void, unicodeWhitespace__vJ7L9clGomKkGyXSc8Lc5TQ_8pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8);
}
N_LIB_PRIVATE N_NIMCALL(void, builtin__MaL2q9aiyWZXRK0fbgHwGWA_5)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	switch (hashString((*p).tok.literal) & 15) {
	case 0: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_58))) goto LA5_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_59))) goto LA6_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_62))) goto LA9_;
break;
	case 1: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_54))) goto LA1_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_68))) goto LA15_;
break;
	case 2: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_60))) goto LA7_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_61))) goto LA8_;
break;
	case 3: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_66))) goto LA13_;
break;
	case 5: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_55))) goto LA2_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_67))) goto LA14_;
break;
	case 6: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_57))) goto LA4_;
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_63))) goto LA10_;
break;
	case 10: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_65))) goto LA12_;
break;
	case 11: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_56))) goto LA3_;
break;
	case 14: 
if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_64))) goto LA11_;
break;
	}
	goto LA16_;
	LA1_: ;
	{
		newLine__vJ7L9clGomKkGyXSc8Lc5TQ_3pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA2_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_69, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA3_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_70, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA4_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_71, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA5_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_72, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA6_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_73, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA7_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_74, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA8_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_75, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA9_: ;
	{
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_76, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA10_: ;
	{
		tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T28_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T29_;
		nimZeroMem((void*)T28_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_77, (&T28_[0]));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T29_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npegscharSet(TM__YGOrctedenU9ao6jM7xmy6g_78, (&T29_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		npegsGreedyRep(T29_, (&T28_[1]));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		npegssequence(T28_, 2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA11_: ;
	{
		unicodeLetter__vJ7L9clGomKkGyXSc8Lc5TQ_4pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA12_: ;
	{
		unicodeUpper__vJ7L9clGomKkGyXSc8Lc5TQ_5pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA13_: ;
	{
		unicodeLower__vJ7L9clGomKkGyXSc8Lc5TQ_6pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA14_: ;
	{
		unicodeTitle__vJ7L9clGomKkGyXSc8Lc5TQ_7pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA15_: ;
	{
		unicodeWhitespace__vJ7L9clGomKkGyXSc8Lc5TQ_8pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA17_;
	LA16_: ;
	{
		tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T36_;
		NimStringDesc* T37_;
		nimZeroMem((void*)(&T36_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
		T36_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
		nimCopyMem((void*)(&T36_), (NIM_CONST void*)(&(*p)), sizeof(T36_));
		T37_ = (NimStringDesc*)0;
		T37_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 18);
appendString(T37_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_79));
appendString(T37_, (*p).tok.literal);
		pegError__BMmAapFwghEVCePgcFScUg((&T36_), T37_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA17_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegstermChar)(NIM_CHAR t, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12);
	(*Result).ch = t;
}
static N_INLINE(void, endAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_9pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&T1_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	any__vJ7L9clGomKkGyXSc8Lc5TQpegs((&T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	npegsNotPredicate(T1_, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, startAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_10pegs)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 32);
}
N_LIB_PRIVATE N_NIMCALL(void, npegsbackref)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25);
	(*Result).index = ((NI) ((NI)(((NI) (index)) - ((NI) 1))));
}
N_LIB_PRIVATE N_NIMCALL(void, npegsbackrefIgnoreCase)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 26);
	(*Result).index = ((NI) ((NI)(((NI) (index)) - ((NI) 1))));
}
N_LIB_PRIVATE N_NIMCALL(void, npegsbackrefIgnoreStyle)(NI index, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	(*Result).kind = ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27);
	(*Result).index = ((NI) ((NI)(((NI) (index)) - ((NI) 1))));
}
N_LIB_PRIVATE N_NIMCALL(void, modifiedBackref__lP6hszPxu8STBkt8ALHfmw)(NI s, tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (m) {
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0):
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 1):
	{
		npegsbackref(((NI) (s)), Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 2):
	{
		npegsbackrefIgnoreCase(((NI) (s)), Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 3):
	{
		npegsbackrefIgnoreStyle(((NI) (s)), Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, npegsGreedyPosRep)(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ a, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyArray__rS9bk8uu9axETY9bOxp2l1GHQ T1_;
	tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)T1_, sizeof(tyArray__rS9bk8uu9axETY9bOxp2l1GHQ));
	nimCopyMem((void*)(&T1_[0]), (NIM_CONST void*)(&a), sizeof(T1_[0]));
	npegsGreedyRep(a, (&T1_[1]));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimZeroMem((void*)(&T2_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
	npegssequence(T1_, 2, (&T2_));
	nimCopyMem((void*)Result, (NIM_CONST void*)(&T2_), sizeof((*Result)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, primary__MaL2q9aiyWZXRK0fbgHwGWA_2)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch ((*Result).kind) {
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 0) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 8):
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 9):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 10):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 11):
	unsureAsgnRef((void**)&(*Result).term, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 12):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 18):
	(*Result).ch = 0;
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 13):
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 19):
	unsureAsgnRef((void**)&(*Result).charChoice, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 14):
	unsureAsgnRef((void**)&(*Result).nt, NIM_NIL);
	break;
	case ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 25) ... ((tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q) 27):
	break;
	default:
	unsureAsgnRef((void**)&(*Result).sons, NIM_NIL);
	break;
	} 
	(*Result).kind = 0;
	switch ((*p).tok.kind) {
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 16):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T2_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T2_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T2_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		npegsAndPredicate(T2_, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 17):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T4_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T4_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T4_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		npegsNotPredicate(T4_, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 19):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T6_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T6_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T6_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		npegsSearch(T6_, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 11):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T8_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T9_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T10_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T8_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T8_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T9_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T8_, (&(*p)), (&T9_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T10_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npgegsCapturedSearch(T9_, (&T10_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T10_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	switch ((*p).tok.kind) {
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 4):
	{
		{
			tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T21_;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T22_;
			if (!(*p).identIsVerbatim) goto LA15_;
			m = (*p).tok.modifier;
			{
				if (!(m == ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0))) goto LA19_;
				m = (*p).modifier;
			}
			LA19_: ;
			nimZeroMem((void*)(&T21_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			modifiedTerm__PRjoiBA234MDaFoq6R9cMUw((*p).tok.literal, m, (&T21_));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T22_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			token__yNO39bt9aZu9aox0jITQ9cJ8aw(T21_, (&(*p)), (&T22_));
			nimCopyMem((void*)Result, (NIM_CONST void*)(&T22_), sizeof((*Result)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
		LA15_: ;
		{
			NIM_BOOL T24_;
			tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* nt;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T27_;
			tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T28_;
			T24_ = (NIM_BOOL)0;
			T24_ = arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA((&(*p).Sup));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T24_)) goto LA25_;
			nt = getNonTerminal__owz7gr9cNnue9b2MsAC72zMQ(p, (*p).tok.literal);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*nt).flags |= ((NU8)1)<<((((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 1)) & 7);
			nimZeroMem((void*)(&T27_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			npegsnonterminal(nt, (&T27_));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			nimZeroMem((void*)(&T28_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
			token__yNO39bt9aZu9aox0jITQ9cJ8aw(T27_, (&(*p)), (&T28_));
			nimCopyMem((void*)Result, (NIM_CONST void*)(&T28_), sizeof((*Result)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA13_;
		LA25_: ;
		{
			tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T30_;
			NimStringDesc* T31_;
			nimZeroMem((void*)(&T30_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
			T30_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
			nimCopyMem((void*)(&T30_), (NIM_CONST void*)(&(*p)), sizeof(T30_));
			T31_ = (NimStringDesc*)0;
			T31_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 32);
appendString(T31_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_30));
appendString(T31_, (*p).tok.literal);
			pegError__BMmAapFwghEVCePgcFScUg((&T30_), T31_, ((NI) -1), ((NI) -1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA13_: ;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 5):
	{
		tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m_2;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T37_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T38_;
		m_2 = (*p).tok.modifier;
		{
			if (!(m_2 == ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0))) goto LA35_;
			m_2 = (*p).modifier;
		}
		LA35_: ;
		nimZeroMem((void*)(&T37_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		modifiedTerm__PRjoiBA234MDaFoq6R9cMUw((*p).tok.literal, m_2, (&T37_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T38_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T37_, (&(*p)), (&T38_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T38_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 6):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T44_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T45_;
		{
			if (!(((*p).tok.charset[(NU)(((NU8)(0)))>>3] &(1U<<((NU)(((NU8)(0)))&7U)))!=0)) goto LA42_;
			pegError__BMmAapFwghEVCePgcFScUg((&(*p)), ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_31), ((NI) -1), ((NI) -1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA42_: ;
		nimZeroMem((void*)(&T44_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npegscharSet((*p).tok.charset, (&T44_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T45_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T44_, (&(*p)), (&T45_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T45_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 7):
	{
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3(p, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eat__hjU4sv1ca6ZjKpV3nc6Zhg(p, ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 8));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 9):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T48_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T49_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T50_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T48_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3(p, (&T48_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T49_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npegsCapture(T48_, (&T49_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T50_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T49_, (&(*p)), (&T50_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T50_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eat__hjU4sv1ca6ZjKpV3nc6Zhg(p, ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 10));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*p).captures += ((NI) 1);
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 2):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T52_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T53_;
		nimZeroMem((void*)(&T52_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		any__vJ7L9clGomKkGyXSc8Lc5TQpegs((&T52_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T53_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T52_, (&(*p)), (&T53_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T53_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 3):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T55_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T56_;
		nimZeroMem((void*)(&T55_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		anyRune__vJ7L9clGomKkGyXSc8Lc5TQ_2pegs((&T55_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T56_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T55_, (&(*p)), (&T56_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T56_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 20):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T58_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T59_;
		nimZeroMem((void*)(&T58_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		builtin__MaL2q9aiyWZXRK0fbgHwGWA_5(p, (&T58_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T59_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T58_, (&(*p)), (&T59_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T59_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 21):
	{
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T61_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T62_;
		nimZeroMem((void*)(&T61_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		npegstermChar((*p).tok.literal->data[((NI) 0)], (&T61_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T62_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T61_, (&(*p)), (&T62_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T62_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 23):
	{
		endAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_9pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 24):
	{
		startAnchor__vJ7L9clGomKkGyXSc8Lc5TQ_10pegs(Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 22):
	{
		tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA m_3;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T70_;
		tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T71_;
		m_3 = (*p).tok.modifier;
		{
			if (!(m_3 == ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0))) goto LA68_;
			m_3 = (*p).modifier;
		}
		LA68_: ;
		nimZeroMem((void*)(&T70_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		modifiedBackref__lP6hszPxu8STBkt8ALHfmw((*p).tok.index, m_3, (&T70_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&T71_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
		token__yNO39bt9aZu9aox0jITQ9cJ8aw(T70_, (&(*p)), (&T71_));
		nimCopyMem((void*)Result, (NIM_CONST void*)(&T71_), sizeof((*Result)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T74_;
			tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T78_;
			NimStringDesc* T79_;
			NimStringDesc* T80_;
			T74_ = (NIM_BOOL)0;
			T74_ = ((*p).tok.index < ((NI) 0));
			if (T74_) goto LA75_;
			T74_ = ((*p).captures < (*p).tok.index);
			LA75_: ;
			if (!T74_) goto LA76_;
			nimZeroMem((void*)(&T78_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
			T78_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
			nimCopyMem((void*)(&T78_), (NIM_CONST void*)(&(*p)), sizeof(T78_));
			T79_ = (NimStringDesc*)0;
			T80_ = (NimStringDesc*)0;
			T80_ = nimIntToStr((*p).tok.index);
			T79_ = rawNewString((T80_ ? T80_->Sup.len : 0) + 30);
appendString(T79_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_80));
appendString(T79_, T80_);
			pegError__BMmAapFwghEVCePgcFScUg((&T78_), T79_, ((NI) -1), ((NI) -1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA76_: ;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T82_;
		NimStringDesc* T83_;
		nimZeroMem((void*)(&T82_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
		T82_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
		nimCopyMem((void*)(&T82_), (NIM_CONST void*)(&(*p)), sizeof(T82_));
		T83_ = (NimStringDesc*)0;
		T83_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 32);
appendString(T83_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_30));
appendString(T83_, (*p).tok.literal);
		pegError__BMmAapFwghEVCePgcFScUg((&T82_), T83_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	{
		while (1) {
			switch ((*p).tok.kind) {
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 18):
			{
				tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T87_;
				nimZeroMem((void*)(&T87_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
				npegsOptional((*Result), (&T87_));
				nimCopyMem((void*)Result, (NIM_CONST void*)(&T87_), sizeof((*Result)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 14):
			{
				tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T89_;
				nimZeroMem((void*)(&T89_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
				npegsGreedyRep((*Result), (&T89_));
				nimCopyMem((void*)Result, (NIM_CONST void*)(&T89_), sizeof((*Result)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 15):
			{
				tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T91_;
				nimZeroMem((void*)(&T91_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
				npegsGreedyPosRep((*Result), (&T91_));
				nimCopyMem((void*)Result, (NIM_CONST void*)(&T91_), sizeof((*Result)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
				goto LA84;
			}
			break;
			}
		}
	} LA84: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*, parseRule__FcYmx9aP0FAQ09bSN09bCgCzA)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p) {
	tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
	{
		NIM_BOOL T3_;
		NI T12_;
		NI T13_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 4));
		if (!(T3_)) goto LA4_;
		T3_ = arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA((&(*p).Sup));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		LA4_: ;
		if (!T3_) goto LA5_;
		result = getNonTerminal__owz7gr9cNnue9b2MsAC72zMQ(p, (*p).tok.literal);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringDesc* T11_;
			if (!(((*result).flags &(1U<<((NU)(((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 0))&7U)))!=0)) goto LA9_;
			T11_ = (NimStringDesc*)0;
			T11_ = rawNewString(((*result).name ? (*result).name->Sup.len : 0) + 21);
appendString(T11_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_81));
appendString(T11_, (*result).name);
			pegError__BMmAapFwghEVCePgcFScUg((&(*p)), T11_, ((NI) -1), ((NI) -1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA9_: ;
		T12_ = (NI)0;
		T12_ = getLine__VLHJcdFBF4RkQrFxGrHR4gpegs((&(*p).Sup));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).line = T12_;
		T13_ = (NI)0;
		T13_ = getColumn__VLHJcdFBF4RkQrFxGrHR4g_2pegs((&(*p).Sup));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).col = T13_;
		getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eat__hjU4sv1ca6ZjKpV3nc6Zhg(p, ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 12));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3(p, (&(*result).rule));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result).flags |= ((NU8)1)<<((((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 0)) & 7);
	}
	goto LA1_;
	LA5_: ;
	{
		tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T15_;
		NimStringDesc* T16_;
		nimZeroMem((void*)(&T15_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
		T15_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
		nimCopyMem((void*)(&T15_), (NIM_CONST void*)(&(*p)), sizeof(T15_));
		T16_ = (NimStringDesc*)0;
		T16_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 26);
appendString(T16_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_82));
appendString(T16_, (*p).tok.literal);
		pegError__BMmAapFwghEVCePgcFScUg((&T15_), T16_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawParse__MaL2q9aiyWZXRK0fbgHwGWA)(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg* p, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		while (1) {
			if (!((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 20))) goto LA2;
			if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_22))) goto LA3_;
			if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_23))) goto LA4_;
			if (eqStrings((*p).tok.literal, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_29))) goto LA5_;
			goto LA6_;
			LA3_: ;
			{
				(*p).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 2);
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA7_;
			LA4_: ;
			{
				(*p).modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 3);
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA7_;
			LA5_: ;
			{
				tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ T11_;
				getTok__N6UyL3NoCbQFjnydJ8RVDg(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				nimZeroMem((void*)(&T11_), sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ));
				primary__MaL2q9aiyWZXRK0fbgHwGWA_2(p, (&T11_));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				npegsOptional(T11_, (&(*p).skip));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA7_;
			LA6_: ;
			{
				goto LA1;
			}
			LA7_: ;
		} LA2: ;
	} LA1: ;
	{
		NIM_BOOL T15_;
		tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* T19_;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 4));
		if (!(T15_)) goto LA16_;
		T15_ = arrowIsNextTok__r1Fu3ClqdJ5GNevZsmi3CA((&(*p).Sup));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		LA16_: ;
		if (!T15_) goto LA17_;
		T19_ = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
		T19_ = parseRule__FcYmx9aP0FAQ09bSN09bCgCzA(p);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimCopyMem((void*)Result, (NIM_CONST void*)(&(*T19_).rule), sizeof((*Result)));
		{
			while (1) {
				tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* T22_;
				if (!!(((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 1)))) goto LA21;
				T22_ = (tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*)0;
				T22_ = parseRule__FcYmx9aP0FAQ09bSN09bCgCzA(p);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(void)(T22_);
			} LA21: ;
		}
	}
	goto LA13_;
	LA17_: ;
	{
		(*p).identIsVerbatim = NIM_TRUE;
		parseExpr__MaL2q9aiyWZXRK0fbgHwGWA_3(p, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA13_: ;
	{
		tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg T28_;
		NimStringDesc* T29_;
		if (!!(((*p).tok.kind == ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 1)))) goto LA26_;
		nimZeroMem((void*)(&T28_), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
		T28_.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
		nimCopyMem((void*)(&T28_), (NIM_CONST void*)(&(*p)), sizeof(T28_));
		T29_ = (NimStringDesc*)0;
		T29_ = rawNewString(((*p).tok.literal ? (*p).tok.literal->Sup.len : 0) + 25);
appendString(T29_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_83));
appendString(T29_, (*p).tok.literal);
		pegError__BMmAapFwghEVCePgcFScUg((&T28_), T29_, ((NI) -1), ((NI) -1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA26_: ;
	{
		NI i;
		NI colontmp_;
		NI T31_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T31_ = (((*p).nonterms ? (*p).nonterms->Sup.len : 0)-1);
		colontmp_ = T31_;
		res = ((NI) 0);
		{
			while (1) {
				tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA* nt;
				if (!(res <= colontmp_)) goto LA33;
				i = res;
				nt = (*p).nonterms->data[i];
				{
					NimStringDesc* T38_;
					if (!!((((*nt).flags &(1U<<((NU)(((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 0))&7U)))!=0))) goto LA36_;
					T38_ = (NimStringDesc*)0;
					T38_ = rawNewString(((*nt).name ? (*nt).name->Sup.len : 0) + 23);
appendString(T38_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_84));
appendString(T38_, (*nt).name);
					pegError__BMmAapFwghEVCePgcFScUg((&(*p)), T38_, (*nt).line, (*nt).col);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA34_;
				LA36_: ;
				{
					NIM_BOOL T40_;
					NimStringDesc* T44_;
					T40_ = (NIM_BOOL)0;
					T40_ = !((((*nt).flags &(1U<<((NU)(((tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw) 1))&7U)))!=0));
					if (!(T40_)) goto LA41_;
					T40_ = (((NI) 0) < i);
					LA41_: ;
					if (!T40_) goto LA42_;
					T44_ = (NimStringDesc*)0;
					T44_ = rawNewString(((*nt).name ? (*nt).name->Sup.len : 0) + 13);
appendString(T44_, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_85));
appendString(T44_, (*nt).name);
					pegError__BMmAapFwghEVCePgcFScUg((&(*p)), T44_, (*nt).line, (*nt).col);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
				goto LA34_;
				LA42_: ;
				LA34_: ;
				res += ((NI) 1);
			} LA33: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parsePeg__lS04BXBOBnydcCBNVBF9bNw)(NimStringDesc* pattern, NimStringDesc* filename, NI line, NI col, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
	tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg p;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&p), sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg));
	p.Sup.m_type = (&NTI__YGbAG2ONLZxyHsgzU1OeCg_);
	init__sHzYnQvltM12eWSAM9cw7jw((&p.Sup), pattern, filename, line, col);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	p.tok.kind = ((tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw) 0);
	p.tok.modifier = ((tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA) 0);
	p.tok.literal = ((NimStringDesc*) NIM_NIL);
	nimCopyMem((void*)p.tok.charset, (NIM_CONST void*)TM__YGOrctedenU9ao6jM7xmy6g_18, 32);
	p.nonterms = NIM_NIL;
	p.identIsVerbatim = NIM_FALSE;
	getTok__N6UyL3NoCbQFjnydJ8RVDg((&p));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rawParse__MaL2q9aiyWZXRK0fbgHwGWA((&p), Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, peg__43AZ7ZFAo8xUltgm3ekenw)(NimStringDesc* pattern, tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	parsePeg__lS04BXBOBnydcCBNVBF9bNw(pattern, ((NimStringDesc*) &TM__YGOrctedenU9ao6jM7xmy6g_86), ((NI) 1), ((NI) 0), Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_pegsDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_2_6[6];
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_3_6[6];
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_4_5[5];
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_5_25[25];
NI TM__YGOrctedenU9ao6jM7xmy6g_7;
static char* NIM_CONST TM__YGOrctedenU9ao6jM7xmy6g_6[25] = {
"tkInvalid", 
"tkEof", 
"tkAny", 
"tkAnyRune", 
"tkIdentifier", 
"tkStringLit", 
"tkCharSet", 
"tkParLe", 
"tkParRi", 
"tkCurlyLe", 
"tkCurlyRi", 
"tkCurlyAt", 
"tkArrow", 
"tkBar", 
"tkStar", 
"tkPlus", 
"tkAmp", 
"tkNot", 
"tkOption", 
"tkAt", 
"tkBuiltin", 
"tkEscaped", 
"tkBackref", 
"tkDollar", 
"tkHat"};
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_8_4[4];
NI TM__YGOrctedenU9ao6jM7xmy6g_10;
static char* NIM_CONST TM__YGOrctedenU9ao6jM7xmy6g_9[4] = {
"modNone", 
"modVerbatim", 
"modIgnoreCase", 
"modIgnoreStyle"};
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_11_5[5];
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_12_2[2];
NI TM__YGOrctedenU9ao6jM7xmy6g_14;
static char* NIM_CONST TM__YGOrctedenU9ao6jM7xmy6g_13[2] = {
"ntDeclared", 
"ntUsed"};
static TNimNode* TM__YGOrctedenU9ao6jM7xmy6g_15_33[33];
NI TM__YGOrctedenU9ao6jM7xmy6g_17;
static char* NIM_CONST TM__YGOrctedenU9ao6jM7xmy6g_16[33] = {
"pkEmpty", 
"pkAny", 
"pkAnyRune", 
"pkNewLine", 
"pkLetter", 
"pkLower", 
"pkUpper", 
"pkTitle", 
"pkWhitespace", 
"pkTerminal", 
"pkTerminalIgnoreCase", 
"pkTerminalIgnoreStyle", 
"pkChar", 
"pkCharChoice", 
"pkNonTerminal", 
"pkSequence", 
"pkOrderedChoice", 
"pkGreedyRep", 
"pkGreedyRepChar", 
"pkGreedyRepSet", 
"pkGreedyAny", 
"pkOption", 
"pkAndPredicate", 
"pkNotPredicate", 
"pkCapture", 
"pkBackRef", 
"pkBackRefIgnoreCase", 
"pkBackRefIgnoreStyle", 
"pkSearch", 
"pkCapturedSearch", 
"pkRule", 
"pkList", 
"pkStartAnchor"};
static TNimNode TM__YGOrctedenU9ao6jM7xmy6g_0[104];

/* section: NIM_merge_TYPE_INIT3 */
NTI__PtCHh4SlKU9c9auwVazDFB6Q_.size = sizeof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q);
NTI__PtCHh4SlKU9c9auwVazDFB6Q_.align = NIM_ALIGNOF(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q);
NTI__PtCHh4SlKU9c9auwVazDFB6Q_.kind = 17;
NTI__PtCHh4SlKU9c9auwVazDFB6Q_.base = 0;
TM__YGOrctedenU9ao6jM7xmy6g_2_6[0] = &TM__YGOrctedenU9ao6jM7xmy6g_0[1];
TM__YGOrctedenU9ao6jM7xmy6g_0[1].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[1].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, bufpos);
TM__YGOrctedenU9ao6jM7xmy6g_0[1].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[1].name = "bufpos";
TM__YGOrctedenU9ao6jM7xmy6g_2_6[1] = &TM__YGOrctedenU9ao6jM7xmy6g_0[2];
TM__YGOrctedenU9ao6jM7xmy6g_0[2].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[2].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, buf);
TM__YGOrctedenU9ao6jM7xmy6g_0[2].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[2].name = "buf";
TM__YGOrctedenU9ao6jM7xmy6g_2_6[2] = &TM__YGOrctedenU9ao6jM7xmy6g_0[3];
TM__YGOrctedenU9ao6jM7xmy6g_0[3].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[3].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, lineNumber);
TM__YGOrctedenU9ao6jM7xmy6g_0[3].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[3].name = "lineNumber";
TM__YGOrctedenU9ao6jM7xmy6g_2_6[3] = &TM__YGOrctedenU9ao6jM7xmy6g_0[4];
TM__YGOrctedenU9ao6jM7xmy6g_0[4].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[4].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, lineStart);
TM__YGOrctedenU9ao6jM7xmy6g_0[4].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[4].name = "lineStart";
TM__YGOrctedenU9ao6jM7xmy6g_2_6[4] = &TM__YGOrctedenU9ao6jM7xmy6g_0[5];
TM__YGOrctedenU9ao6jM7xmy6g_0[5].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[5].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, colOffset);
TM__YGOrctedenU9ao6jM7xmy6g_0[5].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[5].name = "colOffset";
TM__YGOrctedenU9ao6jM7xmy6g_2_6[5] = &TM__YGOrctedenU9ao6jM7xmy6g_0[6];
TM__YGOrctedenU9ao6jM7xmy6g_0[6].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[6].offset = offsetof(tyObject_PegLexer__PtCHh4SlKU9c9auwVazDFB6Q, filename);
TM__YGOrctedenU9ao6jM7xmy6g_0[6].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[6].name = "filename";
TM__YGOrctedenU9ao6jM7xmy6g_0[0].len = 6; TM__YGOrctedenU9ao6jM7xmy6g_0[0].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[0].sons = &TM__YGOrctedenU9ao6jM7xmy6g_2_6[0];
NTI__PtCHh4SlKU9c9auwVazDFB6Q_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[0];
NTI__YGbAG2ONLZxyHsgzU1OeCg_.size = sizeof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg);
NTI__YGbAG2ONLZxyHsgzU1OeCg_.align = NIM_ALIGNOF(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg);
NTI__YGbAG2ONLZxyHsgzU1OeCg_.kind = 17;
NTI__YGbAG2ONLZxyHsgzU1OeCg_.base = (&NTI__PtCHh4SlKU9c9auwVazDFB6Q_);
TM__YGOrctedenU9ao6jM7xmy6g_3_6[0] = &TM__YGOrctedenU9ao6jM7xmy6g_0[8];
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.size = sizeof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA);
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.align = NIM_ALIGNOF(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA);
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.kind = 18;
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.base = 0;
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.flags = 2;
TM__YGOrctedenU9ao6jM7xmy6g_4_5[0] = &TM__YGOrctedenU9ao6jM7xmy6g_0[10];
NTI__PXxfBn560z0EWOn5M2H9aWw_.size = sizeof(tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw);
NTI__PXxfBn560z0EWOn5M2H9aWw_.align = NIM_ALIGNOF(tyEnum_TokKind__PXxfBn560z0EWOn5M2H9aWw);
NTI__PXxfBn560z0EWOn5M2H9aWw_.kind = 14;
NTI__PXxfBn560z0EWOn5M2H9aWw_.base = 0;
NTI__PXxfBn560z0EWOn5M2H9aWw_.flags = 3;
for (TM__YGOrctedenU9ao6jM7xmy6g_7 = 0; TM__YGOrctedenU9ao6jM7xmy6g_7 < 25; TM__YGOrctedenU9ao6jM7xmy6g_7++) {
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_7+11].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_7+11].offset = TM__YGOrctedenU9ao6jM7xmy6g_7;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_7+11].name = TM__YGOrctedenU9ao6jM7xmy6g_6[TM__YGOrctedenU9ao6jM7xmy6g_7];
TM__YGOrctedenU9ao6jM7xmy6g_5_25[TM__YGOrctedenU9ao6jM7xmy6g_7] = &TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_7+11];
}
TM__YGOrctedenU9ao6jM7xmy6g_0[36].len = 25; TM__YGOrctedenU9ao6jM7xmy6g_0[36].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[36].sons = &TM__YGOrctedenU9ao6jM7xmy6g_5_25[0];
NTI__PXxfBn560z0EWOn5M2H9aWw_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[36];
TM__YGOrctedenU9ao6jM7xmy6g_0[10].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[10].offset = offsetof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA, kind);
TM__YGOrctedenU9ao6jM7xmy6g_0[10].typ = (&NTI__PXxfBn560z0EWOn5M2H9aWw_);
TM__YGOrctedenU9ao6jM7xmy6g_0[10].name = "kind";
TM__YGOrctedenU9ao6jM7xmy6g_4_5[1] = &TM__YGOrctedenU9ao6jM7xmy6g_0[37];
NTI__7Wz82JmsepInwCEDiPsupA_.size = sizeof(tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA);
NTI__7Wz82JmsepInwCEDiPsupA_.align = NIM_ALIGNOF(tyEnum_Modifier__7Wz82JmsepInwCEDiPsupA);
NTI__7Wz82JmsepInwCEDiPsupA_.kind = 14;
NTI__7Wz82JmsepInwCEDiPsupA_.base = 0;
NTI__7Wz82JmsepInwCEDiPsupA_.flags = 3;
for (TM__YGOrctedenU9ao6jM7xmy6g_10 = 0; TM__YGOrctedenU9ao6jM7xmy6g_10 < 4; TM__YGOrctedenU9ao6jM7xmy6g_10++) {
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_10+38].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_10+38].offset = TM__YGOrctedenU9ao6jM7xmy6g_10;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_10+38].name = TM__YGOrctedenU9ao6jM7xmy6g_9[TM__YGOrctedenU9ao6jM7xmy6g_10];
TM__YGOrctedenU9ao6jM7xmy6g_8_4[TM__YGOrctedenU9ao6jM7xmy6g_10] = &TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_10+38];
}
TM__YGOrctedenU9ao6jM7xmy6g_0[42].len = 4; TM__YGOrctedenU9ao6jM7xmy6g_0[42].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[42].sons = &TM__YGOrctedenU9ao6jM7xmy6g_8_4[0];
NTI__7Wz82JmsepInwCEDiPsupA_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[42];
TM__YGOrctedenU9ao6jM7xmy6g_0[37].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[37].offset = offsetof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA, modifier);
TM__YGOrctedenU9ao6jM7xmy6g_0[37].typ = (&NTI__7Wz82JmsepInwCEDiPsupA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[37].name = "modifier";
TM__YGOrctedenU9ao6jM7xmy6g_4_5[2] = &TM__YGOrctedenU9ao6jM7xmy6g_0[43];
TM__YGOrctedenU9ao6jM7xmy6g_0[43].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[43].offset = offsetof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA, literal);
TM__YGOrctedenU9ao6jM7xmy6g_0[43].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[43].name = "literal";
TM__YGOrctedenU9ao6jM7xmy6g_4_5[3] = &TM__YGOrctedenU9ao6jM7xmy6g_0[44];
TM__YGOrctedenU9ao6jM7xmy6g_0[44].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[44].offset = offsetof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA, charset);
TM__YGOrctedenU9ao6jM7xmy6g_0[44].typ = (&NTI__HDqWPvEAxZK51ZcfaeQEdg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[44].name = "charset";
TM__YGOrctedenU9ao6jM7xmy6g_4_5[4] = &TM__YGOrctedenU9ao6jM7xmy6g_0[45];
TM__YGOrctedenU9ao6jM7xmy6g_0[45].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[45].offset = offsetof(tyObject_Token__7MBEr6JdfMtt2SLdWJ4TnA, index);
TM__YGOrctedenU9ao6jM7xmy6g_0[45].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[45].name = "index";
TM__YGOrctedenU9ao6jM7xmy6g_0[9].len = 5; TM__YGOrctedenU9ao6jM7xmy6g_0[9].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[9].sons = &TM__YGOrctedenU9ao6jM7xmy6g_4_5[0];
NTI__7MBEr6JdfMtt2SLdWJ4TnA_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[9];
TM__YGOrctedenU9ao6jM7xmy6g_0[8].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[8].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, tok);
TM__YGOrctedenU9ao6jM7xmy6g_0[8].typ = (&NTI__7MBEr6JdfMtt2SLdWJ4TnA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[8].name = "tok";
TM__YGOrctedenU9ao6jM7xmy6g_3_6[1] = &TM__YGOrctedenU9ao6jM7xmy6g_0[46];
NTI__VMn2tGRm8B9a9cqMEec3KPEA_.size = sizeof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA);
NTI__VMn2tGRm8B9a9cqMEec3KPEA_.align = NIM_ALIGNOF(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA);
NTI__VMn2tGRm8B9a9cqMEec3KPEA_.kind = 18;
NTI__VMn2tGRm8B9a9cqMEec3KPEA_.base = 0;
TM__YGOrctedenU9ao6jM7xmy6g_11_5[0] = &TM__YGOrctedenU9ao6jM7xmy6g_0[48];
TM__YGOrctedenU9ao6jM7xmy6g_0[48].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[48].offset = offsetof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA, name);
TM__YGOrctedenU9ao6jM7xmy6g_0[48].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[48].name = "name";
TM__YGOrctedenU9ao6jM7xmy6g_11_5[1] = &TM__YGOrctedenU9ao6jM7xmy6g_0[49];
TM__YGOrctedenU9ao6jM7xmy6g_0[49].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[49].offset = offsetof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA, line);
TM__YGOrctedenU9ao6jM7xmy6g_0[49].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[49].name = "line";
TM__YGOrctedenU9ao6jM7xmy6g_11_5[2] = &TM__YGOrctedenU9ao6jM7xmy6g_0[50];
TM__YGOrctedenU9ao6jM7xmy6g_0[50].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[50].offset = offsetof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA, col);
TM__YGOrctedenU9ao6jM7xmy6g_0[50].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[50].name = "col";
TM__YGOrctedenU9ao6jM7xmy6g_11_5[3] = &TM__YGOrctedenU9ao6jM7xmy6g_0[51];
NTI__raeF9a9anryo8cnwfITE0Glw_.size = sizeof(tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw);
NTI__raeF9a9anryo8cnwfITE0Glw_.align = NIM_ALIGNOF(tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw);
NTI__raeF9a9anryo8cnwfITE0Glw_.kind = 14;
NTI__raeF9a9anryo8cnwfITE0Glw_.base = 0;
NTI__raeF9a9anryo8cnwfITE0Glw_.flags = 3;
for (TM__YGOrctedenU9ao6jM7xmy6g_14 = 0; TM__YGOrctedenU9ao6jM7xmy6g_14 < 2; TM__YGOrctedenU9ao6jM7xmy6g_14++) {
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_14+52].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_14+52].offset = TM__YGOrctedenU9ao6jM7xmy6g_14;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_14+52].name = TM__YGOrctedenU9ao6jM7xmy6g_13[TM__YGOrctedenU9ao6jM7xmy6g_14];
TM__YGOrctedenU9ao6jM7xmy6g_12_2[TM__YGOrctedenU9ao6jM7xmy6g_14] = &TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_14+52];
}
TM__YGOrctedenU9ao6jM7xmy6g_0[54].len = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[54].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[54].sons = &TM__YGOrctedenU9ao6jM7xmy6g_12_2[0];
NTI__raeF9a9anryo8cnwfITE0Glw_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[54];
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.size = sizeof(tySet_tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw);
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.align = NIM_ALIGNOF(tySet_tyEnum_NonTerminalFlag__raeF9a9anryo8cnwfITE0Glw);
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.kind = 19;
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.base = (&NTI__raeF9a9anryo8cnwfITE0Glw_);
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.flags = 3;
TM__YGOrctedenU9ao6jM7xmy6g_0[55].len = 0; TM__YGOrctedenU9ao6jM7xmy6g_0[55].kind = 0;
NTI__lU0PfHKIn29cxb4xJ1TaXlA_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[55];
TM__YGOrctedenU9ao6jM7xmy6g_0[51].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[51].offset = offsetof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA, flags);
TM__YGOrctedenU9ao6jM7xmy6g_0[51].typ = (&NTI__lU0PfHKIn29cxb4xJ1TaXlA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[51].name = "flags";
TM__YGOrctedenU9ao6jM7xmy6g_11_5[4] = &TM__YGOrctedenU9ao6jM7xmy6g_0[56];
NTI__4Bytir9b2lq5I84yi5O7ztQ_.size = sizeof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ);
NTI__4Bytir9b2lq5I84yi5O7ztQ_.align = NIM_ALIGNOF(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ);
NTI__4Bytir9b2lq5I84yi5O7ztQ_.kind = 18;
NTI__4Bytir9b2lq5I84yi5O7ztQ_.base = 0;
NTI__r9a6rAhGclsLWkBysfmtr6Q_.size = sizeof(tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q);
NTI__r9a6rAhGclsLWkBysfmtr6Q_.align = NIM_ALIGNOF(tyEnum_PegKind__r9a6rAhGclsLWkBysfmtr6Q);
NTI__r9a6rAhGclsLWkBysfmtr6Q_.kind = 14;
NTI__r9a6rAhGclsLWkBysfmtr6Q_.base = 0;
NTI__r9a6rAhGclsLWkBysfmtr6Q_.flags = 3;
for (TM__YGOrctedenU9ao6jM7xmy6g_17 = 0; TM__YGOrctedenU9ao6jM7xmy6g_17 < 33; TM__YGOrctedenU9ao6jM7xmy6g_17++) {
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_17+58].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_17+58].offset = TM__YGOrctedenU9ao6jM7xmy6g_17;
TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_17+58].name = TM__YGOrctedenU9ao6jM7xmy6g_16[TM__YGOrctedenU9ao6jM7xmy6g_17];
TM__YGOrctedenU9ao6jM7xmy6g_15_33[TM__YGOrctedenU9ao6jM7xmy6g_17] = &TM__YGOrctedenU9ao6jM7xmy6g_0[TM__YGOrctedenU9ao6jM7xmy6g_17+58];
}
TM__YGOrctedenU9ao6jM7xmy6g_0[91].len = 33; TM__YGOrctedenU9ao6jM7xmy6g_0[91].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[91].sons = &TM__YGOrctedenU9ao6jM7xmy6g_15_33[0];
NTI__r9a6rAhGclsLWkBysfmtr6Q_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[91];
TM__YGOrctedenU9ao6jM7xmy6g_0[57].kind = 3;
TM__YGOrctedenU9ao6jM7xmy6g_0[57].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, kind);
TM__YGOrctedenU9ao6jM7xmy6g_0[57].typ = (&NTI__r9a6rAhGclsLWkBysfmtr6Q_);
TM__YGOrctedenU9ao6jM7xmy6g_0[57].name = "kind";
TM__YGOrctedenU9ao6jM7xmy6g_0[57].sons = &NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[0];
TM__YGOrctedenU9ao6jM7xmy6g_0[57].len = 33;
TM__YGOrctedenU9ao6jM7xmy6g_0[92].len = 0; TM__YGOrctedenU9ao6jM7xmy6g_0[92].kind = 2;
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[0] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[1] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[2] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[3] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[4] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[5] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[6] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[7] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[8] = &TM__YGOrctedenU9ao6jM7xmy6g_0[92];
TM__YGOrctedenU9ao6jM7xmy6g_0[93].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[93].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, term);
TM__YGOrctedenU9ao6jM7xmy6g_0[93].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__YGOrctedenU9ao6jM7xmy6g_0[93].name = "term";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[9] = &TM__YGOrctedenU9ao6jM7xmy6g_0[93];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[10] = &TM__YGOrctedenU9ao6jM7xmy6g_0[93];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[11] = &TM__YGOrctedenU9ao6jM7xmy6g_0[93];
TM__YGOrctedenU9ao6jM7xmy6g_0[94].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[94].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, ch);
TM__YGOrctedenU9ao6jM7xmy6g_0[94].typ = (&NTI__nmiMWKVIe46vacnhAFrQvw_);
TM__YGOrctedenU9ao6jM7xmy6g_0[94].name = "ch";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[12] = &TM__YGOrctedenU9ao6jM7xmy6g_0[94];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[18] = &TM__YGOrctedenU9ao6jM7xmy6g_0[94];
NTI__DWDl83X3sWmMXGYAzF5Aug_.size = sizeof(NU8*);
NTI__DWDl83X3sWmMXGYAzF5Aug_.align = NIM_ALIGNOF(NU8*);
NTI__DWDl83X3sWmMXGYAzF5Aug_.kind = 22;
NTI__DWDl83X3sWmMXGYAzF5Aug_.base = (&NTI__HDqWPvEAxZK51ZcfaeQEdg_);
NTI__DWDl83X3sWmMXGYAzF5Aug_.flags = 2;
NTI__DWDl83X3sWmMXGYAzF5Aug_.marker = Marker_tyRef__DWDl83X3sWmMXGYAzF5Aug;
TM__YGOrctedenU9ao6jM7xmy6g_0[95].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[95].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, charChoice);
TM__YGOrctedenU9ao6jM7xmy6g_0[95].typ = (&NTI__DWDl83X3sWmMXGYAzF5Aug_);
TM__YGOrctedenU9ao6jM7xmy6g_0[95].name = "charChoice";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[13] = &TM__YGOrctedenU9ao6jM7xmy6g_0[95];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[19] = &TM__YGOrctedenU9ao6jM7xmy6g_0[95];
TM__YGOrctedenU9ao6jM7xmy6g_0[96].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[96].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, nt);
TM__YGOrctedenU9ao6jM7xmy6g_0[96].typ = (&NTI__ne9c8mGWiMWXBIOmu9cRFBTw_);
TM__YGOrctedenU9ao6jM7xmy6g_0[96].name = "nt";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[14] = &TM__YGOrctedenU9ao6jM7xmy6g_0[96];
TM__YGOrctedenU9ao6jM7xmy6g_0[97].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[97].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, index);
TM__YGOrctedenU9ao6jM7xmy6g_0[97].typ = (&NTI__a9bIsIkdQvQMv0xYGrfgSag_);
TM__YGOrctedenU9ao6jM7xmy6g_0[97].name = "index";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[25] = &TM__YGOrctedenU9ao6jM7xmy6g_0[97];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[26] = &TM__YGOrctedenU9ao6jM7xmy6g_0[97];
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[27] = &TM__YGOrctedenU9ao6jM7xmy6g_0[97];
NTI__5DSB9bTgCQCsIApS5TVlG8g_.size = sizeof(tySequence__5DSB9bTgCQCsIApS5TVlG8g*);
NTI__5DSB9bTgCQCsIApS5TVlG8g_.align = NIM_ALIGNOF(tySequence__5DSB9bTgCQCsIApS5TVlG8g*);
NTI__5DSB9bTgCQCsIApS5TVlG8g_.kind = 24;
NTI__5DSB9bTgCQCsIApS5TVlG8g_.base = (&NTI__4Bytir9b2lq5I84yi5O7ztQ_);
NTI__5DSB9bTgCQCsIApS5TVlG8g_.marker = Marker_tySequence__5DSB9bTgCQCsIApS5TVlG8g;
TM__YGOrctedenU9ao6jM7xmy6g_0[98].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[98].offset = offsetof(tyObject_Peg__4Bytir9b2lq5I84yi5O7ztQ, sons);
TM__YGOrctedenU9ao6jM7xmy6g_0[98].typ = (&NTI__5DSB9bTgCQCsIApS5TVlG8g_);
TM__YGOrctedenU9ao6jM7xmy6g_0[98].name = "sons";
NimDT___4Bytir9b2lq5I84yi5O7ztQ_kind[33] = &TM__YGOrctedenU9ao6jM7xmy6g_0[98];
NTI__4Bytir9b2lq5I84yi5O7ztQ_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[57];
TM__YGOrctedenU9ao6jM7xmy6g_0[56].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[56].offset = offsetof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA, rule);
TM__YGOrctedenU9ao6jM7xmy6g_0[56].typ = (&NTI__4Bytir9b2lq5I84yi5O7ztQ_);
TM__YGOrctedenU9ao6jM7xmy6g_0[56].name = "rule";
TM__YGOrctedenU9ao6jM7xmy6g_0[47].len = 5; TM__YGOrctedenU9ao6jM7xmy6g_0[47].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[47].sons = &TM__YGOrctedenU9ao6jM7xmy6g_11_5[0];
NTI__VMn2tGRm8B9a9cqMEec3KPEA_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[47];
NTI__ne9c8mGWiMWXBIOmu9cRFBTw_.size = sizeof(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*);
NTI__ne9c8mGWiMWXBIOmu9cRFBTw_.align = NIM_ALIGNOF(tyObject_NonTerminalObj__VMn2tGRm8B9a9cqMEec3KPEA*);
NTI__ne9c8mGWiMWXBIOmu9cRFBTw_.kind = 22;
NTI__ne9c8mGWiMWXBIOmu9cRFBTw_.base = (&NTI__VMn2tGRm8B9a9cqMEec3KPEA_);
NTI__ne9c8mGWiMWXBIOmu9cRFBTw_.marker = Marker_tyRef__ne9c8mGWiMWXBIOmu9cRFBTw;
NTI__wbtGjaWHe0od6j1oiCOVBQ_.size = sizeof(tySequence__wbtGjaWHe0od6j1oiCOVBQ*);
NTI__wbtGjaWHe0od6j1oiCOVBQ_.align = NIM_ALIGNOF(tySequence__wbtGjaWHe0od6j1oiCOVBQ*);
NTI__wbtGjaWHe0od6j1oiCOVBQ_.kind = 24;
NTI__wbtGjaWHe0od6j1oiCOVBQ_.base = (&NTI__ne9c8mGWiMWXBIOmu9cRFBTw_);
NTI__wbtGjaWHe0od6j1oiCOVBQ_.flags = 2;
NTI__wbtGjaWHe0od6j1oiCOVBQ_.marker = Marker_tySequence__wbtGjaWHe0od6j1oiCOVBQ;
TM__YGOrctedenU9ao6jM7xmy6g_0[46].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[46].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, nonterms);
TM__YGOrctedenU9ao6jM7xmy6g_0[46].typ = (&NTI__wbtGjaWHe0od6j1oiCOVBQ_);
TM__YGOrctedenU9ao6jM7xmy6g_0[46].name = "nonterms";
TM__YGOrctedenU9ao6jM7xmy6g_3_6[2] = &TM__YGOrctedenU9ao6jM7xmy6g_0[99];
TM__YGOrctedenU9ao6jM7xmy6g_0[99].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[99].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, modifier);
TM__YGOrctedenU9ao6jM7xmy6g_0[99].typ = (&NTI__7Wz82JmsepInwCEDiPsupA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[99].name = "modifier";
TM__YGOrctedenU9ao6jM7xmy6g_3_6[3] = &TM__YGOrctedenU9ao6jM7xmy6g_0[100];
TM__YGOrctedenU9ao6jM7xmy6g_0[100].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[100].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, captures);
TM__YGOrctedenU9ao6jM7xmy6g_0[100].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__YGOrctedenU9ao6jM7xmy6g_0[100].name = "captures";
TM__YGOrctedenU9ao6jM7xmy6g_3_6[4] = &TM__YGOrctedenU9ao6jM7xmy6g_0[101];
TM__YGOrctedenU9ao6jM7xmy6g_0[101].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[101].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, identIsVerbatim);
TM__YGOrctedenU9ao6jM7xmy6g_0[101].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__YGOrctedenU9ao6jM7xmy6g_0[101].name = "identIsVerbatim";
TM__YGOrctedenU9ao6jM7xmy6g_3_6[5] = &TM__YGOrctedenU9ao6jM7xmy6g_0[102];
TM__YGOrctedenU9ao6jM7xmy6g_0[102].kind = 1;
TM__YGOrctedenU9ao6jM7xmy6g_0[102].offset = offsetof(tyObject_PegParser__YGbAG2ONLZxyHsgzU1OeCg, skip);
TM__YGOrctedenU9ao6jM7xmy6g_0[102].typ = (&NTI__4Bytir9b2lq5I84yi5O7ztQ_);
TM__YGOrctedenU9ao6jM7xmy6g_0[102].name = "skip";
TM__YGOrctedenU9ao6jM7xmy6g_0[7].len = 6; TM__YGOrctedenU9ao6jM7xmy6g_0[7].kind = 2; TM__YGOrctedenU9ao6jM7xmy6g_0[7].sons = &TM__YGOrctedenU9ao6jM7xmy6g_3_6[0];
NTI__YGbAG2ONLZxyHsgzU1OeCg_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[7];
NTI__puU8NKFnFhXREunnzDo9bUA_.size = sizeof(tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA);
NTI__puU8NKFnFhXREunnzDo9bUA_.align = NIM_ALIGNOF(tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA);
NTI__puU8NKFnFhXREunnzDo9bUA_.kind = 17;
NTI__puU8NKFnFhXREunnzDo9bUA_.base = (&NTI__yoNlBGx0D2tRizIdhQuENw_);
TM__YGOrctedenU9ao6jM7xmy6g_0[103].len = 0; TM__YGOrctedenU9ao6jM7xmy6g_0[103].kind = 2;
NTI__puU8NKFnFhXREunnzDo9bUA_.node = &TM__YGOrctedenU9ao6jM7xmy6g_0[103];
NTI__9cnKZRDpncoV9cvYmm9cA6N5A_.size = sizeof(tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA*);
NTI__9cnKZRDpncoV9cvYmm9cA6N5A_.align = NIM_ALIGNOF(tyObject_EInvalidPeg__puU8NKFnFhXREunnzDo9bUA*);
NTI__9cnKZRDpncoV9cvYmm9cA6N5A_.kind = 22;
NTI__9cnKZRDpncoV9cvYmm9cA6N5A_.base = (&NTI__puU8NKFnFhXREunnzDo9bUA_);
NTI__9cnKZRDpncoV9cvYmm9cA6N5A_.marker = Marker_tyRef__9cnKZRDpncoV9cvYmm9cA6N5A;
}

