/* Generated by Nim Compiler v0.10.2 */
/*   (c) 2014 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32
#include "nimbase.h"

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#include <setjmp.h>
typedef struct table195576 table195576;
typedef struct keyvaluepairseq195579 keyvaluepairseq195579;
typedef struct keyvaluepair195582 keyvaluepair195582;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct TY195621 TY195621;
typedef struct tfileinfo195537 tfileinfo195537;
typedef struct trope177009 trope177009;
typedef struct TY195552 TY195552;
typedef struct tcell45135 tcell45135;
typedef struct tcellseq45151 tcellseq45151;
typedef struct tgcheap47216 tgcheap47216;
typedef struct tcellset45147 tcellset45147;
typedef struct tpagedesc45143 tpagedesc45143;
typedef struct tmemregion27410 tmemregion27410;
typedef struct tsmallchunk26640 tsmallchunk26640;
typedef struct tllchunk27404 tllchunk27404;
typedef struct tbigchunk26642 tbigchunk26642;
typedef struct tintset26617 tintset26617;
typedef struct ttrunk26613 ttrunk26613;
typedef struct tavlnode27408 tavlnode27408;
typedef struct tgcstat47214 tgcstat47214;
typedef struct tlineinfo195539 tlineinfo195539;
typedef struct tsocketimpl182607 tsocketimpl182607;
typedef struct TY196414 TY196414;
typedef struct TY120008 TY120008;
typedef struct erecoverableerror195545 erecoverableerror195545;
typedef struct valueerror3249 valueerror3249;
typedef struct Exception Exception;
typedef struct TNimObject TNimObject;
typedef struct slice197873 slice197873;
typedef struct TSafePoint TSafePoint;
typedef struct TY84945 TY84945;
typedef struct esuggestdone195547 esuggestdone195547;
typedef struct tbasechunk26638 tbasechunk26638;
typedef struct tfreecell26630 tfreecell26630;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct keyvaluepair195582 {
NU8 Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct  table195576  {
keyvaluepairseq195579* Data;
NI Counter;
};
typedef N_NIMCALL_PTR(void, TY3089) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, TY3094) (void* p);
struct  TNimType  {
NI size;
NU8 kind;
NU8 flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY3089 marker;
TY3094 deepcopy;
};
struct  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  tfileinfo195537  {
NimStringDesc* Fullpath;
NimStringDesc* Projpath;
NimStringDesc* Shortname;
trope177009* Quotedname;
TY195552* Lines;
};
struct  tcell45135  {
NI Refcount;
TNimType* Typ;
};
struct  tcellseq45151  {
NI Len;
NI Cap;
tcell45135** D;
};
struct  tcellset45147  {
NI Counter;
NI Max;
tpagedesc45143* Head;
tpagedesc45143** Data;
};
typedef tsmallchunk26640* TY27422[512];
typedef ttrunk26613* ttrunkbuckets26615[256];
struct  tintset26617  {
ttrunkbuckets26615 Data;
};
struct  tmemregion27410  {
NI Minlargeobj;
NI Maxlargeobj;
TY27422 Freesmallchunks;
tllchunk27404* Llmem;
NI Currmem;
NI Maxmem;
NI Freemem;
NI Lastsize;
tbigchunk26642* Freechunkslist;
tintset26617 Chunkstarts;
tavlnode27408* Root;
tavlnode27408* Deleted;
tavlnode27408* Last;
tavlnode27408* Freeavlnodes;
};
struct  tgcstat47214  {
NI Stackscans;
NI Cyclecollections;
NI Maxthreshold;
NI Maxstacksize;
NI Maxstackcells;
NI Cycletablesize;
NI64 Maxpause;
};
struct  tgcheap47216  {
void* Stackbottom;
NI Cyclethreshold;
tcellseq45151 Zct;
tcellseq45151 Decstack;
tcellset45147 Cycleroots;
tcellseq45151 Tempstack;
NI Recgclock;
tmemregion27410 Region;
tgcstat47214 Stat;
};
struct  tlineinfo195539  {
NI16 Line;
NI16 Col;
NI32 Fileindex;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NU8 err, NimStringDesc* msg, NIM_BOOL usewarning, void* ClEnv);
void* ClEnv;
} TY177138;
typedef NimStringDesc* TY197301[1];
typedef NimStringDesc* TY197620[4];
typedef NimStringDesc* TY195486[276];
struct  TNimObject  {
TNimType* m_type;
};
struct  Exception  {
  TNimObject Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
NimStringDesc* trace;
};
struct  valueerror3249  {
  Exception Sup;
};
struct  erecoverableerror195545  {
  valueerror3249 Sup;
};
typedef N_CLOSURE_PTR(void, TMP433) (NU8 err, NimStringDesc* msg, NIM_BOOL usewarning, void* ClEnv);
struct  slice197873  {
NU16 A;
NU16 B;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e, void* ClEnv);
void* ClEnv;
} TY15009;
struct  TSafePoint  {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
TY15009 raiseAction;
};
struct TY84945 {
NimStringDesc* Field0;
NI Field1;
};
struct  esuggestdone195547  {
  Exception Sup;
};
struct  trope177009  {
  TNimObject Sup;
trope177009* Left;
trope177009* Right;
NI Length;
NimStringDesc* Data;
};
typedef NI TY26620[16];
struct  tpagedesc45143  {
tpagedesc45143* Next;
NI Key;
TY26620 Bits;
};
struct  tbasechunk26638  {
NI Prevsize;
NI Size;
NIM_BOOL Used;
};
struct  tsmallchunk26640  {
  tbasechunk26638 Sup;
tsmallchunk26640* Next;
tsmallchunk26640* Prev;
tfreecell26630* Freelist;
NI Free;
NI Acc;
NF Data;
};
struct  tllchunk27404  {
NI Size;
NI Acc;
tllchunk27404* Next;
};
struct  tbigchunk26642  {
  tbasechunk26638 Sup;
tbigchunk26642* Next;
tbigchunk26642* Prev;
NI Align;
NF Data;
};
struct  ttrunk26613  {
ttrunk26613* Next;
NI Key;
TY26620 Bits;
};
typedef tavlnode27408* TY27414[2];
struct  tavlnode27408  {
TY27414 Link;
NI Key;
NI Upperbound;
NI Level;
};
typedef NIM_CHAR TY182632[4001];
struct  tsocketimpl182607  {
int Fd;
NIM_BOOL Isbuffered;
union {
struct {TY182632 Buffer;
NI Currpos;
NI Buflen;
} S1;
} isbufferedU;
NIM_BOOL Nonblocking;
};
struct  tfreecell26630  {
tfreecell26630* Next;
NI Zerofield;
};
struct keyvaluepairseq195579 {
  TGenericSeq Sup;
  keyvaluepair195582 data[SEQ_DECL_SIZE];
};
struct TY195552 {
  TGenericSeq Sup;
  trope177009* data[SEQ_DECL_SIZE];
};
struct TY195621 {
  TGenericSeq Sup;
  tfileinfo195537 data[SEQ_DECL_SIZE];
};
struct TY196414 {
  TGenericSeq Sup;
  tlineinfo195539 data[SEQ_DECL_SIZE];
};
struct TY120008 {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, inittable_195568)(NI initialsize_195573, table195576* Result);
N_NOINLINE(void, chckNil)(void* p);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
N_NIMCALL(void, TMP139)(void* p, NI op);
N_NIMCALL(void, TMP140)(void* p, NI op);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(tcell45135*, usrtocell_48846)(void* usr);
static N_INLINE(void, rtladdzct_50404)(tcell45135* c);
N_NOINLINE(void, addzct_48817)(tcellseq45151* s, tcell45135* c);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_NIMCALL(void, newfileinfo_195702)(NimStringDesc* fullpath, NimStringDesc* projpath, tfileinfo195537* Result);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_NIMCALL(trope177009*, makecstring_195659)(NimStringDesc* s);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_NIMCALL(void, app_177052)(trope177009** a, trope177009* b);
N_NIMCALL(trope177009*, torope_177076)(NimStringDesc* s);
N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newlen);
N_NIMCALL(NimStringDesc*, tocchar_195649)(NIM_CHAR c);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, nsuToOctal)(NIM_CHAR c);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(TGenericSeq*, incrSeq)(TGenericSeq* seq, NI elemsize);
N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_NIMCALL(tlineinfo195539, newlineinfo_196129)(NI32 fileinfoidx, NI line, NI col);
N_NIMCALL(void, TMP147)(void* p, NI op);
N_NIMCALL(tlineinfo195539, unknownlineinfo_196405)(void);
N_NIMCALL(void, HEX3Aanonymous_198195)(NU8 err, NimStringDesc* msg, NIM_BOOL usewarning);
N_NIMCALL(void, internalerror_198006)(NimStringDesc* errmsg);
N_NIMCALL(void, writecontext_197590)(tlineinfo195539 lastinfo);
N_NIMCALL(NIM_BOOL, HEX3DHEX3D_197579)(tlineinfo195539 a, tlineinfo195539 b);
N_NIMCALL(void, msgwriteln_197236)(NimStringDesc* s);
static N_INLINE(void, writeln_170205)(FILE* f_170209, NimStringDesc** x_170213, NI x_170213Len0);
N_NIMCALL(void, write_13065)(FILE* f, NimStringDesc* s);
N_NIMCALL(void, safeadd_196660)(TY120008** x_196668, NimStringDesc* y_196672);
N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen0);
N_NIMCALL(NimStringDesc*, tomsgfilename_197061)(tlineinfo195539 info);
N_NIMCALL(NimStringDesc*, coordtostr_197368)(NI coord);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_NIMCALL(NimStringDesc*, getmessagestr_197388)(NU16 msg, NimStringDesc* arg);
N_NIMCALL(NimStringDesc*, msgkindtostring_197378)(NU16 kind);
N_NIMCALL(void, rawmessage_197733)(NU16 msg, NimStringDesc* arg);
N_NIMCALL(void, rawmessage_197643)(NU16 msg, NimStringDesc** args, NI argsLen0);
N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_NIMCALL(void, handleerror_197459)(NU16 msg, NU8 eh, NimStringDesc* s);
N_NIMCALL(void, writestacktrace_15806)(void);
N_NOINLINE(void, raiserecoverableerror_196247)(NimStringDesc* msg);
N_NIMCALL(void, TMP430)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
N_NIMCALL(void, raiseException)(Exception* e, NCSTRING ename);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incref_51225)(tcell45135* c);
static N_INLINE(NIM_BOOL, canbecycleroot_48867)(tcell45135* c);
static N_INLINE(void, rtladdcycleroot_49629)(tcell45135* c);
N_NOINLINE(void, incl_45871)(tcellset45147* s, tcell45135* cell);
static N_INLINE(void, decref_50804)(tcell45135* c);
N_NIMCALL(void, limessage_197774)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg, NU8 eh);
static N_INLINE(NIM_BOOL, contains_197884)(slice197873 s_197890, NU16 value_197893);
static N_INLINE(slice197873, HEX2EHEX2E_197864)(NU16 a_197868, NU16 b_197870);
N_NIMCALL(void, writesurroundingsrc_197747)(tlineinfo195539 info);
N_NIMCALL(NimStringDesc*, ropetostr_177101)(trope177009* p);
N_NIMCALL(trope177009*, sourceline_196277)(tlineinfo195539 i);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_NIMCALL(NimStringDesc*, tofullpath_197037)(NI32 fileidx);
N_NIMCALL(FILE*, open_12817)(NimStringDesc* filename, NU8 mode, NI bufsize);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_NIMCALL(NIM_BOOL, readline_13089)(FILE* f, NimStringDesc** line);
N_NIMCALL(void, addsourceline_198042)(NI32 fileidx, NimStringDesc* line);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
static N_INLINE(void, popSafePoint)(void);
N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, getCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_NIMCALL(void, reraiseException)(void);
N_NIMCALL(NimStringDesc*, HEX24_198126)(TY84945 x_198130);
N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NI count, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, canonicalizepath_169390)(NimStringDesc* path);
static N_INLINE(void, shallow_85624)(NimStringDesc** s_85627);
N_NIMCALL(NIM_BOOL, haskey_195756)(table195576 t_195763, NimStringDesc* key_195766);
N_NIMCALL(NI32, HEX5BHEX5D_195817)(table195576 t_195824, NimStringDesc* key_195827);
N_NIMCALL(NimStringDesc*, shortendir_169407)(NimStringDesc* dir);
N_NIMCALL(void, HEX5BHEX5DHEX3D_195879)(table195576* t_195888, NimStringDesc* key_195892, NI32 val_195894);
N_NIMCALL(void, send_192808)(tsocketimpl182607* socket, NimStringDesc* data);
N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq, NI elemsize, NI newlen);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src_79804, TNimType* mt);
N_NIMCALL(void, TMP2695)(void* p, NI op);
STRING_LITERAL(TMP142, "", 0);
STRING_LITERAL(TMP143, "\"", 1);
STRING_LITERAL(TMP144, "command line", 12);
STRING_LITERAL(TMP145, "compilation artifact", 20);
STRING_LITERAL(TMP150, "\012", 1);
STRING_LITERAL(TMP152, "$1($2, $3) Info: $4", 19);
STRING_LITERAL(TMP153, "???", 3);
STRING_LITERAL(TMP154, "unknown error", 13);
STRING_LITERAL(TMP155, "illformed AST: $1", 17);
STRING_LITERAL(TMP156, "internal error: $1", 18);
STRING_LITERAL(TMP157, "cannot open \'$1\'", 16);
STRING_LITERAL(TMP158, "$1", 2);
STRING_LITERAL(TMP159, "\'$1\' compiler does not support C++", 34);
STRING_LITERAL(TMP160, "string literal expected", 23);
STRING_LITERAL(TMP161, "integer literal expected", 24);
STRING_LITERAL(TMP162, "invalid character constant", 26);
STRING_LITERAL(TMP163, "closing \"\"\" expected, but end of file reached", 45);
STRING_LITERAL(TMP164, "closing \" expected", 18);
STRING_LITERAL(TMP165, "tabulators are not allowed", 26);
STRING_LITERAL(TMP166, "invalid token: $1", 17);
STRING_LITERAL(TMP167, "line too long", 13);
STRING_LITERAL(TMP168, "$1 is not a valid number", 24);
STRING_LITERAL(TMP169, "number $1 out of valid range", 28);
STRING_LITERAL(TMP170, "\\n not allowed in character literal", 35);
STRING_LITERAL(TMP171, "closing \']\' expected, but end of file reached", 45);
STRING_LITERAL(TMP172, "missing final \' for character literal", 37);
STRING_LITERAL(TMP173, "identifier expected, but found \'$1\'", 35);
STRING_LITERAL(TMP174, "newline expected, but found \'$1\'", 32);
STRING_LITERAL(TMP175, "invalid module name: \'$1\'", 25);
STRING_LITERAL(TMP176, "operator expected, but found \'$1\'", 33);
STRING_LITERAL(TMP177, "\'$1\' expected", 13);
STRING_LITERAL(TMP178, "string after \'include\' expected", 31);
STRING_LITERAL(TMP179, "recursive dependency: \'$1\'", 26);
STRING_LITERAL(TMP180, "\'on\' or \'off\' expected", 22);
STRING_LITERAL(TMP181, "\'none\', \'speed\' or \'size\' expected", 34);
STRING_LITERAL(TMP182, "invalid pragma", 14);
STRING_LITERAL(TMP183, "unknown pragma: \'$1\'", 20);
STRING_LITERAL(TMP184, "invalid directive: \'$1\'", 23);
STRING_LITERAL(TMP185, "\'pop\' without a \'push\' pragma", 29);
STRING_LITERAL(TMP186, "empty asm statement", 19);
STRING_LITERAL(TMP187, "invalid indentation", 19);
STRING_LITERAL(TMP188, "exception expected", 18);
STRING_LITERAL(TMP189, "exception already handled", 25);
STRING_LITERAL(TMP190, "\'yield\' only allowed in an iterator", 35);
STRING_LITERAL(TMP191, "\'yield\' cannot be used within \'try\' in a non-inlined iterator", 61);
STRING_LITERAL(TMP192, "invalid number of \'yield\' expressions", 37);
STRING_LITERAL(TMP193, "current routine cannot return an expression", 43);
STRING_LITERAL(TMP194, "redefinition of \'$1\'", 20);
STRING_LITERAL(TMP195, "statement not allowed after \'return\', \'break\', \'raise\' or \'cont"
"inue\'", 68);
STRING_LITERAL(TMP196, "statement expected", 18);
STRING_LITERAL(TMP197, "\'$1\' is no label", 16);
STRING_LITERAL(TMP198, "invalid command line option: \'$1\'", 33);
STRING_LITERAL(TMP199, "argument for command line option expected: \'$1\'", 47);
STRING_LITERAL(TMP200, "invalid argument for command line option: \'$1\'", 46);
STRING_LITERAL(TMP201, "invalid variable substitution in \'$1\'", 37);
STRING_LITERAL(TMP202, "unknown variable: \'$1\'", 22);
STRING_LITERAL(TMP203, "unknown C compiler: \'$1\'", 24);
STRING_LITERAL(TMP204, "\'on\' or \'off\' expected, but \'$1\' found", 38);
STRING_LITERAL(TMP205, "\'none\', \'boehm\' or \'refc\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP206, "\'none\', \'speed\' or \'size\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP207, "\'gui\', \'console\' or \'lib\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP208, "unknown OS: \'$1\'", 16);
STRING_LITERAL(TMP209, "unknown CPU: \'$1\'", 17);
STRING_LITERAL(TMP210, "\'c\', \'c++\' or \'yaml\' expected, but \'$1\' found", 45);
STRING_LITERAL(TMP211, "arguments can only be given if the \'--run\' option is selected", 61);
STRING_LITERAL(TMP212, "multiple assignment is not allowed", 34);
STRING_LITERAL(TMP213, "\':\' or \'=\' expected, but found \'$1\'", 35);
STRING_LITERAL(TMP214, "expression expected, but found \'$1\'", 35);
STRING_LITERAL(TMP215, "undeclared identifier: \'$1\'", 27);
STRING_LITERAL(TMP216, "ambiguous identifier: \'$1\' -- use a qualifier", 45);
STRING_LITERAL(TMP217, "type expected", 13);
STRING_LITERAL(TMP218, "system module needs \'$1\'", 24);
STRING_LITERAL(TMP219, "execution of an external program failed", 39);
STRING_LITERAL(TMP220, "overloaded \'$1\' leads to ambiguous calls", 40);
STRING_LITERAL(TMP221, "invalid argument for \'$1\'", 25);
STRING_LITERAL(TMP222, "statement has no effect", 23);
STRING_LITERAL(TMP223, "\'$1\' expects a type or value", 28);
STRING_LITERAL(TMP224, "\'$1\' expects an array type", 26);
STRING_LITERAL(TMP225, "\'$1\' cannot be instantiated because its body has not been compi"
"led yet", 70);
STRING_LITERAL(TMP226, "expression \'$1\' ambiguous in this context", 41);
STRING_LITERAL(TMP227, "division by zero", 16);
STRING_LITERAL(TMP228, "ordinal type expected", 21);
STRING_LITERAL(TMP229, "ordinal or float type expected", 30);
STRING_LITERAL(TMP230, "over- or underflow", 18);
STRING_LITERAL(TMP231, "cannot evalutate \'$1\' because type is not defined completely", 60);
STRING_LITERAL(TMP232, "\'chr\' expects an int in the range 0..255", 40);
STRING_LITERAL(TMP233, "\'dynlib\' requires \'exportc\'", 27);
STRING_LITERAL(TMP234, "undeclared field: \'$1\'", 22);
STRING_LITERAL(TMP235, "attempt to access a nil address", 31);
STRING_LITERAL(TMP236, "index out of bounds", 19);
STRING_LITERAL(TMP237, "index types do not match", 24);
STRING_LITERAL(TMP238, "\'[]\' operator invalid for this type", 35);
STRING_LITERAL(TMP239, "value out of set bounds", 23);
STRING_LITERAL(TMP240, "field initialized twice: \'$1\'", 29);
STRING_LITERAL(TMP241, "field \'$1\' not initialized", 26);
STRING_LITERAL(TMP242, "expression \'$1\' cannot be called", 32);
STRING_LITERAL(TMP243, "expression has no type", 22);
STRING_LITERAL(TMP244, "expression \'$1\' has no type (or is ambiguous)", 45);
STRING_LITERAL(TMP245, "\'cast\' not allowed in safe mode", 31);
STRING_LITERAL(TMP246, "expression cannot be casted to $1", 33);
STRING_LITERAL(TMP247, "\',\' or \')\' expected", 19);
STRING_LITERAL(TMP248, "\'{\' or \'(\' expected", 19);
STRING_LITERAL(TMP249, "section (\'type\', \'proc\', etc.) expected", 39);
STRING_LITERAL(TMP250, "range expected", 14);
STRING_LITERAL(TMP251, "\'magic\' only allowed in system module", 37);
STRING_LITERAL(TMP252, "power of two expected", 21);
STRING_LITERAL(TMP253, "string literal may not be empty", 31);
STRING_LITERAL(TMP254, "calling convention expected", 27);
STRING_LITERAL(TMP255, "a proc can only have one calling convention", 43);
STRING_LITERAL(TMP256, "symbol must be imported if \'lib\' pragma is used", 47);
STRING_LITERAL(TMP257, "expression must be of type \'bool\'", 33);
STRING_LITERAL(TMP258, "constant expression expected", 28);
STRING_LITERAL(TMP259, "duplicate case label", 20);
STRING_LITERAL(TMP260, "range is empty", 14);
STRING_LITERAL(TMP261, "selector must be of an ordinal type, float or string", 52);
STRING_LITERAL(TMP262, "selector must be of an ordinal type", 35);
STRING_LITERAL(TMP263, "ord($1) must not be negative", 28);
STRING_LITERAL(TMP264, "len($1) must be less than 32768", 31);
STRING_LITERAL(TMP265, "wrong number of variables", 25);
STRING_LITERAL(TMP266, "only a \'ref object\' can be raised", 33);
STRING_LITERAL(TMP267, "\'break\' only allowed in loop construct", 38);
STRING_LITERAL(TMP268, "type \'$1\' has unknown size", 26);
STRING_LITERAL(TMP269, "a constant can only be initialized with a constant expression", 61);
STRING_LITERAL(TMP270, "a constant needs a value", 24);
STRING_LITERAL(TMP271, "the result type cannot be on open array", 39);
STRING_LITERAL(TMP272, "computing the type\'s size produced an overflow", 46);
STRING_LITERAL(TMP273, "set is too large", 16);
STRING_LITERAL(TMP274, "base type of a set must be an ordinal", 37);
STRING_LITERAL(TMP275, "inheritance only works with non-final objects", 45);
STRING_LITERAL(TMP276, "inheritance only works with an enum", 35);
STRING_LITERAL(TMP277, "illegal recursion in type \'$1\'", 30);
STRING_LITERAL(TMP278, "cannot instantiate: \'$1\'", 24);
STRING_LITERAL(TMP279, "expression has no address", 25);
STRING_LITERAL(TMP280, "address of \'$1\' may not escape its stack frame", 46);
STRING_LITERAL(TMP281, "for a \'var\' type a variable needs to be passed", 46);
STRING_LITERAL(TMP282, "type mismatch", 13);
STRING_LITERAL(TMP283, "type mismatch: got (", 20);
STRING_LITERAL(TMP284, "but expected one of: ", 21);
STRING_LITERAL(TMP285, "but expected \'$1\'", 17);
STRING_LITERAL(TMP286, "ambiguous call; both $1 and $2 match for: $3", 44);
STRING_LITERAL(TMP287, "wrong number of arguments", 25);
STRING_LITERAL(TMP288, "\'$1\' cannot be passed to a procvar", 34);
STRING_LITERAL(TMP289, "$1 cannot be declared in parameter declaration", 46);
STRING_LITERAL(TMP290, "pragmas are only allowed in the header of a proc", 48);
STRING_LITERAL(TMP291, "implementation of \'$1\' is not allowed", 37);
STRING_LITERAL(TMP292, "implementation of \'$1\' expected", 31);
STRING_LITERAL(TMP293, "no symbol to borrow from found", 30);
STRING_LITERAL(TMP294, "value of type \'$1\' has to be discarded", 38);
STRING_LITERAL(TMP295, "statement returns no value that can be discarded", 48);
STRING_LITERAL(TMP296, "conversion from $1 to $2 is invalid", 35);
STRING_LITERAL(TMP297, "cannot bind parameter \'$1\' twice", 32);
STRING_LITERAL(TMP298, "invalid order in array constructor", 34);
STRING_LITERAL(TMP299, "invalid order in enum \'$1\'", 26);
STRING_LITERAL(TMP300, "enum \'$1\' has holes", 19);
STRING_LITERAL(TMP301, "\'except\' or \'finally\' expected", 30);
STRING_LITERAL(TMP302, "after catch all \'except\' or \'finally\' no section may follow", 59);
STRING_LITERAL(TMP303, "option expected, but found \'$1\'", 31);
STRING_LITERAL(TMP304, "\'$1\' is not a label", 19);
STRING_LITERAL(TMP305, "not all cases are covered", 25);
STRING_LITERAL(TMP306, "unknown substitution variable: \'$1\'", 35);
STRING_LITERAL(TMP307, "complex statement requires indentation", 38);
STRING_LITERAL(TMP308, "\'$1\' is not callable", 20);
STRING_LITERAL(TMP309, "no pragmas allowed for $1", 25);
STRING_LITERAL(TMP310, "no generic parameters allowed for $1", 36);
STRING_LITERAL(TMP311, "invalid param kind: \'$1\'", 24);
STRING_LITERAL(TMP312, "default argument invalid", 24);
STRING_LITERAL(TMP313, "named parameter has to be an identifier", 39);
STRING_LITERAL(TMP314, "no return type allowed for $1", 29);
STRING_LITERAL(TMP315, "a type conversion needs exactly one argument", 44);
STRING_LITERAL(TMP316, "invalid pragma: $1", 18);
STRING_LITERAL(TMP317, "$1 not allowed here", 19);
STRING_LITERAL(TMP318, "invalid control flow: $1", 24);
STRING_LITERAL(TMP319, "invalid type: \'$1\'", 18);
STRING_LITERAL(TMP320, "\'[]\' needs a pointer or reference type", 38);
STRING_LITERAL(TMP321, "invalid expression", 18);
STRING_LITERAL(TMP322, "invalid expression: \'$1\'", 24);
STRING_LITERAL(TMP323, "enum has no value \'$1\'", 22);
STRING_LITERAL(TMP324, "named expression expected", 25);
STRING_LITERAL(TMP325, "named expression not allowed here", 33);
STRING_LITERAL(TMP326, "\'$1\' expects one type parameter", 31);
STRING_LITERAL(TMP327, "array expects two type parameters", 33);
STRING_LITERAL(TMP328, "invalid visibility: \'$1\'", 24);
STRING_LITERAL(TMP329, "initialization not allowed here", 31);
STRING_LITERAL(TMP330, "\'$1\' cannot be assigned to", 26);
STRING_LITERAL(TMP331, "iterators can only be defined at the module\'s top level", 55);
STRING_LITERAL(TMP332, "$1 needs a return type", 22);
STRING_LITERAL(TMP333, "no return type declared", 23);
STRING_LITERAL(TMP334, "invalid command: \'$1\'", 21);
STRING_LITERAL(TMP335, "\'$1\' is only allowed at top level", 33);
STRING_LITERAL(TMP336, "\'$1\' needs a parameter that has an object type", 46);
STRING_LITERAL(TMP337, "template/macro instantiation too nested", 39);
STRING_LITERAL(TMP338, "instantiation from here", 23);
STRING_LITERAL(TMP339, "invalid index value for tuple subscript", 39);
STRING_LITERAL(TMP340, "command expects a filename argument", 35);
STRING_LITERAL(TMP341, "please, specify a main module in the project configuration file", 63);
STRING_LITERAL(TMP342, "\'$1\' is not a concrete type.", 28);
STRING_LITERAL(TMP343, "invalid section start", 21);
STRING_LITERAL(TMP344, "grid table is not implemented", 29);
STRING_LITERAL(TMP345, "general parse error", 19);
STRING_LITERAL(TMP346, "new section expected", 20);
STRING_LITERAL(TMP347, "whitespace expected, got \'$1\'", 29);
STRING_LITERAL(TMP348, "\'$1\' is no valid index file", 27);
STRING_LITERAL(TMP349, "cannot render reStructuredText element \'$1\'", 43);
STRING_LITERAL(TMP350, "type \'var var\' is not allowed", 29);
STRING_LITERAL(TMP351, "instantiate \'$1\' explicitely", 28);
STRING_LITERAL(TMP352, "only a call operator can be a delegator", 39);
STRING_LITERAL(TMP353, "\'$1\' is not a variable, constant or a proc name", 47);
STRING_LITERAL(TMP354, "the macro body cannot be compiled, because the parameter \'$1\' h"
"as a generic type", 80);
STRING_LITERAL(TMP355, "Destructor signarue is too specific. A destructor must be assoc"
"iated will all instantiations of a generic type", 110);
STRING_LITERAL(TMP356, "inline iterators can be used as parameters only for templates, "
"macros and other inline iterators", 96);
STRING_LITERAL(TMP357, "\'$1\' expects two arguments", 26);
STRING_LITERAL(TMP358, "\'$1\' expects object types", 25);
STRING_LITERAL(TMP359, "\'$1\' can never be of this subtype", 33);
STRING_LITERAL(TMP360, "interpretation requires too many iterations", 43);
STRING_LITERAL(TMP361, "cannot evaluate \'$1\'", 20);
STRING_LITERAL(TMP362, "field \'$1\' cannot be found", 26);
STRING_LITERAL(TMP363, "invalid conversion from type \'$1\'", 33);
STRING_LITERAL(TMP364, "assertion failed", 16);
STRING_LITERAL(TMP365, "cannot generate code for \'$1\'", 29);
STRING_LITERAL(TMP366, "$1 requires one parameter", 25);
STRING_LITERAL(TMP367, "unhandled exception: $1", 23);
STRING_LITERAL(TMP368, "macro returned a cyclic abstract syntax tree", 44);
STRING_LITERAL(TMP369, "\'$1\' is no macro or template", 28);
STRING_LITERAL(TMP370, "\'$1\' can have side effects", 26);
STRING_LITERAL(TMP371, "iterator within for loop context expected", 41);
STRING_LITERAL(TMP372, "\'let\' symbol requires an initialization", 39);
STRING_LITERAL(TMP373, "a thread var cannot be initialized explicitly", 45);
STRING_LITERAL(TMP374, "usage of \'$1\' is a user-defined error", 37);
STRING_LITERAL(TMP375, "illegal capture \'$1\'", 20);
STRING_LITERAL(TMP376, "\'$1\' cannot have \'closure\' calling convention", 45);
STRING_LITERAL(TMP377, "\'$1\' can only be used in compile-time context", 45);
STRING_LITERAL(TMP378, "cannot infer the type of the $1", 31);
STRING_LITERAL(TMP379, "cannot infer the return type of the proc", 40);
STRING_LITERAL(TMP380, "A nested proc can have generic parameters only when it is used "
"as an operand to another routine and the types of the generic pa"
"ramers can be infered from the expected signature.", 177);
STRING_LITERAL(TMP381, "The current compiler \'$1\' doesn\'t support the requested compila"
"tion target", 74);
STRING_LITERAL(TMP382, "cannot open \'$1\' [CannotOpenFile]", 33);
STRING_LITERAL(TMP383, "octal escape sequences do not exist; leading zero is ignored [O"
"ctalEscape]", 74);
STRING_LITERAL(TMP384, "\'$1\' is never read [XIsNeverRead]", 33);
STRING_LITERAL(TMP385, "\'$1\' might not have been initialized [XmightNotBeenInit]", 56);
STRING_LITERAL(TMP386, "$1 is deprecated [Deprecated]", 29);
STRING_LITERAL(TMP387, "config file \'$1\' is deprecated [ConfigDeprecated]", 49);
STRING_LITERAL(TMP388, "\'l\' should not be used as an identifier; may look like \'1\' (one"
") [SmallLshouldNotBeUsed]", 88);
STRING_LITERAL(TMP389, "unknown magic \'$1\' might crash the compiler [UnknownMagic]", 58);
STRING_LITERAL(TMP390, "redefinition of label \'$1\' [RedefinitionOfLabel]", 48);
STRING_LITERAL(TMP391, "unknown substitution \'$1\' [UnknownSubstitutionX]", 48);
STRING_LITERAL(TMP392, "language \'$1\' not supported [LanguageXNotSupported]", 51);
STRING_LITERAL(TMP393, "field \'$1\' not supported [FieldXNotSupported]", 45);
STRING_LITERAL(TMP394, "comment \'$1\' ignored [CommentXIgnored]", 38);
STRING_LITERAL(TMP395, "\'nil\' statement is deprecated; use an empty \'discard\' statement"
" instead [NilStmt]", 81);
STRING_LITERAL(TMP396, "thread analysis incomplete due to unknown call \'$1\' [AnalysisLo"
"ophole]", 70);
STRING_LITERAL(TMP397, "possible inconsistency of thread local heaps [DifferentHeaps]", 61);
STRING_LITERAL(TMP398, "write to foreign heap [WriteToForeignHeap]", 42);
STRING_LITERAL(TMP399, "unsafe code: \'$1\' [UnsafeCode]", 30);
STRING_LITERAL(TMP400, "each identifier is a tuple [EachIdentIsTuple]", 45);
STRING_LITERAL(TMP401, "shadowed identifier: \'$1\' [ShadowIdent]", 39);
STRING_LITERAL(TMP402, "Cannot prove that \'$1\' is initialized. This will become a compi"
"le time error in the future. [ProveInit]", 103);
STRING_LITERAL(TMP403, "cannot prove that field \'$1\' is accessible [ProveField]", 55);
STRING_LITERAL(TMP404, "cannot prove index \'$1\' is valid [ProveIndex]", 45);
STRING_LITERAL(TMP405, "not GC-safe: \'$1\' [GcUnsafe]", 28);
STRING_LITERAL(TMP406, "cannot prove \'$1\' is GC-safe. Does not compile with --threads:o"
"n.", 65);
STRING_LITERAL(TMP407, "\'$1\' might not have been initialized [Uninit]", 45);
STRING_LITERAL(TMP408, "\'$1\' uses GC\'ed memory [GcMem]", 30);
STRING_LITERAL(TMP409, "$1 [LockLevel]", 14);
STRING_LITERAL(TMP410, "$1 [User]", 9);
STRING_LITERAL(TMP411, "operation successful [Success]", 30);
STRING_LITERAL(TMP412, "operation successful ($# lines compiled; $# sec total; $#) [Suc"
"cessX]", 69);
STRING_LITERAL(TMP413, "line too long [LineTooLong]", 27);
STRING_LITERAL(TMP414, "\'$1\' is declared but not used [XDeclaredButNotUsed]", 51);
STRING_LITERAL(TMP415, "conversion to base object is not needed [ConvToBaseNotNeeded]", 61);
STRING_LITERAL(TMP416, "conversion from $1 to itself is pointless [ConvFromXtoItselfNot"
"Needed]", 70);
STRING_LITERAL(TMP417, "expression evaluates always to \'$1\' [ExprAlwaysX]", 49);
STRING_LITERAL(TMP418, "quit() called [QuitCalled]", 26);
STRING_LITERAL(TMP419, "$1 [Processing]", 15);
STRING_LITERAL(TMP420, "generated code listing: [CodeBegin]", 35);
STRING_LITERAL(TMP421, "end of listing [CodeEnd]", 24);
STRING_LITERAL(TMP422, "used config file \'$1\' [Conf]", 28);
STRING_LITERAL(TMP423, "added path: \'$1\' [Path]", 23);
STRING_LITERAL(TMP424, "condition is always true: \'$1\' [CondTrue]", 41);
STRING_LITERAL(TMP425, "name should be: \'$1\' [Name]", 27);
STRING_LITERAL(TMP426, "$1 [Pattern]", 12);
NIM_CONST TY195486 msgkindtostr_195485 = {((NimStringDesc*) &TMP154),
((NimStringDesc*) &TMP155),
((NimStringDesc*) &TMP156),
((NimStringDesc*) &TMP157),
((NimStringDesc*) &TMP158),
((NimStringDesc*) &TMP159),
((NimStringDesc*) &TMP160),
((NimStringDesc*) &TMP161),
((NimStringDesc*) &TMP162),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP164),
((NimStringDesc*) &TMP165),
((NimStringDesc*) &TMP166),
((NimStringDesc*) &TMP167),
((NimStringDesc*) &TMP168),
((NimStringDesc*) &TMP169),
((NimStringDesc*) &TMP170),
((NimStringDesc*) &TMP171),
((NimStringDesc*) &TMP172),
((NimStringDesc*) &TMP173),
((NimStringDesc*) &TMP174),
((NimStringDesc*) &TMP175),
((NimStringDesc*) &TMP176),
((NimStringDesc*) &TMP177),
((NimStringDesc*) &TMP178),
((NimStringDesc*) &TMP179),
((NimStringDesc*) &TMP180),
((NimStringDesc*) &TMP181),
((NimStringDesc*) &TMP182),
((NimStringDesc*) &TMP183),
((NimStringDesc*) &TMP184),
((NimStringDesc*) &TMP185),
((NimStringDesc*) &TMP186),
((NimStringDesc*) &TMP187),
((NimStringDesc*) &TMP188),
((NimStringDesc*) &TMP189),
((NimStringDesc*) &TMP190),
((NimStringDesc*) &TMP191),
((NimStringDesc*) &TMP192),
((NimStringDesc*) &TMP193),
((NimStringDesc*) &TMP194),
((NimStringDesc*) &TMP195),
((NimStringDesc*) &TMP196),
((NimStringDesc*) &TMP197),
((NimStringDesc*) &TMP198),
((NimStringDesc*) &TMP199),
((NimStringDesc*) &TMP200),
((NimStringDesc*) &TMP201),
((NimStringDesc*) &TMP202),
((NimStringDesc*) &TMP203),
((NimStringDesc*) &TMP204),
((NimStringDesc*) &TMP205),
((NimStringDesc*) &TMP206),
((NimStringDesc*) &TMP207),
((NimStringDesc*) &TMP208),
((NimStringDesc*) &TMP209),
((NimStringDesc*) &TMP210),
((NimStringDesc*) &TMP211),
((NimStringDesc*) &TMP212),
((NimStringDesc*) &TMP213),
((NimStringDesc*) &TMP214),
((NimStringDesc*) &TMP215),
((NimStringDesc*) &TMP216),
((NimStringDesc*) &TMP217),
((NimStringDesc*) &TMP218),
((NimStringDesc*) &TMP219),
((NimStringDesc*) &TMP220),
((NimStringDesc*) &TMP221),
((NimStringDesc*) &TMP222),
((NimStringDesc*) &TMP223),
((NimStringDesc*) &TMP224),
((NimStringDesc*) &TMP225),
((NimStringDesc*) &TMP226),
((NimStringDesc*) &TMP227),
((NimStringDesc*) &TMP228),
((NimStringDesc*) &TMP229),
((NimStringDesc*) &TMP230),
((NimStringDesc*) &TMP231),
((NimStringDesc*) &TMP232),
((NimStringDesc*) &TMP233),
((NimStringDesc*) &TMP234),
((NimStringDesc*) &TMP235),
((NimStringDesc*) &TMP236),
((NimStringDesc*) &TMP237),
((NimStringDesc*) &TMP238),
((NimStringDesc*) &TMP239),
((NimStringDesc*) &TMP240),
((NimStringDesc*) &TMP241),
((NimStringDesc*) &TMP242),
((NimStringDesc*) &TMP243),
((NimStringDesc*) &TMP244),
((NimStringDesc*) &TMP245),
((NimStringDesc*) &TMP246),
((NimStringDesc*) &TMP247),
((NimStringDesc*) &TMP248),
((NimStringDesc*) &TMP249),
((NimStringDesc*) &TMP250),
((NimStringDesc*) &TMP251),
((NimStringDesc*) &TMP252),
((NimStringDesc*) &TMP253),
((NimStringDesc*) &TMP254),
((NimStringDesc*) &TMP255),
((NimStringDesc*) &TMP256),
((NimStringDesc*) &TMP257),
((NimStringDesc*) &TMP258),
((NimStringDesc*) &TMP259),
((NimStringDesc*) &TMP260),
((NimStringDesc*) &TMP261),
((NimStringDesc*) &TMP262),
((NimStringDesc*) &TMP263),
((NimStringDesc*) &TMP264),
((NimStringDesc*) &TMP265),
((NimStringDesc*) &TMP266),
((NimStringDesc*) &TMP267),
((NimStringDesc*) &TMP268),
((NimStringDesc*) &TMP269),
((NimStringDesc*) &TMP270),
((NimStringDesc*) &TMP271),
((NimStringDesc*) &TMP272),
((NimStringDesc*) &TMP273),
((NimStringDesc*) &TMP274),
((NimStringDesc*) &TMP275),
((NimStringDesc*) &TMP276),
((NimStringDesc*) &TMP277),
((NimStringDesc*) &TMP278),
((NimStringDesc*) &TMP279),
((NimStringDesc*) &TMP280),
((NimStringDesc*) &TMP281),
((NimStringDesc*) &TMP282),
((NimStringDesc*) &TMP283),
((NimStringDesc*) &TMP284),
((NimStringDesc*) &TMP285),
((NimStringDesc*) &TMP286),
((NimStringDesc*) &TMP287),
((NimStringDesc*) &TMP288),
((NimStringDesc*) &TMP289),
((NimStringDesc*) &TMP290),
((NimStringDesc*) &TMP291),
((NimStringDesc*) &TMP292),
((NimStringDesc*) &TMP293),
((NimStringDesc*) &TMP294),
((NimStringDesc*) &TMP295),
((NimStringDesc*) &TMP296),
((NimStringDesc*) &TMP297),
((NimStringDesc*) &TMP298),
((NimStringDesc*) &TMP299),
((NimStringDesc*) &TMP300),
((NimStringDesc*) &TMP301),
((NimStringDesc*) &TMP302),
((NimStringDesc*) &TMP303),
((NimStringDesc*) &TMP304),
((NimStringDesc*) &TMP305),
((NimStringDesc*) &TMP306),
((NimStringDesc*) &TMP307),
((NimStringDesc*) &TMP308),
((NimStringDesc*) &TMP309),
((NimStringDesc*) &TMP310),
((NimStringDesc*) &TMP311),
((NimStringDesc*) &TMP312),
((NimStringDesc*) &TMP313),
((NimStringDesc*) &TMP314),
((NimStringDesc*) &TMP315),
((NimStringDesc*) &TMP316),
((NimStringDesc*) &TMP317),
((NimStringDesc*) &TMP318),
((NimStringDesc*) &TMP319),
((NimStringDesc*) &TMP320),
((NimStringDesc*) &TMP321),
((NimStringDesc*) &TMP322),
((NimStringDesc*) &TMP323),
((NimStringDesc*) &TMP324),
((NimStringDesc*) &TMP325),
((NimStringDesc*) &TMP326),
((NimStringDesc*) &TMP327),
((NimStringDesc*) &TMP328),
((NimStringDesc*) &TMP329),
((NimStringDesc*) &TMP330),
((NimStringDesc*) &TMP331),
((NimStringDesc*) &TMP332),
((NimStringDesc*) &TMP333),
((NimStringDesc*) &TMP334),
((NimStringDesc*) &TMP335),
((NimStringDesc*) &TMP336),
((NimStringDesc*) &TMP337),
((NimStringDesc*) &TMP338),
((NimStringDesc*) &TMP339),
((NimStringDesc*) &TMP340),
((NimStringDesc*) &TMP341),
((NimStringDesc*) &TMP177),
((NimStringDesc*) &TMP342),
((NimStringDesc*) &TMP343),
((NimStringDesc*) &TMP344),
((NimStringDesc*) &TMP345),
((NimStringDesc*) &TMP346),
((NimStringDesc*) &TMP347),
((NimStringDesc*) &TMP348),
((NimStringDesc*) &TMP349),
((NimStringDesc*) &TMP350),
((NimStringDesc*) &TMP351),
((NimStringDesc*) &TMP352),
((NimStringDesc*) &TMP353),
((NimStringDesc*) &TMP354),
((NimStringDesc*) &TMP355),
((NimStringDesc*) &TMP356),
((NimStringDesc*) &TMP357),
((NimStringDesc*) &TMP358),
((NimStringDesc*) &TMP359),
((NimStringDesc*) &TMP360),
((NimStringDesc*) &TMP361),
((NimStringDesc*) &TMP362),
((NimStringDesc*) &TMP363),
((NimStringDesc*) &TMP364),
((NimStringDesc*) &TMP365),
((NimStringDesc*) &TMP366),
((NimStringDesc*) &TMP367),
((NimStringDesc*) &TMP368),
((NimStringDesc*) &TMP369),
((NimStringDesc*) &TMP370),
((NimStringDesc*) &TMP371),
((NimStringDesc*) &TMP372),
((NimStringDesc*) &TMP373),
((NimStringDesc*) &TMP374),
((NimStringDesc*) &TMP375),
((NimStringDesc*) &TMP376),
((NimStringDesc*) &TMP377),
((NimStringDesc*) &TMP378),
((NimStringDesc*) &TMP379),
((NimStringDesc*) &TMP380),
((NimStringDesc*) &TMP381),
((NimStringDesc*) &TMP158),
((NimStringDesc*) &TMP382),
((NimStringDesc*) &TMP383),
((NimStringDesc*) &TMP384),
((NimStringDesc*) &TMP385),
((NimStringDesc*) &TMP386),
((NimStringDesc*) &TMP387),
((NimStringDesc*) &TMP388),
((NimStringDesc*) &TMP389),
((NimStringDesc*) &TMP390),
((NimStringDesc*) &TMP391),
((NimStringDesc*) &TMP392),
((NimStringDesc*) &TMP393),
((NimStringDesc*) &TMP394),
((NimStringDesc*) &TMP395),
((NimStringDesc*) &TMP396),
((NimStringDesc*) &TMP397),
((NimStringDesc*) &TMP398),
((NimStringDesc*) &TMP399),
((NimStringDesc*) &TMP400),
((NimStringDesc*) &TMP401),
((NimStringDesc*) &TMP402),
((NimStringDesc*) &TMP403),
((NimStringDesc*) &TMP404),
((NimStringDesc*) &TMP405),
((NimStringDesc*) &TMP406),
((NimStringDesc*) &TMP407),
((NimStringDesc*) &TMP408),
((NimStringDesc*) &TMP409),
((NimStringDesc*) &TMP410),
((NimStringDesc*) &TMP411),
((NimStringDesc*) &TMP412),
((NimStringDesc*) &TMP413),
((NimStringDesc*) &TMP414),
((NimStringDesc*) &TMP415),
((NimStringDesc*) &TMP416),
((NimStringDesc*) &TMP417),
((NimStringDesc*) &TMP418),
((NimStringDesc*) &TMP419),
((NimStringDesc*) &TMP420),
((NimStringDesc*) &TMP421),
((NimStringDesc*) &TMP422),
((NimStringDesc*) &TMP423),
((NimStringDesc*) &TMP424),
((NimStringDesc*) &TMP425),
((NimStringDesc*) &TMP426),
((NimStringDesc*) &TMP410)}
;
STRING_LITERAL(TMP427, "Error: $1", 9);
STRING_LITERAL(TMP428, "Warning: $1", 11);
STRING_LITERAL(TMP429, "Hint: $1", 8);
STRING_LITERAL(TMP431, "ropes: invalid format string: ", 30);
STRING_LITERAL(TMP432, "ropes: token too long: ", 23);
STRING_LITERAL(TMP1033, "$1($2, $3) Error: $4", 20);
STRING_LITERAL(TMP1034, "$1($2, $3) Warning: $4", 22);
STRING_LITERAL(TMP1035, "$1($2, $3) Hint: $4", 19);
STRING_LITERAL(TMP1036, "  ", 2);
STRING_LITERAL(TMP1049, "compiler/msgs.nim", 17);
NIM_CONST TY84945 TMP1048 = {((NimStringDesc*) &TMP1049),
876}
;
STRING_LITERAL(TMP1980, "\015\012", 2);
STRING_LITERAL(TMP2696, "suggest done", 12);
NIM_CONST TY84945 TMP3610 = {((NimStringDesc*) &TMP1049),
883}
;
table195576 filenametoindextbl_195620;
extern TNimType NTI195576; /* Table */
TY195621* fileinfos_195642;
TNimType NTI195537; /* TFileInfo */
extern TNimType NTI149; /* string */
extern TNimType NTI177007; /* PRope */
TNimType NTI195552; /* seq[PRope] */
TNimType NTI195621; /* seq[TFileInfo] */
extern tgcheap47216 gch_47244;
NI32 systemfileidx_195643;
extern NimStringDesc* tnl_174613;
extern NU32 gglobaloptions_169118;
tlineinfo195539 gcmdlineinfo_196192;
tlineinfo195539 gcodegenlineinfo_196239;
NU64 gnotes_196305;
NI gerrorcounter_196306;
NI ghintcounter_196307;
NI gwarncounter_196308;
NI gerrormax_196309;
tsocketimpl182607* stdoutsocket_196318;
TY196414* msgcontext_196435;
TNimType NTI195539; /* TLineInfo */
extern TNimType NTI112; /* int16 */
extern TNimType NTI114; /* int32 */
TNimType NTI196414; /* seq[TLineInfo] */
tlineinfo195539 lasterror_196436;
TY120008* bufferedmsgs_196438;
NU8 erroroutputs_196440;
TY196414* checkpoints_197151;
tlineinfo195539 opttrackpos_197156;
extern TY177138 errorhandler_177143;
extern NU8 gcmd_169120;
extern NIM_BOOL glistfullpaths_169132;
extern NU32 goptions_169116;
extern NI gverbosity_169127;
extern NI8 gexitcode_169119;
extern TNimType NTI3249; /* ValueError */
TNimType NTI195545; /* ERecoverableError */
TNimType NTI196253; /* ref ERecoverableError */
extern TSafePoint* exchandler_16443;
extern TNimType NTI3231; /* IOError */
extern Exception* currexception_16445;
TNimType NTI195205; /* TMsgKind */
TNimType NTI195533; /* TNoteKind */
TNimType NTI195535; /* TNoteKinds */
extern TNimType NTI120008; /* seq[string] */
extern NIM_BOOL isserving_169133;
extern NI32 gdirtybufferidx_169134;
extern TNimType NTI3227; /* Exception */
TNimType NTI195547; /* ESuggestDone */
TNimType NTI196851; /* ref ESuggestDone */
N_NIMCALL(void, TMP139)(void* p, NI op) {
	TY195552* a;
	NI LOC1;
	a = (TY195552*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, TMP140)(void* p, NI op) {
	TY195621* a;
	NI LOC1;
	a = (TY195621*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].Fullpath, op);
	nimGCvisit((void*)a->data[LOC1].Projpath, op);
	nimGCvisit((void*)a->data[LOC1].Shortname, op);
	nimGCvisit((void*)a->data[LOC1].Quotedname, op);
	nimGCvisit((void*)a->data[LOC1].Lines, op);
	}
}

static N_INLINE(tcell45135*, usrtocell_48846)(void* usr) {
	tcell45135* result;
	result = 0;
	result = ((tcell45135*) ((NI)((NU32)(((NI) (usr))) - (NU32)(((NI)sizeof(tcell45135))))));
	return result;
}

static N_INLINE(void, rtladdzct_50404)(tcell45135* c) {
	addzct_48817((&gch_47244.Zct), c);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tcell45135* c;
	c = usrtocell_48846(p);
	{
		(*c).Refcount -= 8;
		if (!((NU32)((*c).Refcount) < (NU32)(8))) goto LA3;
		rtladdzct_50404(c);
	}
	LA3: ;
}

static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	memcpy(((NCSTRING) ((&(*dest).data[((*dest).Sup.len)- 0]))), ((NCSTRING) ((*src).data)), (NI32)((*src).Sup.len + 1));
	(*dest).Sup.len += (*src).Sup.len;
}

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

N_NIMCALL(NimStringDesc*, tocchar_195649)(NIM_CHAR c) {
	NimStringDesc* result;
	result = 0;
	switch (((NU8)(c))) {
	case 0 ... 31:
	case 128 ... 255:
	{
		NimStringDesc* LOC2;
		NimStringDesc* LOC3;
		LOC2 = 0;
		LOC3 = 0;
		LOC3 = nsuToOctal(c);
		LOC2 = rawNewString(LOC3->Sup.len + 1);
appendChar(LOC2, 92);
appendString(LOC2, LOC3);
		result = LOC2;
	}
	break;
	case 39:
	case 34:
	case 92:
	{
		NimStringDesc* LOC5;
		LOC5 = 0;
		LOC5 = rawNewString(2);
appendChar(LOC5, 92);
appendChar(LOC5, c);
		result = LOC5;
	}
	break;
	default:
	{
		result = nimCharToStr(c);
	}
	break;
	}
	return result;
}

N_NIMCALL(trope177009*, makecstring_195659)(NimStringDesc* s) {
	trope177009* result;
	NimStringDesc* res;
	trope177009* LOC10;
	result = 0;
	result = NIM_NIL;
	res = copyString(((NimStringDesc*) &TMP143));
	{
		NI i_195677;
		NI HEX3Atmp_195682;
		NI res_195685;
		i_195677 = 0;
		HEX3Atmp_195682 = 0;
		HEX3Atmp_195682 = (NI32)(s->Sup.len - 1);
		res_195685 = 0;
		{
			while (1) {
				NimStringDesc* LOC9;
				if (!(res_195685 <= HEX3Atmp_195682)) goto LA3;
				i_195677 = res_195685;
				{
					trope177009* LOC8;
					if (!(((NI) ((NI32)((NI32)(i_195677 + 1) % 64))) == 0)) goto LA6;
					res = addChar(res, 34);
					res = resizeString(res, tnl_174613->Sup.len + 0);
appendString(res, tnl_174613);
					LOC8 = 0;
					LOC8 = torope_177076(res);
					app_177052(&result, LOC8);
					res = setLengthStr(res, 1);
					res->data[0] = 34;
				}
				LA6: ;
				LOC9 = 0;
				LOC9 = tocchar_195649(s->data[i_195677]);
				res = resizeString(res, LOC9->Sup.len + 0);
appendString(res, LOC9);
				res_195685 += 1;
			} LA3: ;
		}
	}
	res = addChar(res, 34);
	LOC10 = 0;
	LOC10 = torope_177076(res);
	app_177052(&result, LOC10);
	return result;
}

N_NIMCALL(void, newfileinfo_195702)(NimStringDesc* fullpath, NimStringDesc* projpath, tfileinfo195537* Result) {
	NimStringDesc* filename;
	unsureAsgnRef((void**) (&(*Result).Fullpath), copyString(fullpath));
	unsureAsgnRef((void**) (&(*Result).Projpath), copyString(projpath));
	filename = nosextractFilename(projpath);
	unsureAsgnRef((void**) (&(*Result).Shortname), noschangeFileExt(filename, ((NimStringDesc*) &TMP142)));
	unsureAsgnRef((void**) (&(*Result).Quotedname), makecstring_195659(filename));
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = ((gglobaloptions_169118 &(1<<((((NU8) 31))&31)))!=0);
		if (LOC3) goto LA4;
		LOC3 = NIM_TRUE;
		LA4: ;
		if (!LOC3) goto LA5;
		unsureAsgnRef((void**) (&(*Result).Lines), (TY195552*) newSeq((&NTI195552), 0));
	}
	LA5: ;
}

N_NIMCALL(tlineinfo195539, newlineinfo_196129)(NI32 fileinfoidx, NI line, NI col) {
	tlineinfo195539 result;
	memset((void*)(&result), 0, sizeof(result));
	result.Fileindex = fileinfoidx;
	result.Line = ((NI16) (line));
	result.Col = ((NI16) (col));
	return result;
}
N_NIMCALL(void, TMP147)(void* p, NI op) {
	TY196414* a;
	NI LOC1;
	a = (TY196414*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	}
}

N_NIMCALL(tlineinfo195539, unknownlineinfo_196405)(void) {
	tlineinfo195539 result;
	memset((void*)(&result), 0, sizeof(result));
	result.Line = ((NI16) -1);
	result.Col = ((NI16) -1);
	result.Fileindex = ((NI32) -1);
	return result;
}

N_NIMCALL(NIM_BOOL, HEX3DHEX3D_197579)(tlineinfo195539 a, tlineinfo195539 b) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	result = 0;
	LOC1 = 0;
	LOC1 = (a.Line == b.Line);
	if (!(LOC1)) goto LA2;
	LOC1 = (a.Fileindex == b.Fileindex);
	LA2: ;
	result = LOC1;
	return result;
}

static N_INLINE(void, writeln_170205)(FILE* f_170209, NimStringDesc** x_170213, NI x_170213Len0) {
	{
		NimStringDesc* i_170226;
		NI i_170234;
		i_170226 = 0;
		i_170234 = 0;
		{
			while (1) {
				if (!(i_170234 < x_170213Len0)) goto LA3;
				i_170226 = x_170213[i_170234];
				write_13065(f_170209, i_170226);
				i_170234 += 1;
			} LA3: ;
		}
	}
	write_13065(f_170209, ((NimStringDesc*) &TMP150));
}

N_NIMCALL(void, msgwriteln_197236)(NimStringDesc* s) {
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = (gcmd_169120 == ((NU8) 14));
		if (!(LOC3)) goto LA4;
		LOC3 = !(((gglobaloptions_169118 &(1<<((((NU8) 7))&31)))!=0));
		LA4: ;
		if (!LOC3) goto LA5;
		goto BeforeRet;
	}
	LA5: ;
	{
		if (!((gglobaloptions_169118 &(1<<((((NU8) 22))&31)))!=0)) goto LA9;
		{
			TY197301 LOC15;
			if (!((erroroutputs_196440 &(1<<((((NU8) 1))&7)))!=0)) goto LA13;
			memset((void*)LOC15, 0, sizeof(LOC15));
			LOC15[0] = copyString(s);
			writeln_170205(stderr, LOC15, 1);
		}
		LA13: ;
	}
	goto LA7;
	LA9: ;
	{
		{
			TY197301 LOC21;
			if (!((erroroutputs_196440 &(1<<((((NU8) 0))&7)))!=0)) goto LA19;
			memset((void*)LOC21, 0, sizeof(LOC21));
			LOC21[0] = copyString(s);
			writeln_170205(stdout, LOC21, 1);
		}
		LA19: ;
	}
	LA7: ;
	{
		if (!((erroroutputs_196440 &(1<<((((NU8) 2))&7)))!=0)) goto LA24;
		safeadd_196660((&bufferedmsgs_196438), s);
	}
	LA24: ;
	BeforeRet: ;
}

N_NIMCALL(NimStringDesc*, tomsgfilename_197061)(tlineinfo195539 info) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(info.Fileindex < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP153));
	}
	goto LA1;
	LA3: ;
	{
		{
			if (!glistfullpaths_169132) goto LA8;
			result = copyString(fileinfos_195642->data[info.Fileindex].Fullpath);
		}
		goto LA6;
		LA8: ;
		{
			result = copyString(fileinfos_195642->data[info.Fileindex].Projpath);
		}
		LA6: ;
	}
	LA1: ;
	return result;
}

N_NIMCALL(NimStringDesc*, coordtostr_197368)(NI coord) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(coord == -1)) goto LA3;
		result = copyString(((NimStringDesc*) &TMP153));
	}
	goto LA1;
	LA3: ;
	{
		result = nimIntToStr(coord);
	}
	LA1: ;
	return result;
}

N_NIMCALL(NimStringDesc*, msgkindtostring_197378)(NU16 kind) {
	NimStringDesc* result;
	result = 0;
	result = copyString(msgkindtostr_195485[(kind)- 0]);
	return result;
}

N_NIMCALL(NimStringDesc*, getmessagestr_197388)(NU16 msg, NimStringDesc* arg) {
	NimStringDesc* result;
	NimStringDesc* LOC1;
	TY197301 LOC2;
	result = 0;
	LOC1 = 0;
	LOC1 = msgkindtostring_197378(msg);
	memset((void*)LOC2, 0, sizeof(LOC2));
	LOC2[0] = copyString(arg);
	result = nsuFormatOpenArray(LOC1, LOC2, 1);
	return result;
}

N_NIMCALL(void, writecontext_197590)(tlineinfo195539 lastinfo) {
	tlineinfo195539 info;
	info = lastinfo;
	{
		NI i_197617;
		NI HEX3Atmp_197623;
		NI res_197626;
		i_197617 = 0;
		HEX3Atmp_197623 = 0;
		HEX3Atmp_197623 = (NI32)(msgcontext_196435->Sup.len - 1);
		res_197626 = 0;
		{
			while (1) {
				if (!(res_197626 <= HEX3Atmp_197623)) goto LA3;
				i_197617 = res_197626;
				{
					NIM_BOOL LOC6;
					NIM_BOOL LOC7;
					NIM_BOOL LOC9;
					TY197620 LOC12;
					NimStringDesc* LOC13;
					LOC6 = 0;
					LOC7 = 0;
					LOC7 = HEX3DHEX3D_197579(msgcontext_196435->data[i_197617], lastinfo);
					LOC6 = !(LOC7);
					if (!(LOC6)) goto LA8;
					LOC9 = 0;
					LOC9 = HEX3DHEX3D_197579(msgcontext_196435->data[i_197617], info);
					LOC6 = !(LOC9);
					LA8: ;
					if (!LOC6) goto LA10;
					memset((void*)LOC12, 0, sizeof(LOC12));
					LOC12[0] = tomsgfilename_197061(msgcontext_196435->data[i_197617]);
					LOC12[1] = coordtostr_197368(((NI) (msgcontext_196435->data[i_197617].Line)));
					LOC12[2] = coordtostr_197368(((NI) (msgcontext_196435->data[i_197617].Col)));
					LOC12[3] = getmessagestr_197388(((NU16) 184), ((NimStringDesc*) &TMP142));
					LOC13 = 0;
					LOC13 = nsuFormatOpenArray(((NimStringDesc*) &TMP152), LOC12, 4);
					msgwriteln_197236(LOC13);
				}
				LA10: ;
				info = msgcontext_196435->data[i_197617];
				res_197626 += 1;
			} LA3: ;
		}
	}
}
N_NIMCALL(void, TMP430)(void* p, NI op) {
	erecoverableerror195545* a;
	a = (erecoverableerror195545*)p;
	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.Sup.message, op);
	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
}

N_NOINLINE(void, raiserecoverableerror_196247)(NimStringDesc* msg) {
	erecoverableerror195545* e_196252;
	NimStringDesc* LOC1;
	e_196252 = 0;
	e_196252 = (erecoverableerror195545*) newObj((&NTI196253), sizeof(erecoverableerror195545));
	(*e_196252).Sup.Sup.Sup.m_type = (&NTI195545);
	LOC1 = 0;
	LOC1 = (*e_196252).Sup.Sup.message; (*e_196252).Sup.Sup.message = copyStringRC1(msg);
	if (LOC1) nimGCunrefNoCycle(LOC1);
	raiseException((Exception*)e_196252, "ERecoverableError");
}

N_NIMCALL(void, handleerror_197459)(NU16 msg, NU8 eh, NimStringDesc* s) {
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = (((NU16) 0) <= msg);
		if (!(LOC3)) goto LA4;
		LOC3 = (msg <= ((NU16) 2));
		LA4: ;
		if (!LOC3) goto LA5;
		{
			NIM_BOOL LOC9;
			NIM_BOOL LOC10;
			LOC9 = 0;
			LOC10 = 0;
			LOC10 = NIM_FALSE;
			if (LOC10) goto LA11;
			LOC10 = (3 <= gverbosity_169127);
			LA11: ;
			LOC9 = LOC10;
			if (LOC9) goto LA12;
			LOC9 = (msg == ((NU16) 2));
			LA12: ;
			if (!LOC9) goto LA13;
			writestacktrace_15806();
		}
		LA13: ;
		exit(1);
	}
	LA5: ;
	{
		NIM_BOOL LOC17;
		LOC17 = 0;
		LOC17 = (((NU16) 0) <= msg);
		if (!(LOC17)) goto LA18;
		LOC17 = (msg <= ((NU16) 229));
		LA18: ;
		if (!LOC17) goto LA19;
		gerrorcounter_196306 += 1;
		gexitcode_169119 = ((NI8) 1);
		{
			if (!(gerrormax_196309 <= gerrorcounter_196306)) goto LA23;
			{
				NIM_BOOL LOC27;
				NIM_BOOL LOC28;
				LOC27 = 0;
				LOC28 = 0;
				LOC28 = NIM_FALSE;
				if (LOC28) goto LA29;
				LOC28 = (3 <= gverbosity_169127);
				LA29: ;
				LOC27 = LOC28;
				if (LOC27) goto LA30;
				LOC27 = (msg == ((NU16) 2));
				LA30: ;
				if (!LOC27) goto LA31;
				writestacktrace_15806();
			}
			LA31: ;
			exit(1);
		}
		goto LA21;
		LA23: ;
		{
			NIM_BOOL LOC34;
			LOC34 = 0;
			LOC34 = (eh == ((NU8) 1));
			if (!(LOC34)) goto LA35;
			LOC34 = !((gcmd_169120 == ((NU8) 14)));
			LA35: ;
			if (!LOC34) goto LA36;
			{
				NIM_BOOL LOC40;
				NIM_BOOL LOC41;
				LOC40 = 0;
				LOC41 = 0;
				LOC41 = NIM_FALSE;
				if (LOC41) goto LA42;
				LOC41 = (3 <= gverbosity_169127);
				LA42: ;
				LOC40 = LOC41;
				if (LOC40) goto LA43;
				LOC40 = (msg == ((NU16) 2));
				LA43: ;
				if (!LOC40) goto LA44;
				writestacktrace_15806();
			}
			LA44: ;
			exit(1);
		}
		goto LA21;
		LA36: ;
		{
			if (!(eh == ((NU8) 2))) goto LA47;
			raiserecoverableerror_196247(s);
		}
		goto LA21;
		LA47: ;
		LA21: ;
	}
	LA19: ;
}

N_NIMCALL(void, rawmessage_197643)(NU16 msg, NimStringDesc** args, NI argsLen0) {
	NimStringDesc* frmt;
	NimStringDesc* s;
	NimStringDesc* LOC22;
	NimStringDesc* LOC23;
	frmt = 0;
	switch (msg) {
	case ((NU16) 0) ... ((NU16) 229):
	{
		tlineinfo195539 LOC2;
		LOC2 = unknownlineinfo_196405();
		writecontext_197590(LOC2);
		frmt = copyString(((NimStringDesc*) &TMP427));
	}
	break;
	case ((NU16) 230) ... ((NU16) 258):
	{
		tlineinfo195539 LOC12;
		{
			if (!!(((goptions_169116 &(1<<((((NU8) 11))&31)))!=0))) goto LA6;
			goto BeforeRet;
		}
		LA6: ;
		{
			if (!!(((gnotes_196305 &(IL64(1)<<(((((NU16) (msg))- 230))&IL64(63))))!=0))) goto LA10;
			goto BeforeRet;
		}
		LA10: ;
		LOC12 = unknownlineinfo_196405();
		writecontext_197590(LOC12);
		frmt = copyString(((NimStringDesc*) &TMP428));
		gwarncounter_196308 += 1;
	}
	break;
	case ((NU16) 259) ... ((NU16) 275):
	{
		{
			if (!!(((goptions_169116 &(1<<((((NU8) 12))&31)))!=0))) goto LA16;
			goto BeforeRet;
		}
		LA16: ;
		{
			if (!!(((gnotes_196305 &(IL64(1)<<(((((NU16) (msg))- 230))&IL64(63))))!=0))) goto LA20;
			goto BeforeRet;
		}
		LA20: ;
		frmt = copyString(((NimStringDesc*) &TMP429));
		ghintcounter_196307 += 1;
	}
	break;
	}
	LOC22 = 0;
	LOC22 = msgkindtostring_197378(msg);
	LOC23 = 0;
	LOC23 = nsuFormatOpenArray(LOC22, args, argsLen0);
	s = nsuFormatSingleElem(frmt, LOC23);
	msgwriteln_197236(s);
	handleerror_197459(msg, ((NU8) 1), s);
	BeforeRet: ;
}

N_NIMCALL(void, rawmessage_197733)(NU16 msg, NimStringDesc* arg) {
	TY197301 LOC1;
	memset((void*)LOC1, 0, sizeof(LOC1));
	LOC1[0] = copyString(arg);
	rawmessage_197643(msg, LOC1, 1);
}

N_NIMCALL(void, internalerror_198006)(NimStringDesc* errmsg) {
	tlineinfo195539 LOC5;
	{
		if (!(gcmd_169120 == ((NU8) 14))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	LOC5 = unknownlineinfo_196405();
	writecontext_197590(LOC5);
	rawmessage_197733(((NU16) 2), errmsg);
	BeforeRet: ;
}

N_NIMCALL(void, HEX3Aanonymous_198195)(NU8 err, NimStringDesc* msg, NIM_BOOL usewarning) {
	switch (err) {
	case ((NU8) 1):
	{
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = rawNewString(msg->Sup.len + 30);
appendString(LOC2, ((NimStringDesc*) &TMP431));
appendString(LOC2, msg);
		internalerror_198006(LOC2);
	}
	break;
	case ((NU8) 2):
	{
		NimStringDesc* LOC4;
		LOC4 = 0;
		LOC4 = rawNewString(msg->Sup.len + 23);
appendString(LOC4, ((NimStringDesc*) &TMP432));
appendString(LOC4, msg);
		internalerror_198006(LOC4);
	}
	break;
	case ((NU8) 0):
	{
		NU16 LOC6;
		LOC6 = 0;
		{
			if (!usewarning) goto LA9;
			LOC6 = ((NU16) 230);
		}
		goto LA7;
		LA9: ;
		{
			LOC6 = ((NU16) 3);
		}
		LA7: ;
		rawmessage_197733(LOC6, msg);
	}
	break;
	}
}

static N_INLINE(NIM_BOOL, canbecycleroot_48867)(tcell45135* c) {
	NIM_BOOL result;
	result = 0;
	result = !((((*(*c).Typ).flags &(1<<((((NU8) 1))&7)))!=0));
	return result;
}

static N_INLINE(void, rtladdcycleroot_49629)(tcell45135* c) {
	{
		if (!!((((NI) ((NI)((*c).Refcount & 3))) == 3))) goto LA3;
		(*c).Refcount = (NI)((NI)((*c).Refcount & -4) | 3);
		incl_45871((&gch_47244.Cycleroots), c);
	}
	LA3: ;
}

static N_INLINE(void, incref_51225)(tcell45135* c) {
	(*c).Refcount = (NI)((NU32)((*c).Refcount) + (NU32)(8));
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = canbecycleroot_48867(c);
		if (!LOC3) goto LA4;
		rtladdcycleroot_49629(c);
	}
	LA4: ;
}

static N_INLINE(void, decref_50804)(tcell45135* c) {
	{
		(*c).Refcount -= 8;
		if (!((NU32)((*c).Refcount) < (NU32)(8))) goto LA3;
		rtladdzct_50404(c);
	}
	goto LA1;
	LA3: ;
	{
		NIM_BOOL LOC6;
		LOC6 = 0;
		LOC6 = canbecycleroot_48867(c);
		if (!LOC6) goto LA7;
		rtladdcycleroot_49629(c);
	}
	goto LA1;
	LA7: ;
	LA1: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tcell45135* LOC5;
		if (!!((src == NIM_NIL))) goto LA3;
		LOC5 = 0;
		LOC5 = usrtocell_48846(src);
		incref_51225(LOC5);
	}
	LA3: ;
	{
		tcell45135* LOC10;
		if (!!(((*dest) == NIM_NIL))) goto LA8;
		LOC10 = 0;
		LOC10 = usrtocell_48846((*dest));
		decref_50804(LOC10);
	}
	LA8: ;
	(*dest) = src;
}

N_NIMCALL(NimStringDesc*, tofullpath_197037)(NI32 fileidx) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(fileidx < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP153));
	}
	goto LA1;
	LA3: ;
	{
		result = copyString(fileinfos_195642->data[fileidx].Fullpath);
	}
	LA1: ;
	return result;
}

static N_INLINE(NIM_BOOL, contains_197884)(slice197873 s_197890, NU16 value_197893) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	result = 0;
	LOC1 = 0;
	LOC1 = (s_197890.A <= value_197893);
	if (!(LOC1)) goto LA2;
	LOC1 = (value_197893 <= s_197890.B);
	LA2: ;
	result = LOC1;
	return result;
}

static N_INLINE(slice197873, HEX2EHEX2E_197864)(NU16 a_197868, NU16 b_197870) {
	slice197873 result;
	memset((void*)(&result), 0, sizeof(result));
	result.A = a_197868;
	result.B = b_197870;
	return result;
}

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

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		tcell45135* c;
		if (!!((src == NIM_NIL))) goto LA3;
		c = usrtocell_48846(src);
		(*c).Refcount += 8;
	}
	LA3: ;
	{
		tcell45135* c;
		if (!!(((*dest) == NIM_NIL))) goto LA7;
		c = usrtocell_48846((*dest));
		{
			(*c).Refcount -= 8;
			if (!((NU32)((*c).Refcount) < (NU32)(8))) goto LA11;
			rtladdzct_50404(c);
		}
		LA11: ;
	}
	LA7: ;
	(*dest) = src;
}

N_NIMCALL(void, addsourceline_198042)(NI32 fileidx, NimStringDesc* line) {
	trope177009* LOC1;
	LOC1 = 0;
	LOC1 = torope_177076(line);
	fileinfos_195642->data[fileidx].Lines = (TY195552*) incrSeq(&(fileinfos_195642->data[fileidx].Lines)->Sup, sizeof(trope177009*));
	asgnRefNoCycle((void**) (&fileinfos_195642->data[fileidx].Lines->data[fileinfos_195642->data[fileidx].Lines->Sup.len-1]), LOC1);
}

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

static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = 0;
	result = currexception_16445;
	return result;
}

static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currexception_16445), (*currexception_16445).parent);
}

N_NIMCALL(trope177009*, sourceline_196277)(tlineinfo195539 i) {
	trope177009* result;
	result = 0;
	{
		if (!(i.Fileindex < ((NI32) 0))) goto LA3;
		result = NIM_NIL;
		goto BeforeRet;
	}
	LA3: ;
	{
		NIM_BOOL LOC7;
		TSafePoint TMP1038;
		LOC7 = 0;
		LOC7 = !(((gglobaloptions_169118 &(1<<((((NU8) 31))&31)))!=0));
		if (!(LOC7)) goto LA8;
		LOC7 = (fileinfos_195642->data[i.Fileindex].Lines->Sup.len == 0);
		LA8: ;
		if (!LOC7) goto LA9;
		pushSafePoint(&TMP1038);
		TMP1038.status = _setjmp(TMP1038.context);
		if (TMP1038.status == 0) {
			{
				NimStringDesc* line_198100;
				NimStringDesc* HEX3Atmp_198156;
				FILE* f_198159;
				NimStringDesc* res_198161;
				line_198100 = 0;
				HEX3Atmp_198156 = 0;
				HEX3Atmp_198156 = tofullpath_197037(i.Fileindex);
				f_198159 = open_12817(HEX3Atmp_198156, ((NU8) 0), 8000);
				res_198161 = rawNewString(80);
				{
					while (1) {
						NIM_BOOL LOC15;
						LOC15 = 0;
						LOC15 = readline_13089(f_198159, (&res_198161));
						if (!LOC15) goto LA14;
						line_198100 = res_198161;
						addsourceline_198042(i.Fileindex, line_198100);
					} LA14: ;
				}
				fclose(f_198159);
			}
			popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(getCurrentException()->Sup.m_type, (&NTI3231))) {
				TMP1038.status = 0;
				popCurrentException();
			}
		}
		if (TMP1038.status != 0) reraiseException();
	}
	LA9: ;
	{
		NimStringDesc* LOC22;
		if (!!((((NI) (i.Fileindex)) < fileinfos_195642->Sup.len))) goto LA20;
		LOC22 = 0;
		LOC22 = HEX24_198126(TMP1048);
		internalerror_198006(LOC22);
	}
	LA20: ;
	{
		if (!(fileinfos_195642->data[i.Fileindex].Lines->Sup.len < ((NI) (i.Line)))) goto LA25;
		result = NIM_NIL;
		goto BeforeRet;
	}
	LA25: ;
	result = fileinfos_195642->data[i.Fileindex].Lines->data[(NI16)(i.Line - ((NI16) 1))];
	BeforeRet: ;
	return result;
}

N_NIMCALL(void, writesurroundingsrc_197747)(tlineinfo195539 info) {
	NimStringDesc* LOC1;
	trope177009* LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	NimStringDesc* LOC5;
	LOC1 = 0;
	LOC2 = 0;
	LOC2 = sourceline_196277(info);
	LOC3 = 0;
	LOC3 = ropetostr_177101(LOC2);
	LOC1 = rawNewString(LOC3->Sup.len + 2);
appendString(LOC1, ((NimStringDesc*) &TMP1036));
appendString(LOC1, LOC3);
	msgwriteln_197236(LOC1);
	LOC4 = 0;
	LOC5 = 0;
	LOC5 = nsuRepeatChar(((NI) (info.Col)), 32);
	LOC4 = rawNewString(LOC5->Sup.len + 3);
appendString(LOC4, ((NimStringDesc*) &TMP1036));
appendString(LOC4, LOC5);
appendChar(LOC4, 94);
	msgwriteln_197236(LOC4);
}

N_NIMCALL(void, limessage_197774)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg, NU8 eh) {
	NimStringDesc* frmt;
	NIM_BOOL ignoremsg;
	NimStringDesc* s;
	TY197620 LOC12;
	frmt = 0;
	ignoremsg = NIM_FALSE;
	switch (msg) {
	case ((NU16) 0) ... ((NU16) 229):
	{
		writecontext_197590(info);
		frmt = copyString(((NimStringDesc*) &TMP1033));
		lasterror_196436 = info;
	}
	break;
	case ((NU16) 230) ... ((NU16) 258):
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = !(((goptions_169116 &(1<<((((NU8) 11))&31)))!=0));
		if (LOC3) goto LA4;
		LOC3 = !(((gnotes_196305 &(IL64(1)<<(((((NU16) (msg))- 230))&IL64(63))))!=0));
		LA4: ;
		ignoremsg = LOC3;
		{
			if (!!(ignoremsg)) goto LA7;
			writecontext_197590(info);
		}
		LA7: ;
		frmt = copyString(((NimStringDesc*) &TMP1034));
		gwarncounter_196308 += 1;
	}
	break;
	case ((NU16) 259) ... ((NU16) 275):
	{
		NIM_BOOL LOC10;
		LOC10 = 0;
		LOC10 = !(((goptions_169116 &(1<<((((NU8) 12))&31)))!=0));
		if (LOC10) goto LA11;
		LOC10 = !(((gnotes_196305 &(IL64(1)<<(((((NU16) (msg))- 230))&IL64(63))))!=0));
		LA11: ;
		ignoremsg = LOC10;
		frmt = copyString(((NimStringDesc*) &TMP1035));
		ghintcounter_196307 += 1;
	}
	break;
	}
	memset((void*)LOC12, 0, sizeof(LOC12));
	LOC12[0] = tomsgfilename_197061(info);
	LOC12[1] = coordtostr_197368(((NI) (info.Line)));
	LOC12[2] = coordtostr_197368(((NI) (info.Col)));
	LOC12[3] = getmessagestr_197388(msg, arg);
	s = nsuFormatOpenArray(frmt, LOC12, 4);
	{
		if (!!(ignoremsg)) goto LA15;
		msgwriteln_197236(s);
		{
			NIM_BOOL LOC19;
			slice197873 LOC21;
			LOC19 = 0;
			LOC19 = (2 <= gverbosity_169127);
			if (!(LOC19)) goto LA20;
			LOC21 = HEX2EHEX2E_197864(((NU16) 0), ((NU16) 229));
			LOC19 = contains_197884(LOC21, msg);
			LA20: ;
			if (!LOC19) goto LA22;
			writesurroundingsrc_197747(info);
		}
		LA22: ;
	}
	LA15: ;
	handleerror_197459(msg, eh, s);
}

N_NIMCALL(void, message_197976)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg) {
	limessage_197774(info, msg, arg, ((NU8) 0));
}

N_NIMCALL(void, internalerror_197987)(tlineinfo195539 info, NimStringDesc* errmsg) {
	{
		if (!(gcmd_169120 == ((NU8) 14))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	writecontext_197590(info);
	limessage_197774(info, ((NU16) 2), errmsg, ((NU8) 1));
	BeforeRet: ;
}

static N_INLINE(void, shallow_85624)(NimStringDesc** s_85627) {
	TGenericSeq* s;
	s = ((TGenericSeq*) ((*s_85627)));
	(*s).reserved = (NI)((*s).reserved | (-2147483647 -1));
}

N_NIMCALL(NI32, fileinfoidx_195747)(NimStringDesc* filename) {
	NI32 result;
	NimStringDesc* volatile canon;
	NIM_BOOL pseudopath;
	TSafePoint TMP1072;
	result = 0;
	canon = 0;
	pseudopath = NIM_FALSE;
	pushSafePoint(&TMP1072);
	TMP1072.status = _setjmp(TMP1072.context);
	if (TMP1072.status == 0) {
		canon = canonicalizepath_169390(filename);
		shallow_85624((&canon));
		popSafePoint();
	}
	else {
		popSafePoint();
		{
			TMP1072.status = 0;
			canon = copyString(filename);
			pseudopath = NIM_TRUE;
			popCurrentException();
		}
	}
	if (TMP1072.status != 0) reraiseException();
	{
		NIM_BOOL LOC6;
		LOC6 = 0;
		LOC6 = haskey_195756(filenametoindextbl_195620, canon);
		if (!LOC6) goto LA7;
		result = HEX5BHEX5D_195817(filenametoindextbl_195620, canon);
	}
	goto LA4;
	LA7: ;
	{
		NimStringDesc* LOC10;
		tfileinfo195537 LOC16;
		result = ((NI32) (fileinfos_195642->Sup.len));
		LOC10 = 0;
		{
			if (!pseudopath) goto LA13;
			LOC10 = copyString(filename);
		}
		goto LA11;
		LA13: ;
		{
			LOC10 = shortendir_169407(canon);
		}
		LA11: ;
		memset((void*)(&LOC16), 0, sizeof(LOC16));
		newfileinfo_195702(canon, LOC10, (&LOC16));
		fileinfos_195642 = (TY195621*) incrSeq(&(fileinfos_195642)->Sup, sizeof(tfileinfo195537));
		genericAssign((void*)(&fileinfos_195642->data[fileinfos_195642->Sup.len-1]), (void*)(&LOC16), (&NTI195537));
		HEX5BHEX5DHEX3D_195879((&filenametoindextbl_195620), canon, result);
	}
	LA4: ;
	return result;
}

N_NIMCALL(void, localerror_197955)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg) {
	limessage_197774(info, msg, arg, ((NU8) 0));
}

N_NIMCALL(NimStringDesc*, tofilename_197025)(NI32 fileidx) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(fileidx < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP153));
	}
	goto LA1;
	LA3: ;
	{
		result = copyString(fileinfos_195642->data[fileidx].Projpath);
	}
	LA1: ;
	return result;
}

N_NIMCALL(void, addcheckpoint_197161)(tlineinfo195539 info) {
	checkpoints_197151 = (TY196414*) incrSeq(&(checkpoints_197151)->Sup, sizeof(tlineinfo195539));
	checkpoints_197151->data[checkpoints_197151->Sup.len-1] = info;
}

N_NIMCALL(NU8, incheckpoint_197411)(tlineinfo195539 current) {
	NU8 result;
	result = 0;
	{
		NI i_197427;
		NI HEX3Atmp_197431;
		NI res_197434;
		i_197427 = 0;
		HEX3Atmp_197431 = 0;
		HEX3Atmp_197431 = (checkpoints_197151->Sup.len-1);
		res_197434 = 0;
		{
			while (1) {
				if (!(res_197434 <= HEX3Atmp_197431)) goto LA3;
				i_197427 = res_197434;
				{
					if (!(current.Fileindex == checkpoints_197151->data[i_197427].Fileindex)) goto LA6;
					{
						NIM_BOOL LOC10;
						LOC10 = 0;
						LOC10 = (current.Line == checkpoints_197151->data[i_197427].Line);
						if (!(LOC10)) goto LA11;
						LOC10 = (((NI16)(current.Col - checkpoints_197151->data[i_197427].Col) > 0? ((NI16)(current.Col - checkpoints_197151->data[i_197427].Col)) : -((NI16)(current.Col - checkpoints_197151->data[i_197427].Col))) < ((NI16) 4));
						LA11: ;
						if (!LOC10) goto LA12;
						result = ((NU8) 2);
						goto BeforeRet;
					}
					LA12: ;
					{
						if (!(checkpoints_197151->data[i_197427].Line <= current.Line)) goto LA16;
						result = ((NU8) 1);
						goto BeforeRet;
					}
					LA16: ;
				}
				LA6: ;
				res_197434 += 1;
			} LA3: ;
		}
	}
	BeforeRet: ;
	return result;
}

N_NIMCALL(void, suggestwriteln_196457)(NimStringDesc* s) {
	{
		if (!((erroroutputs_196440 &(1<<((((NU8) 0))&7)))!=0)) goto LA3;
		{
			TY197301 LOC9;
			if (!stdoutsocket_196318 == 0) goto LA7;
			memset((void*)LOC9, 0, sizeof(LOC9));
			LOC9[0] = copyString(s);
			writeln_170205(stdout, LOC9, 1);
		}
		goto LA5;
		LA7: ;
		{
			TY197301 LOC11;
			NimStringDesc* LOC12;
			memset((void*)LOC11, 0, sizeof(LOC11));
			LOC11[0] = copyString(s);
			writeln_170205(stdout, LOC11, 1);
			LOC12 = 0;
			LOC12 = rawNewString(s->Sup.len + 2);
appendString(LOC12, s);
appendString(LOC12, ((NimStringDesc*) &TMP1980));
			send_192808(stdoutsocket_196318, LOC12);
		}
		LA5: ;
	}
	LA3: ;
	{
		if (!((erroroutputs_196440 &(1<<((((NU8) 2))&7)))!=0)) goto LA15;
		safeadd_196660((&bufferedmsgs_196438), s);
	}
	LA15: ;
}

N_NIMCALL(void, globalerror_197934)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg) {
	limessage_197774(info, msg, arg, ((NU8) 2));
}

N_NIMCALL(void, pushinfocontext_196930)(tlineinfo195539 info) {
	msgcontext_196435 = (TY196414*) incrSeq(&(msgcontext_196435)->Sup, sizeof(tlineinfo195539));
	msgcontext_196435->data[msgcontext_196435->Sup.len-1] = info;
}

N_NIMCALL(void, popinfocontext_196957)(void) {
	msgcontext_196435 = (TY196414*) setLengthSeq(&(msgcontext_196435)->Sup, sizeof(tlineinfo195539), (NI32)(msgcontext_196435->Sup.len - 1));
}

N_NIMCALL(void, clearbufferedmsgs_196449)(void) {
	genericSeqAssign((&bufferedmsgs_196438), NIM_NIL, (&NTI120008));
}
N_NIMCALL(void, TMP2695)(void* p, NI op) {
	esuggestdone195547* a;
	a = (esuggestdone195547*)p;
	nimGCvisit((void*)(*a).Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.message, op);
	nimGCvisit((void*)(*a).Sup.trace, op);
}

N_NIMCALL(void, suggestquit_196846)(void) {
	{
		if (!!(isserving_169133)) goto LA3;
		exit(0);
	}
	goto LA1;
	LA3: ;
	{
		esuggestdone195547* e_196850;
		NimStringDesc* LOC8;
		if (!!((gdirtybufferidx_169134 == ((NI32) 0)))) goto LA6;
		e_196850 = 0;
		e_196850 = (esuggestdone195547*) newObj((&NTI196851), sizeof(esuggestdone195547));
		(*e_196850).Sup.Sup.m_type = (&NTI195547);
		LOC8 = 0;
		LOC8 = (*e_196850).Sup.message; (*e_196850).Sup.message = copyStringRC1(((NimStringDesc*) &TMP2696));
		if (LOC8) nimGCunrefNoCycle(LOC8);
		raiseException((Exception*)e_196850, "ESuggestDone");
	}
	goto LA1;
	LA6: ;
	LA1: ;
}

N_NIMCALL(void, globalerror_197945)(tlineinfo195539 info, NimStringDesc* arg) {
	limessage_197774(info, ((NU16) 4), arg, ((NU8) 2));
}

N_NIMCALL(NimStringDesc*, formatmsg_197757)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg) {
	NimStringDesc* result;
	NimStringDesc* frmt;
	TY197620 LOC4;
	result = 0;
	switch (msg) {
	case ((NU16) 230) ... ((NU16) 258):
	{
		frmt = copyString(((NimStringDesc*) &TMP1034));
	}
	break;
	case ((NU16) 259) ... ((NU16) 275):
	{
		frmt = copyString(((NimStringDesc*) &TMP1035));
	}
	break;
	default:
	{
		frmt = copyString(((NimStringDesc*) &TMP1033));
	}
	break;
	}
	memset((void*)LOC4, 0, sizeof(LOC4));
	LOC4[0] = tomsgfilename_197061(info);
	LOC4[1] = coordtostr_197368(((NI) (info.Line)));
	LOC4[2] = coordtostr_197368(((NI) (info.Col)));
	LOC4[3] = getmessagestr_197388(msg, arg);
	result = nsuFormatOpenArray(frmt, LOC4, 4);
	return result;
}

N_NIMCALL(void, localerror_197966)(tlineinfo195539 info, NimStringDesc* arg) {
	limessage_197774(info, ((NU16) 4), arg, ((NU8) 0));
}

N_NIMCALL(void, fatal_197923)(tlineinfo195539 info, NU16 msg, NimStringDesc* arg) {
	limessage_197774(info, msg, arg, ((NU8) 1));
}

N_NIMCALL(tlineinfo195539, getinfocontext_196992)(NI index) {
	tlineinfo195539 result;
	NI l;
	NI i;
	memset((void*)(&result), 0, sizeof(result));
	l = msgcontext_196435->Sup.len;
	{
		if (!(index < 0)) goto LA3;
		i = (NI32)(l + index);
	}
	goto LA1;
	LA3: ;
	{
		i = index;
	}
	LA1: ;
	{
		if (!((NU32)(l) <= (NU32)(i))) goto LA8;
		result = unknownlineinfo_196405();
	}
	goto LA6;
	LA8: ;
	{
		result = msgcontext_196435->data[i];
	}
	LA6: ;
	return result;
}

N_NIMCALL(NI, getinfocontextlen_196885)(void) {
	NI result;
	result = 0;
	result = msgcontext_196435->Sup.len;
	goto BeforeRet;
	BeforeRet: ;
	return result;
}

N_NIMCALL(void, setinfocontextlen_196905)(NI l) {
	msgcontext_196435 = (TY196414*) setLengthSeq(&(msgcontext_196435)->Sup, sizeof(tlineinfo195539), l);
}

N_NIMCALL(trope177009*, quotedfilename_198178)(tlineinfo195539 i) {
	trope177009* result;
	result = 0;
	{
		NimStringDesc* LOC5;
		if (!!((((NI32) 0) <= i.Fileindex))) goto LA3;
		LOC5 = 0;
		LOC5 = HEX24_198126(TMP3610);
		internalerror_198006(LOC5);
	}
	LA3: ;
	result = fileinfos_195642->data[i.Fileindex].Quotedname;
	return result;
}

N_NIMCALL(void, outwriteln_197198)(NimStringDesc* s) {
	{
		TY197301 LOC5;
		if (!((erroroutputs_196440 &(1<<((((NU8) 0))&7)))!=0)) goto LA3;
		memset((void*)LOC5, 0, sizeof(LOC5));
		LOC5[0] = copyString(s);
		writeln_170205(stdout, LOC5, 1);
	}
	LA3: ;
}
NIM_EXTERNC N_NOINLINE(void, HEX00_msgsInit)(void) {
	tfileinfo195537 LOC1;
	tfileinfo195537 LOC2;
	TY177138 LOC3;
	chckNil((void*)(&filenametoindextbl_195620));
	genericReset((void*)(&filenametoindextbl_195620), (&NTI195576));
	inittable_195568(64, (&filenametoindextbl_195620));
	if (fileinfos_195642) nimGCunrefNoCycle(fileinfos_195642);
	fileinfos_195642 = (TY195621*) newSeqRC1((&NTI195621), 0);
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	newfileinfo_195702(((NimStringDesc*) &TMP142), ((NimStringDesc*) &TMP144), (&LOC1));
	fileinfos_195642 = (TY195621*) incrSeq(&(fileinfos_195642)->Sup, sizeof(tfileinfo195537));
	genericAssign((void*)(&fileinfos_195642->data[fileinfos_195642->Sup.len-1]), (void*)(&LOC1), (&NTI195537));
	gcmdlineinfo_196192 = newlineinfo_196129(((NI32) 0), 1, 1);
	memset((void*)(&LOC2), 0, sizeof(LOC2));
	newfileinfo_195702(((NimStringDesc*) &TMP142), ((NimStringDesc*) &TMP145), (&LOC2));
	fileinfos_195642 = (TY195621*) incrSeq(&(fileinfos_195642)->Sup, sizeof(tfileinfo195537));
	genericAssign((void*)(&fileinfos_195642->data[fileinfos_195642->Sup.len-1]), (void*)(&LOC2), (&NTI195537));
	gcodegenlineinfo_196239 = newlineinfo_196129(((NI32) 1), 1, 1);
	gnotes_196305 = IL64(70368695418879);
	gerrorcounter_196306 = 0;
	ghintcounter_196307 = 0;
	gwarncounter_196308 = 0;
	gerrormax_196309 = 1;
	if (msgcontext_196435) nimGCunrefNoCycle(msgcontext_196435);
	msgcontext_196435 = (TY196414*) newSeqRC1((&NTI196414), 0);
	lasterror_196436 = unknownlineinfo_196405();
	erroroutputs_196440 = 3;
	if (checkpoints_197151) nimGCunrefNoCycle(checkpoints_197151);
	checkpoints_197151 = (TY196414*) newSeqRC1((&NTI196414), 0);
	memset((void*)(&LOC3), 0, sizeof(LOC3));
	LOC3.ClPrc = ((TMP433) (HEX3Aanonymous_198195)); LOC3.ClEnv = NIM_NIL;
	asgnRef((void**) (&errorhandler_177143.ClEnv), LOC3.ClEnv);
	errorhandler_177143.ClPrc = LOC3.ClPrc;
}

NIM_EXTERNC N_NOINLINE(void, HEX00_msgsDatInit)(void) {
static TNimNode* TMP138[5];
static TNimNode* TMP146[3];
static TNimNode* TMP1972[276];
NI TMP1974;
static char* NIM_CONST TMP1973[276] = {
"errUnknown", 
"errIllFormedAstX", 
"errInternal", 
"errCannotOpenFile", 
"errGenerated", 
"errXCompilerDoesNotSupportCpp", 
"errStringLiteralExpected", 
"errIntLiteralExpected", 
"errInvalidCharacterConstant", 
"errClosingTripleQuoteExpected", 
"errClosingQuoteExpected", 
"errTabulatorsAreNotAllowed", 
"errInvalidToken", 
"errLineTooLong", 
"errInvalidNumber", 
"errNumberOutOfRange", 
"errNnotAllowedInCharacter", 
"errClosingBracketExpected", 
"errMissingFinalQuote", 
"errIdentifierExpected", 
"errNewlineExpected", 
"errInvalidModuleName", 
"errOperatorExpected", 
"errTokenExpected", 
"errStringAfterIncludeExpected", 
"errRecursiveDependencyX", 
"errOnOrOffExpected", 
"errNoneSpeedOrSizeExpected", 
"errInvalidPragma", 
"errUnknownPragma", 
"errInvalidDirectiveX", 
"errAtPopWithoutPush", 
"errEmptyAsm", 
"errInvalidIndentation", 
"errExceptionExpected", 
"errExceptionAlreadyHandled", 
"errYieldNotAllowedHere", 
"errYieldNotAllowedInTryStmt", 
"errInvalidNumberOfYieldExpr", 
"errCannotReturnExpr", 
"errAttemptToRedefine", 
"errStmtInvalidAfterReturn", 
"errStmtExpected", 
"errInvalidLabel", 
"errInvalidCmdLineOption", 
"errCmdLineArgExpected", 
"errCmdLineNoArgExpected", 
"errInvalidVarSubstitution", 
"errUnknownVar", 
"errUnknownCcompiler", 
"errOnOrOffExpectedButXFound", 
"errNoneBoehmRefcExpectedButXFound", 
"errNoneSpeedOrSizeExpectedButXFound", 
"errGuiConsoleOrLibExpectedButXFound", 
"errUnknownOS", 
"errUnknownCPU", 
"errGenOutExpectedButXFound", 
"errArgsNeedRunOption", 
"errInvalidMultipleAsgn", 
"errColonOrEqualsExpected", 
"errExprExpected", 
"errUndeclaredIdentifier", 
"errUseQualifier", 
"errTypeExpected", 
"errSystemNeeds", 
"errExecutionOfProgramFailed", 
"errNotOverloadable", 
"errInvalidArgForX", 
"errStmtHasNoEffect", 
"errXExpectsTypeOrValue", 
"errXExpectsArrayType", 
"errIteratorCannotBeInstantiated", 
"errExprXAmbiguous", 
"errConstantDivisionByZero", 
"errOrdinalTypeExpected", 
"errOrdinalOrFloatTypeExpected", 
"errOverOrUnderflow", 
"errCannotEvalXBecauseIncompletelyDefined", 
"errChrExpectsRange0_255", 
"errDynlibRequiresExportc", 
"errUndeclaredFieldX", 
"errNilAccess", 
"errIndexOutOfBounds", 
"errIndexTypesDoNotMatch", 
"errBracketsInvalidForType", 
"errValueOutOfSetBounds", 
"errFieldInitTwice", 
"errFieldNotInit", 
"errExprXCannotBeCalled", 
"errExprHasNoType", 
"errExprXHasNoType", 
"errCastNotInSafeMode", 
"errExprCannotBeCastedToX", 
"errCommaOrParRiExpected", 
"errCurlyLeOrParLeExpected", 
"errSectionExpected", 
"errRangeExpected", 
"errMagicOnlyInSystem", 
"errPowerOfTwoExpected", 
"errStringMayNotBeEmpty", 
"errCallConvExpected", 
"errProcOnlyOneCallConv", 
"errSymbolMustBeImported", 
"errExprMustBeBool", 
"errConstExprExpected", 
"errDuplicateCaseLabel", 
"errRangeIsEmpty", 
"errSelectorMustBeOfCertainTypes", 
"errSelectorMustBeOrdinal", 
"errOrdXMustNotBeNegative", 
"errLenXinvalid", 
"errWrongNumberOfVariables", 
"errExprCannotBeRaised", 
"errBreakOnlyInLoop", 
"errTypeXhasUnknownSize", 
"errConstNeedsConstExpr", 
"errConstNeedsValue", 
"errResultCannotBeOpenArray", 
"errSizeTooBig", 
"errSetTooBig", 
"errBaseTypeMustBeOrdinal", 
"errInheritanceOnlyWithNonFinalObjects", 
"errInheritanceOnlyWithEnums", 
"errIllegalRecursionInTypeX", 
"errCannotInstantiateX", 
"errExprHasNoAddress", 
"errXStackEscape", 
"errVarForOutParamNeeded", 
"errPureTypeMismatch", 
"errTypeMismatch", 
"errButExpected", 
"errButExpectedX", 
"errAmbiguousCallXYZ", 
"errWrongNumberOfArguments", 
"errXCannotBePassedToProcVar", 
"errXCannotBeInParamDecl", 
"errPragmaOnlyInHeaderOfProc", 
"errImplOfXNotAllowed", 
"errImplOfXexpected", 
"errNoSymbolToBorrowFromFound", 
"errDiscardValueX", 
"errInvalidDiscard", 
"errIllegalConvFromXtoY", 
"errCannotBindXTwice", 
"errInvalidOrderInArrayConstructor", 
"errInvalidOrderInEnumX", 
"errEnumXHasHoles", 
"errExceptExpected", 
"errInvalidTry", 
"errOptionExpected", 
"errXisNoLabel", 
"errNotAllCasesCovered", 
"errUnkownSubstitionVar", 
"errComplexStmtRequiresInd", 
"errXisNotCallable", 
"errNoPragmasAllowedForX", 
"errNoGenericParamsAllowedForX", 
"errInvalidParamKindX", 
"errDefaultArgumentInvalid", 
"errNamedParamHasToBeIdent", 
"errNoReturnTypeForX", 
"errConvNeedsOneArg", 
"errInvalidPragmaX", 
"errXNotAllowedHere", 
"errInvalidControlFlowX", 
"errXisNoType", 
"errCircumNeedsPointer", 
"errInvalidExpression", 
"errInvalidExpressionX", 
"errEnumHasNoValueX", 
"errNamedExprExpected", 
"errNamedExprNotAllowed", 
"errXExpectsOneTypeParam", 
"errArrayExpectsTwoTypeParams", 
"errInvalidVisibilityX", 
"errInitHereNotAllowed", 
"errXCannotBeAssignedTo", 
"errIteratorNotAllowed", 
"errXNeedsReturnType", 
"errNoReturnTypeDeclared", 
"errInvalidCommandX", 
"errXOnlyAtModuleScope", 
"errXNeedsParamObjectType", 
"errTemplateInstantiationTooNested", 
"errInstantiationFrom", 
"errInvalidIndexValueForTuple", 
"errCommandExpectsFilename", 
"errMainModuleMustBeSpecified", 
"errXExpected", 
"errTIsNotAConcreteType", 
"errInvalidSectionStart", 
"errGridTableNotImplemented", 
"errGeneralParseError", 
"errNewSectionExpected", 
"errWhitespaceExpected", 
"errXisNoValidIndexFile", 
"errCannotRenderX", 
"errVarVarTypeNotAllowed", 
"errInstantiateXExplicitely", 
"errOnlyACallOpCanBeDelegator", 
"errUsingNoSymbol", 
"errMacroBodyDependsOnGenericTypes", 
"errDestructorNotGenericEnough", 
"errInlineIteratorsAsProcParams", 
"errXExpectsTwoArguments", 
"errXExpectsObjectTypes", 
"errXcanNeverBeOfThisSubtype", 
"errTooManyIterations", 
"errCannotInterpretNodeX", 
"errFieldXNotFound", 
"errInvalidConversionFromTypeX", 
"errAssertionFailed", 
"errCannotGenerateCodeForX", 
"errXRequiresOneArgument", 
"errUnhandledExceptionX", 
"errCyclicTree", 
"errXisNoMacroOrTemplate", 
"errXhasSideEffects", 
"errIteratorExpected", 
"errLetNeedsInit", 
"errThreadvarCannotInit", 
"errWrongSymbolX", 
"errIllegalCaptureX", 
"errXCannotBeClosure", 
"errXMustBeCompileTime", 
"errCannotInferTypeOfTheLiteral", 
"errCannotInferReturnType", 
"errGenericLambdaNotAllowed", 
"errCompilerDoesntSupportTarget", 
"errUser", 
"warnCannotOpenFile", 
"warnOctalEscape", 
"warnXIsNeverRead", 
"warnXmightNotBeenInit", 
"warnDeprecated", 
"warnConfigDeprecated", 
"warnSmallLshouldNotBeUsed", 
"warnUnknownMagic", 
"warnRedefinitionOfLabel", 
"warnUnknownSubstitutionX", 
"warnLanguageXNotSupported", 
"warnFieldXNotSupported", 
"warnCommentXIgnored", 
"warnNilStatement", 
"warnAnalysisLoophole", 
"warnDifferentHeaps", 
"warnWriteToForeignHeap", 
"warnUnsafeCode", 
"warnEachIdentIsTuple", 
"warnShadowIdent", 
"warnProveInit", 
"warnProveField", 
"warnProveIndex", 
"warnGcUnsafe", 
"warnGcUnsafe2", 
"warnUninit", 
"warnGcMem", 
"warnLockLevel", 
"warnUser", 
"hintSuccess", 
"hintSuccessX", 
"hintLineTooLong", 
"hintXDeclaredButNotUsed", 
"hintConvToBaseNotNeeded", 
"hintConvFromXtoItselfNotNeeded", 
"hintExprAlwaysX", 
"hintQuitCalled", 
"hintProcessing", 
"hintCodeBegin", 
"hintCodeEnd", 
"hintConf", 
"hintPath", 
"hintConditionAlwaysTrue", 
"hintName", 
"hintPattern", 
"hintUser"};
static TNimNode TMP19[290];
NTI195537.size = sizeof(tfileinfo195537);
NTI195537.kind = 18;
NTI195537.base = 0;
NTI195537.flags = 2;
TMP138[0] = &TMP19[1];
TMP19[1].kind = 1;
TMP19[1].offset = offsetof(tfileinfo195537, Fullpath);
TMP19[1].typ = (&NTI149);
TMP19[1].name = "fullPath";
TMP138[1] = &TMP19[2];
TMP19[2].kind = 1;
TMP19[2].offset = offsetof(tfileinfo195537, Projpath);
TMP19[2].typ = (&NTI149);
TMP19[2].name = "projPath";
TMP138[2] = &TMP19[3];
TMP19[3].kind = 1;
TMP19[3].offset = offsetof(tfileinfo195537, Shortname);
TMP19[3].typ = (&NTI149);
TMP19[3].name = "shortName";
TMP138[3] = &TMP19[4];
TMP19[4].kind = 1;
TMP19[4].offset = offsetof(tfileinfo195537, Quotedname);
TMP19[4].typ = (&NTI177007);
TMP19[4].name = "quotedName";
TMP138[4] = &TMP19[5];
NTI195552.size = sizeof(TY195552*);
NTI195552.kind = 24;
NTI195552.base = (&NTI177007);
NTI195552.flags = 2;
NTI195552.marker = TMP139;
TMP19[5].kind = 1;
TMP19[5].offset = offsetof(tfileinfo195537, Lines);
TMP19[5].typ = (&NTI195552);
TMP19[5].name = "lines";
TMP19[0].len = 5; TMP19[0].kind = 2; TMP19[0].sons = &TMP138[0];
NTI195537.node = &TMP19[0];
NTI195621.size = sizeof(TY195621*);
NTI195621.kind = 24;
NTI195621.base = (&NTI195537);
NTI195621.flags = 2;
NTI195621.marker = TMP140;
NTI195539.size = sizeof(tlineinfo195539);
NTI195539.kind = 18;
NTI195539.base = 0;
NTI195539.flags = 3;
TMP146[0] = &TMP19[7];
TMP19[7].kind = 1;
TMP19[7].offset = offsetof(tlineinfo195539, Line);
TMP19[7].typ = (&NTI112);
TMP19[7].name = "line";
TMP146[1] = &TMP19[8];
TMP19[8].kind = 1;
TMP19[8].offset = offsetof(tlineinfo195539, Col);
TMP19[8].typ = (&NTI112);
TMP19[8].name = "col";
TMP146[2] = &TMP19[9];
TMP19[9].kind = 1;
TMP19[9].offset = offsetof(tlineinfo195539, Fileindex);
TMP19[9].typ = (&NTI114);
TMP19[9].name = "fileIndex";
TMP19[6].len = 3; TMP19[6].kind = 2; TMP19[6].sons = &TMP146[0];
NTI195539.node = &TMP19[6];
NTI196414.size = sizeof(TY196414*);
NTI196414.kind = 24;
NTI196414.base = (&NTI195539);
NTI196414.flags = 2;
NTI196414.marker = TMP147;
NTI195545.size = sizeof(erecoverableerror195545);
NTI195545.kind = 17;
NTI195545.base = (&NTI3249);
TMP19[10].len = 0; TMP19[10].kind = 2;
NTI195545.node = &TMP19[10];
NTI196253.size = sizeof(erecoverableerror195545*);
NTI196253.kind = 22;
NTI196253.base = (&NTI195545);
NTI196253.marker = TMP430;
NTI195205.size = sizeof(NU16);
NTI195205.kind = 14;
NTI195205.base = 0;
NTI195205.flags = 3;
for (TMP1974 = 0; TMP1974 < 276; TMP1974++) {
TMP19[TMP1974+11].kind = 1;
TMP19[TMP1974+11].offset = TMP1974;
TMP19[TMP1974+11].name = TMP1973[TMP1974];
TMP1972[TMP1974] = &TMP19[TMP1974+11];
}
TMP19[287].len = 276; TMP19[287].kind = 2; TMP19[287].sons = &TMP1972[0];
NTI195205.node = &TMP19[287];
NTI195533.size = sizeof(NU16);
NTI195533.kind = 20;
NTI195533.base = (&NTI195205);
NTI195533.flags = 3;
NTI195535.size = sizeof(NU64);
NTI195535.kind = 19;
NTI195535.base = (&NTI195533);
NTI195535.flags = 3;
TMP19[288].len = 230; TMP19[288].kind = 0;
NTI195535.node = &TMP19[288];
NTI195547.size = sizeof(esuggestdone195547);
NTI195547.kind = 17;
NTI195547.base = (&NTI3227);
TMP19[289].len = 0; TMP19[289].kind = 2;
NTI195547.node = &TMP19[289];
NTI196851.size = sizeof(esuggestdone195547*);
NTI196851.kind = 22;
NTI196851.base = (&NTI195547);
NTI196851.marker = TMP2695;
}

