text: /* Generated by Nim Compiler v0.15.0 */
  /*   (c) 2016 Andreas Rumpf */
  /* The generated code is subject to the original license. */
  #define NIM_INTBITS 32
  
  #include "nimbase.h"
  #include <string.h>
  #include <setjmp.h>
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct Cell47305 Cell47305;
  typedef struct Cellseq47321 Cellseq47321;
  typedef struct Gcheap49818 Gcheap49818;
  typedef struct Gcstack49816 Gcstack49816;
  typedef struct Memregion29485 Memregion29485;
  typedef struct Smallchunk29439 Smallchunk29439;
  typedef struct Llchunk29479 Llchunk29479;
  typedef struct Bigchunk29441 Bigchunk29441;
  typedef struct Intset29414 Intset29414;
  typedef struct Trunk29410 Trunk29410;
  typedef struct Avlnode29483 Avlnode29483;
  typedef struct Gcstat49814 Gcstat49814;
  typedef struct Cellset47317 Cellset47317;
  typedef struct Pagedesc47313 Pagedesc47313;
  typedef struct Tinfoos177035 Tinfoos177035;
  typedef struct Tinfocpu177476 Tinfocpu177476;
  typedef struct Optparser279405 Optparser279405;
  typedef struct TNimObject TNimObject;
  typedef struct TY135002 TY135002;
  typedef struct Tlineinfo192336 Tlineinfo192336;
  typedef struct Exception Exception;
  typedef struct TSafePoint TSafePoint;
  typedef struct TY128506 TY128506;
  typedef struct Tlinkedlist147013 Tlinkedlist147013;
  typedef struct Tlistentry147007 Tlistentry147007;
  typedef struct Slice90651 Slice90651;
  typedef struct Basechunk29437 Basechunk29437;
  typedef struct Freecell29429 Freecell29429;
  typedef NU64 Tnotekind192330Set;
  struct  TGenericSeq  {
  NI len;
  NI reserved;
  };
  struct  NimStringDesc  {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  typedef NU8 Tnimkind3403;
  typedef NU8 Tnimtypeflag3409Set;
  typedef N_NIMCALL_PTR(void, TY3489) (void* p0, NI op0);
  typedef N_NIMCALL_PTR(void*, TY3494) (void* p0);
  struct  TNimType  {
  NI size;
  Tnimkind3403 kind;
  Tnimtypeflag3409Set flags;
  TNimType* base;
  TNimNode* node;
  void* finalizer;
  TY3489 marker;
  TY3494 deepcopy;
  };
  typedef NU8 Tnimnodekind3405;
  struct  TNimNode  {
  Tnimnodekind3405 kind;
  NI offset;
  TNimType* typ;
  NCSTRING name;
  NI len;
  TNimNode** sons;
  };
  typedef N_NIMCALL_PTR(void, Globalmarkerproc55802) (void);
  struct  Cell47305  {
  NI refcount;
  TNimType* typ;
  };
  struct  Cellseq47321  {
  NI len;
  NI cap;
  Cell47305** d;
  };
  typedef Smallchunk29439* TY29500[512];
  typedef Trunk29410* Trunkbuckets29412[256];
  struct  Intset29414  {
  Trunkbuckets29412 data;
  };
  struct  Memregion29485  {
  NI minlargeobj;
  NI maxlargeobj;
  TY29500 freesmallchunks;
  Llchunk29479* llmem;
  NI currmem;
  NI maxmem;
  NI freemem;
  NI lastsize;
  Bigchunk29441* freechunkslist;
  Intset29414 chunkstarts;
  Avlnode29483* root;
  Avlnode29483* deleted;
  Avlnode29483* last;
  Avlnode29483* freeavlnodes;
  NIM_BOOL locked;
  };
  struct  Gcstat49814  {
  NI stackscans;
  NI cyclecollections;
  NI maxthreshold;
  NI maxstacksize;
  NI maxstackcells;
  NI cycletablesize;
  NI64 maxpause;
  };
  struct  Cellset47317  {
  NI counter;
  NI max;
  Pagedesc47313* head;
  Pagedesc47313** data;
  };
  struct  Gcheap49818  {
  Gcstack49816* stack;
  void* stackbottom;
  NI cyclethreshold;
  Cellseq47321 zct;
  Cellseq47321 decstack;
  Cellseq47321 tempstack;
  NI recgclock;
  Memregion29485 region;
  Gcstat49814 stat;
  Cellset47317 marked;
  Cellseq47321 additionalroots;
  };
  typedef NU8 Msgflag193444Set;
  typedef NimStringDesc* TY194140[3];
  typedef NU8 Tinfoosprop177031Set;
  struct Tinfoos177035 {
  NimStringDesc* Field0;
  NimStringDesc* Field1;
  NimStringDesc* Field2;
  NimStringDesc* Field3;
  NimStringDesc* Field4;
  NimStringDesc* Field5;
  NimStringDesc* Field6;
  NimStringDesc* Field7;
  NimStringDesc* Field8;
  NimStringDesc* Field9;
  NimStringDesc* Field10;
  NimStringDesc* Field11;
  Tinfoosprop177031Set Field12;
  };
  typedef Tinfoos177035 TY177082[24];
  typedef NU8 Tsystemos177004;
  typedef NU8 Tendian177474;
  struct Tinfocpu177476 {
  NimStringDesc* Field0;
  NI Field1;
  Tendian177474 Field2;
  NI Field3;
  NI Field4;
  };
  typedef Tinfocpu177476 TY177510[19];
  typedef NU8 Tsystemcpu177452;
  typedef NU8 Tcmdlinepass281008;
  struct  TNimObject  {
  TNimType* m_type;
  };
  typedef NU8 Cmdlinekind279403;
  struct  Optparser279405  {
    TNimObject Sup;
  NimStringDesc* cmd;
  NI pos;
  NIM_BOOL inshortstate;
  Cmdlinekind279403 kind;
  NimStringDesc* key;
  NimStringDesc* val;
  };
  struct  Tlineinfo192336  {
  NI16 line;
  NI16 col;
  NI32 fileindex;
  };
  typedef NU16 Tmsgkind192002;
  struct  Exception  {
    TNimObject Sup;
  Exception* parent;
  NCSTRING name;
  NimStringDesc* message;
  NimStringDesc* trace;
  };
  typedef struct {
  N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv);
  void* ClEnv;
  } TY17211;
  struct  TSafePoint  {
  TSafePoint* prev;
  NI status;
  jmp_buf context;
  NIM_BOOL hasRaiseAction;
  TY17211 raiseAction;
  };
  struct TY128506 {
  NimStringDesc* Field0;
  NimStringDesc* Field1;
  NimStringDesc* Field2;
  };
  struct  Tlinkedlist147013  {
  Tlistentry147007* head;
  Tlistentry147007* tail;
  NI counter;
  };
  struct  Slice90651  {
  NI a;
  NI b;
  };
  typedef NU8 char136Set[32];
  typedef NU64 Tglobaloption170013Set;
  typedef NU8 Tglobaloption170013;
  typedef NU8 Tgcmode170080;
  typedef NU32 Toption170009Set;
  typedef NU16 Tspecialword276003;
  typedef NimStringDesc* TY192307[23];
  typedef NimStringDesc* TY192302[31];
  typedef NU8 Toption170009;
  typedef Tnotekind192330Set TY192364[4];
  typedef NU8 Idecmd170082;
  typedef NU8 Tsystemcc274002;
  typedef NimStringDesc* TY193732[1];
  struct  Gcstack49816  {
  Gcstack49816* prev;
  Gcstack49816* next;
  void* starts;
  void* pos;
  NI maxstacksize;
  };
  struct  Basechunk29437  {
  NI prevsize;
  NI size;
  NIM_BOOL used;
  };
  struct  Smallchunk29439  {
    Basechunk29437 Sup;
  Smallchunk29439* next;
  Smallchunk29439* prev;
  Freecell29429* freelist;
  NI free;
  NI acc;
  NF data;
  };
  struct  Llchunk29479  {
  NI size;
  NI acc;
  Llchunk29479* next;
  };
  struct  Bigchunk29441  {
    Basechunk29437 Sup;
  Bigchunk29441* next;
  Bigchunk29441* prev;
  NI align;
  NF data;
  };
  typedef NI TY29418[16];
  struct  Trunk29410  {
  Trunk29410* next;
  NI key;
  TY29418 bits;
  };
  typedef Avlnode29483* TY29490[2];
  struct  Avlnode29483  {
  TY29490 link;
  NI key;
  NI upperbound;
  NI level;
  };
  struct  Pagedesc47313  {
  Pagedesc47313* next;
  NI key;
  TY29418 bits;
  };
  struct  Tlistentry147007  {
    TNimObject Sup;
  Tlistentry147007* prev;
  Tlistentry147007* next;
  };
  struct  Freecell29429  {
  Freecell29429* next;
  NI zerofield;
  };
  struct TY135002 {
    TGenericSeq Sup;
    NimStringDesc* data[SEQ_DECL_SIZE];
  };
  N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
  N_NIMCALL(void, T2004575671_2)(void);
  N_NIMCALL(void, nimRegisterGlobalMarker)(Globalmarkerproc55802 markerproc0);
  N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
  static N_INLINE(Cell47305*, usrtocell_51440_1689653243)(void* usr0);
  static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47305* c0);
  N_NOINLINE(void, addzct_51417_1689653243)(Cellseq47321* s0, Cell47305* c0);
  N_NIMCALL(void, msgwriteln_193450_155036129)(NimStringDesc* s0, Msgflag193444Set flags0);
  N_NIMCALL(NimStringDesc*, getcommandlinedesc_281025_2004575671)(void);
  N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0);
  N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
  static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
  static N_INLINE(void, copymem_7485_1689653243)(void* dest0, void* source0, NI size0);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
  N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s0, NimStringDesc* suffix0);
  N_NIMCALL(NimStringDesc*, nosunixToNativePath)(NimStringDesc* path0, NimStringDesc* drive0);
  static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
  N_NIMCALL(NimStringDesc*, npocmdLineRest)(Optparser279405* p0);
  N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0);
  N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s0, NIM_CHAR sub0, NI start0);
  N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_79210_1689653243, NI last0);
  N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0);
  N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0);
  N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI first0);
  static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0);
  N_NIMCALL(void, processswitch_281016_2004575671)(NimStringDesc* switch_281018_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s0);
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0);
  static N_INLINE(NIM_BOOL, equalmem_7495_1689653243)(void* a0, void* b0, NI size0);
  N_NIMCALL(NI, hashString)(NimStringDesc* s0);
  N_NIMCALL(void, expectarg_281354_2004575671)(NimStringDesc* switch_281356_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, localerror_197080_155036129)(Tlineinfo192336 info0, Tmsgkind192002 msg0, NimStringDesc* arg0);
  N_NIMCALL(NimStringDesc*, addprefix_281206_2004575671)(NimStringDesc* switch_281208_2004575671);
  N_NIMCALL(void, addpath_277002_1623492514)(NimStringDesc* path0, Tlineinfo192336 info0);
  N_NIMCALL(NimStringDesc*, processpath_282061_2004575671)(NimStringDesc* path0, Tlineinfo192336 info0, NIM_BOOL notrelativetoproj0);
  N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path0);
  N_NIMCALL(NIM_BOOL, contains_110046_4286263276)(NimStringDesc* s0, NIM_CHAR c0);
  N_NIMCALL(NimStringDesc*, HEX2F_128265_2125978480)(NimStringDesc* head0, NimStringDesc* tail0);
  static N_INLINE(void, pushSafePoint)(TSafePoint* s0);
  N_NIMCALL(NimStringDesc*, pathsubs_171084_2607990831)(NimStringDesc* p0, NimStringDesc* config0);
  N_NIMCALL(void, nossplitFile)(NimStringDesc* path0, TY128506* Result);
  N_NIMCALL(NimStringDesc*, tofullpath_193264_155036129)(NI32 fileidx0);
  static N_INLINE(void, popSafePoint)(void);
  N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj0, TNimType* subclass0);
  static N_INLINE(Exception*, getCurrentException)(void);
  N_NIMCALL(void, localerror_197085_155036129)(Tlineinfo192336 info0, NimStringDesc* arg0);
  static N_INLINE(void, popCurrentException)(void);
  static N_INLINE(void, asgnRef)(void** dest0, void* src0);
  static N_INLINE(void, incref_53419_1689653243)(Cell47305* c0);
  static N_INLINE(void, decref_53001_1689653243)(Cell47305* c0);
  N_NIMCALL(void, reraiseException)(void);
  N_NIMCALL(void, nimblepath_277193_1623492514)(NimStringDesc* path0, Tlineinfo192336 info0);
  N_NIMCALL(void, expectnoarg_281360_2004575671)(NimStringDesc* switch_281362_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, excludepath_147801_3771138726)(Tlinkedlist147013* list0, NimStringDesc* data0);
  static N_INLINE(NimStringDesc*, HEX5BHEX5D_90644_1689653243)(NimStringDesc* s0, Slice90651 x0);
  static N_INLINE(Slice90651, HEX2EHEX2E_109260_1689653243)(NI a0, NI b0);
  N_NIMCALL(NIM_BOOL, contains_110056_4286263276)(NimStringDesc* s0, char136Set chars0);
  N_NIMCALL(void, splitswitch_281215_2004575671)(NimStringDesc* switch_281217_2004575671, NimStringDesc** cmd0, NimStringDesc** arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0);
  N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
  N_NIMCALL(void, invalidcmdlineoption_281210_2004575671)(Tcmdlinepass281008 pass0, NimStringDesc* switch_281213_2004575671, Tlineinfo192336 info0);
  N_NIMCALL(void, definesymbol_201004_1967573533)(NimStringDesc* symbol0, NimStringDesc* value0);
  N_NIMCALL(void, undefsymbol_201008_1967573533)(NimStringDesc* symbol0);
  N_NIMCALL(void, processcompile_281518_2004575671)(NimStringDesc* filename0);
  N_NIMCALL(NimStringDesc*, findfile_171483_2607990831)(NimStringDesc* f0);
  N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
  N_NIMCALL(void, addexternalfiletocompile_275419_2528170400)(NimStringDesc* filename0);
  N_NIMCALL(void, addfiletolink_274872_2528170400)(NimStringDesc* filename0);
  N_NIMCALL(NimStringDesc*, completecfilepath_274854_2528170400)(NimStringDesc* cfile0, NIM_BOOL createsubdir0);
  N_NIMCALL(NIM_BOOL, processonoffswitchorlist_281293_2004575671)(Toption170009Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(Tspecialword276003, whichkeyword_276369_1391470768)(NimStringDesc* id0);
  N_NIMCALL(void, listwarnings_197844_155036129)(void);
  N_NIMCALL(void, processspecificnote_281370_2004575671)(NimStringDesc* arg0, Tspecialword276003 state0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0, NimStringDesc* orig0);
  N_NIMCALL(NI, findstr_276339_1391470768)(NimStringDesc** a0, NI a0Len0, NimStringDesc* s0);
  N_NIMCALL(void, listhints_198051_155036129)(void);
  N_NIMCALL(void, processonoffswitchg_281324_2004575671)(Tglobaloption170013Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, processonoffswitch_281263_2004575671)(Toption170009Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, addcompileoption_274830_2528170400)(NimStringDesc* option0);
  N_NIMCALL(void, addlinkoption_274826_2528170400)(NimStringDesc* option0);
  N_NIMCALL(Tsystemos177004, nametoos_177635_4151366050)(NimStringDesc* name0);
  N_NIMCALL(void, settarget_177649_4151366050)(Tsystemos177004 o0, Tsystemcpu177452 c0);
  N_NIMCALL(Tsystemcpu177452, nametocpu_177638_4151366050)(NimStringDesc* name0);
  N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s0);
  N_NIMCALL(void, writeversioninfo_281058_2004575671)(Tcmdlinepass281008 pass0);
  N_NIMCALL(void, msgquit_193149_155036129)(NI8 x0);
  N_NIMCALL(void, writeadvancedusage_281043_2004575671)(Tcmdlinepass281008 pass0);
  N_NIMCALL(void, helponerror_281030_2004575671)(Tcmdlinepass281008 pass0);
  N_NIMCALL(void, putenv_135638_2125978480)(NimStringDesc* key0, NimStringDesc* val0);
  N_NIMCALL(void, setcc_274684_2528170400)(NimStringDesc* ccname0);
  N_NIMCALL(void, track_282089_2004575671)(NimStringDesc* arg0, Tlineinfo192336 info0);
  N_NIMCALL(TY135002*, nsuSplitChar)(NimStringDesc* s0, NIM_CHAR sep0, NI maxsplit0);
  N_NIMCALL(NI, npuParseInt)(NimStringDesc* s0, NI* number0, NI start0);
  static N_INLINE(Tlineinfo192336, newlineinfo_193021_155036129)(NimStringDesc* filename0, NI line0, NI col0);
  N_NIMCALL(Tlineinfo192336, newlineinfo_193015_155036129)(NI32 fileinfoidx0, NI line0, NI col0);
  N_NIMCALL(NI32, fileinfoidx_193008_155036129)(NimStringDesc* filename0);
  N_NIMCALL(void, trackdirty_282069_2004575671)(NimStringDesc* arg0, Tlineinfo192336 info0);
  N_NIMCALL(void, setdirtyfile_193268_155036129)(NI32 fileidx0, NimStringDesc* filename0);
  N_NIMCALL(void, dynliboverride_282108_2004575671)(NimStringDesc* switch_282110_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0);
  N_NIMCALL(void, incldynliboverride_171643_2607990831)(NimStringDesc* lib0);
  N_NIMCALL(Tsystemcc274002, nametocc_274518_2528170400)(NimStringDesc* name0);
  N_NIMCALL(void, setconfigvar_170296_2607990831)(NimStringDesc* key0, NimStringDesc* val0);
  N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
  STRING_LITERAL(T2004575671_3, "", 0);
  STRING_LITERAL(T2004575671_4, "Nim Compiler Version $1 (2016-09-30) [$2: $3]\012Copyright (c) 200"
  "6-2016 by Andreas Rumpf\012", 87);
  STRING_LITERAL(T2004575671_5, "0.15.0", 6);
  extern NIM_CONST TY177082 Os_177068_4151366050;
  extern NIM_CONST TY177510 Cpu_177496_4151366050;
  STRING_LITERAL(T2004575671_6, "::\012\012    nim command [options] [projectfile] [arguments]\012\012Comman"
  "d:\012  compile, c                compile project with default code"
  " generator (C)\012  doc                       generate the document"
  "ation for inputfile\012  doc2                      generate the doc"
  "umentation for the whole project\012\012Arguments:\012  arguments are pas"
  "sed to the program being run (if --run option is selected)\012Optio"
  "ns:\012  -p, --path:PATH           add path to search paths\012  -d, -"
  "-define:SYMBOL(:VAL)\012                            define a condit"
  "ional symbol\012                            (Optionally: Define the"
  " value for that symbol)\012  -u, --undef:SYMBOL        undefine a c"
  "onditional symbol\012  -f, --forceBuild          force rebuilding o"
  "f all modules\012  --stackTrace:on|off       turn stack tracing on|"
  "off\012  --lineTrace:on|off        turn line tracing on|off\012  --thr"
  "eads:on|off          turn support for multi-threading on|off\012  -"
  "x, --checks:on|off       turn all runtime checks on|off\012  --objC"
  "hecks:on|off        turn obj conversion checks on|off\012  --fieldC"
  "hecks:on|off      turn case variant field checks on|off\012  --rang"
  "eChecks:on|off      turn range checks on|off\012  --boundChecks:on|"
  "off      turn bound checks on|off\012  --overflowChecks:on|off   tu"
  "rn int over-/underflow checks on|off\012  -a, --assertions:on|off  "
  " turn assertions on|off\012  --floatChecks:on|off      turn all flo"
  "ating point (NaN/Inf) checks on|off\012  --nanChecks:on|off        "
  "turn NaN checks on|off\012  --infChecks:on|off        turn Inf chec"
  "ks on|off\012  --deadCodeElim:on|off     whole program dead code el"
  "imination on|off\012  --opt:none|speed|size     optimize not at all"
  " or for speed|size\012                            Note: use -d:rele"
  "ase for a release build!\012  --debugger:native|endb    use native "
  "debugger (gdb) | ENDB (experimental)\012  --app:console|gui|lib|sta"
  "ticlib\012                            generate a console app|GUI ap"
  "p|DLL|static library\012  -r, --run                 run the compile"
  "d program with given arguments\012  --advanced                show "
  "advanced command line switches\012  -h, --help                show "
  "this help\012\012Note, single letter options that take an argument req"
  "uire a colon. E.g. -p:PATH.\012", 2139);
  STRING_LITERAL(T2004575671_7, ".nims", 5);
  STRING_LITERAL(T2004575671_8, "e", 1);
  STRING_LITERAL(T2004575671_9, "path", 4);
  STRING_LITERAL(T2004575671_10, "p", 1);
  STRING_LITERAL(T2004575671_11, "nimblepath", 10);
  STRING_LITERAL(T2004575671_12, "babelpath", 9);
  STRING_LITERAL(T2004575671_13, "nonimblepath", 12);
  STRING_LITERAL(T2004575671_14, "nobabelpath", 11);
  STRING_LITERAL(T2004575671_15, "excludepath", 11);
  STRING_LITERAL(T2004575671_16, "nimcache", 8);
  STRING_LITERAL(T2004575671_17, "out", 3);
  STRING_LITERAL(T2004575671_18, "o", 1);
  STRING_LITERAL(T2004575671_19, "docseesrcurl", 12);
  STRING_LITERAL(T2004575671_20, "mainmodule", 10);
  STRING_LITERAL(T2004575671_21, "m", 1);
  STRING_LITERAL(T2004575671_22, "define", 6);
  STRING_LITERAL(T2004575671_23, "d", 1);
  STRING_LITERAL(T2004575671_24, "undef", 5);
  STRING_LITERAL(T2004575671_25, "u", 1);
  STRING_LITERAL(T2004575671_26, "symbol", 6);
  STRING_LITERAL(T2004575671_27, "compile", 7);
  STRING_LITERAL(T2004575671_28, "link", 4);
  STRING_LITERAL(T2004575671_29, "debuginfo", 9);
  STRING_LITERAL(T2004575671_30, "embedsrc", 8);
  STRING_LITERAL(T2004575671_31, "compileonly", 11);
  STRING_LITERAL(T2004575671_32, "c", 1);
  STRING_LITERAL(T2004575671_33, "nolinking", 9);
  STRING_LITERAL(T2004575671_34, "nomain", 6);
  STRING_LITERAL(T2004575671_35, "forcebuild", 10);
  STRING_LITERAL(T2004575671_36, "f", 1);
  STRING_LITERAL(T2004575671_37, "project", 7);
  STRING_LITERAL(T2004575671_38, "gc", 2);
  STRING_LITERAL(T2004575671_39, "warnings", 8);
  STRING_LITERAL(T2004575671_40, "w", 1);
  STRING_LITERAL(T2004575671_41, "warning", 7);
  STRING_LITERAL(T2004575671_42, "hint", 4);
  STRING_LITERAL(T2004575671_43, "hints", 5);
  STRING_LITERAL(T2004575671_44, "threadanalysis", 14);
  STRING_LITERAL(T2004575671_45, "stacktrace", 10);
  STRING_LITERAL(T2004575671_46, "excessivestacktrace", 19);
  STRING_LITERAL(T2004575671_47, "linetrace", 9);
  STRING_LITERAL(T2004575671_48, "debugger", 8);
  STRING_LITERAL(T2004575671_49, "profiler", 8);
  STRING_LITERAL(T2004575671_50, "checks", 6);
  STRING_LITERAL(T2004575671_51, "x", 1);
  STRING_LITERAL(T2004575671_52, "floatchecks", 11);
  STRING_LITERAL(T2004575671_53, "infchecks", 9);
  STRING_LITERAL(T2004575671_54, "nanchecks", 9);
  STRING_LITERAL(T2004575671_55, "objchecks", 9);
  STRING_LITERAL(T2004575671_56, "fieldchecks", 11);
  STRING_LITERAL(T2004575671_57, "rangechecks", 11);
  STRING_LITERAL(T2004575671_58, "boundchecks", 11);
  STRING_LITERAL(T2004575671_59, "overflowchecks", 14);
  STRING_LITERAL(T2004575671_60, "linedir", 7);
  STRING_LITERAL(T2004575671_61, "assertions", 10);
  STRING_LITERAL(T2004575671_62, "a", 1);
  STRING_LITERAL(T2004575671_63, "deadcodeelim", 12);
  STRING_LITERAL(T2004575671_64, "reportconceptfailures", 21);
  STRING_LITERAL(T2004575671_65, "threads", 7);
  STRING_LITERAL(T2004575671_66, "tlsemulation", 12);
  STRING_LITERAL(T2004575671_67, "taintmode", 9);
  STRING_LITERAL(T2004575671_68, "implicitstatic", 14);
  STRING_LITERAL(T2004575671_69, "patterns", 8);
  STRING_LITERAL(T2004575671_70, "opt", 3);
  STRING_LITERAL(T2004575671_71, "app", 3);
  STRING_LITERAL(T2004575671_72, "passc", 5);
  STRING_LITERAL(T2004575671_73, "t", 1);
  STRING_LITERAL(T2004575671_74, "passl", 5);
  STRING_LITERAL(T2004575671_75, "l", 1);
  STRING_LITERAL(T2004575671_76, "cincludes", 9);
  STRING_LITERAL(T2004575671_77, "clibdir", 7);
  STRING_LITERAL(T2004575671_78, "clib", 4);
  STRING_LITERAL(T2004575671_79, "header", 6);
  STRING_LITERAL(T2004575671_80, "index", 5);
  STRING_LITERAL(T2004575671_81, "import", 6);
  STRING_LITERAL(T2004575671_82, "include", 7);
  STRING_LITERAL(T2004575671_83, "listcmd", 7);
  STRING_LITERAL(T2004575671_84, "genmapping", 10);
  STRING_LITERAL(T2004575671_85, "os", 2);
  STRING_LITERAL(T2004575671_86, "cpu", 3);
  STRING_LITERAL(T2004575671_87, "run", 3);
  STRING_LITERAL(T2004575671_88, "r", 1);
  STRING_LITERAL(T2004575671_89, "verbosity", 9);
  STRING_LITERAL(T2004575671_90, "parallelbuild", 13);
  STRING_LITERAL(T2004575671_91, "version", 7);
  STRING_LITERAL(T2004575671_92, "v", 1);
  STRING_LITERAL(T2004575671_93, "advanced", 8);
  STRING_LITERAL(T2004575671_94, "help", 4);
  STRING_LITERAL(T2004575671_95, "h", 1);
  STRING_LITERAL(T2004575671_96, "symbolfiles", 11);
  STRING_LITERAL(T2004575671_97, "skipcfg", 7);
  STRING_LITERAL(T2004575671_98, "skipprojcfg", 11);
  STRING_LITERAL(T2004575671_99, "skipusercfg", 11);
  STRING_LITERAL(T2004575671_100, "skipparentcfg", 13);
  STRING_LITERAL(T2004575671_101, "genscript", 9);
  STRING_LITERAL(T2004575671_102, "colors", 6);
  STRING_LITERAL(T2004575671_103, "lib", 3);
  STRING_LITERAL(T2004575671_104, "putenv", 6);
  STRING_LITERAL(T2004575671_105, "cc", 2);
  STRING_LITERAL(T2004575671_106, "track", 5);
  STRING_LITERAL(T2004575671_107, "trackdirty", 10);
  STRING_LITERAL(T2004575671_108, "suggest", 7);
  STRING_LITERAL(T2004575671_109, "def", 3);
  STRING_LITERAL(T2004575671_110, "eval", 4);
  STRING_LITERAL(T2004575671_111, "context", 7);
  STRING_LITERAL(T2004575671_112, "usages", 6);
  STRING_LITERAL(T2004575671_113, "stdout", 6);
  STRING_LITERAL(T2004575671_114, "listfullpaths", 13);
  STRING_LITERAL(T2004575671_115, "dynliboverride", 14);
  STRING_LITERAL(T2004575671_116, "cs", 2);
  STRING_LITERAL(T2004575671_117, "experimental", 12);
  STRING_LITERAL(T2004575671_118, "assembler", 9);
  STRING_LITERAL(T2004575671_119, "nocppexceptions", 15);
  STRING_LITERAL(T2004575671_120, "-", 1);
  STRING_LITERAL(T2004575671_121, "--", 2);
  STRING_LITERAL(T2004575671_123, "invalid path: ", 14);
  static NIM_CONST char136Set T2004575671_124 = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
  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(T2004575671_125, " ", 1);
  STRING_LITERAL(T2004575671_126, "true", 4);
  STRING_LITERAL(T2004575671_127, "boehm", 5);
  STRING_LITERAL(T2004575671_128, "refc", 4);
  STRING_LITERAL(T2004575671_129, "v2", 2);
  STRING_LITERAL(T2004575671_130, "markandsweep", 12);
  STRING_LITERAL(T2004575671_131, "generational", 12);
  STRING_LITERAL(T2004575671_132, "go", 2);
  STRING_LITERAL(T2004575671_133, "none", 4);
  STRING_LITERAL(T2004575671_134, "stack", 5);
  STRING_LITERAL(T2004575671_135, "boehmgc", 7);
  STRING_LITERAL(T2004575671_136, "gcmarkandsweep", 14);
  STRING_LITERAL(T2004575671_137, "gcgenerational", 14);
  STRING_LITERAL(T2004575671_138, "gogc", 4);
  STRING_LITERAL(T2004575671_139, "nogc", 4);
  STRING_LITERAL(T2004575671_140, "gcstack", 7);
  STRING_LITERAL(T2004575671_141, "list", 4);
  STRING_LITERAL(T2004575671_143, "Success", 7);
  STRING_LITERAL(T2004575671_144, "SuccessX", 8);
  STRING_LITERAL(T2004575671_145, "LineTooLong", 11);
  STRING_LITERAL(T2004575671_146, "XDeclaredButNotUsed", 19);
  STRING_LITERAL(T2004575671_147, "ConvToBaseNotNeeded", 19);
  STRING_LITERAL(T2004575671_148, "ConvFromXtoItselfNotNeeded", 26);
  STRING_LITERAL(T2004575671_149, "ExprAlwaysX", 11);
  STRING_LITERAL(T2004575671_150, "QuitCalled", 10);
  STRING_LITERAL(T2004575671_151, "Processing", 10);
  STRING_LITERAL(T2004575671_152, "CodeBegin", 9);
  STRING_LITERAL(T2004575671_153, "CodeEnd", 7);
  STRING_LITERAL(T2004575671_154, "Conf", 4);
  STRING_LITERAL(T2004575671_155, "Path", 4);
  STRING_LITERAL(T2004575671_156, "CondTrue", 8);
  STRING_LITERAL(T2004575671_157, "Name", 4);
  STRING_LITERAL(T2004575671_158, "Pattern", 7);
  STRING_LITERAL(T2004575671_159, "Exec", 4);
  STRING_LITERAL(T2004575671_160, "Link", 4);
  STRING_LITERAL(T2004575671_161, "Dependency", 10);
  STRING_LITERAL(T2004575671_162, "Source", 6);
  STRING_LITERAL(T2004575671_163, "StackTrace", 10);
  STRING_LITERAL(T2004575671_164, "GCStats", 7);
  STRING_LITERAL(T2004575671_165, "User", 4);
  NIM_CONST TY192307 T2004575671_142 = {((NimStringDesc*) &T2004575671_143),
  ((NimStringDesc*) &T2004575671_144),
  ((NimStringDesc*) &T2004575671_145),
  ((NimStringDesc*) &T2004575671_146),
  ((NimStringDesc*) &T2004575671_147),
  ((NimStringDesc*) &T2004575671_148),
  ((NimStringDesc*) &T2004575671_149),
  ((NimStringDesc*) &T2004575671_150),
  ((NimStringDesc*) &T2004575671_151),
  ((NimStringDesc*) &T2004575671_152),
  ((NimStringDesc*) &T2004575671_153),
  ((NimStringDesc*) &T2004575671_154),
  ((NimStringDesc*) &T2004575671_155),
  ((NimStringDesc*) &T2004575671_156),
  ((NimStringDesc*) &T2004575671_157),
  ((NimStringDesc*) &T2004575671_158),
  ((NimStringDesc*) &T2004575671_159),
  ((NimStringDesc*) &T2004575671_160),
  ((NimStringDesc*) &T2004575671_161),
  ((NimStringDesc*) &T2004575671_162),
  ((NimStringDesc*) &T2004575671_163),
  ((NimStringDesc*) &T2004575671_164),
  ((NimStringDesc*) &T2004575671_165)}
  ;
  STRING_LITERAL(T2004575671_166, "unknown hint: ", 14);
  STRING_LITERAL(T2004575671_168, "CannotOpenFile", 14);
  STRING_LITERAL(T2004575671_169, "OctalEscape", 11);
  STRING_LITERAL(T2004575671_170, "XIsNeverRead", 12);
  STRING_LITERAL(T2004575671_171, "XmightNotBeenInit", 17);
  STRING_LITERAL(T2004575671_172, "Deprecated", 10);
  STRING_LITERAL(T2004575671_173, "ConfigDeprecated", 16);
  STRING_LITERAL(T2004575671_174, "SmallLshouldNotBeUsed", 21);
  STRING_LITERAL(T2004575671_175, "UnknownMagic", 12);
  STRING_LITERAL(T2004575671_176, "RedefinitionOfLabel", 19);
  STRING_LITERAL(T2004575671_177, "UnknownSubstitutionX", 20);
  STRING_LITERAL(T2004575671_178, "LanguageXNotSupported", 21);
  STRING_LITERAL(T2004575671_179, "FieldXNotSupported", 18);
  STRING_LITERAL(T2004575671_180, "CommentXIgnored", 15);
  STRING_LITERAL(T2004575671_181, "NilStmt", 7);
  STRING_LITERAL(T2004575671_182, "TypelessParam", 13);
  STRING_LITERAL(T2004575671_183, "UseBase", 7);
  STRING_LITERAL(T2004575671_184, "WriteToForeignHeap", 18);
  STRING_LITERAL(T2004575671_185, "UnsafeCode", 10);
  STRING_LITERAL(T2004575671_186, "EachIdentIsTuple", 16);
  STRING_LITERAL(T2004575671_187, "ShadowIdent", 11);
  STRING_LITERAL(T2004575671_188, "ProveInit", 9);
  STRING_LITERAL(T2004575671_189, "ProveField", 10);
  STRING_LITERAL(T2004575671_190, "ProveIndex", 10);
  STRING_LITERAL(T2004575671_191, "GcUnsafe", 8);
  STRING_LITERAL(T2004575671_192, "GcUnsafe2", 9);
  STRING_LITERAL(T2004575671_193, "Uninit", 6);
  STRING_LITERAL(T2004575671_194, "GcMem", 5);
  STRING_LITERAL(T2004575671_195, "Destructor", 10);
  STRING_LITERAL(T2004575671_196, "LockLevel", 9);
  STRING_LITERAL(T2004575671_197, "ResultShadowed", 14);
  NIM_CONST TY192302 T2004575671_167 = {((NimStringDesc*) &T2004575671_168),
  ((NimStringDesc*) &T2004575671_169),
  ((NimStringDesc*) &T2004575671_170),
  ((NimStringDesc*) &T2004575671_171),
  ((NimStringDesc*) &T2004575671_172),
  ((NimStringDesc*) &T2004575671_173),
  ((NimStringDesc*) &T2004575671_174),
  ((NimStringDesc*) &T2004575671_175),
  ((NimStringDesc*) &T2004575671_176),
  ((NimStringDesc*) &T2004575671_177),
  ((NimStringDesc*) &T2004575671_178),
  ((NimStringDesc*) &T2004575671_179),
  ((NimStringDesc*) &T2004575671_180),
  ((NimStringDesc*) &T2004575671_181),
  ((NimStringDesc*) &T2004575671_182),
  ((NimStringDesc*) &T2004575671_183),
  ((NimStringDesc*) &T2004575671_184),
  ((NimStringDesc*) &T2004575671_185),
  ((NimStringDesc*) &T2004575671_186),
  ((NimStringDesc*) &T2004575671_187),
  ((NimStringDesc*) &T2004575671_188),
  ((NimStringDesc*) &T2004575671_189),
  ((NimStringDesc*) &T2004575671_190),
  ((NimStringDesc*) &T2004575671_191),
  ((NimStringDesc*) &T2004575671_192),
  ((NimStringDesc*) &T2004575671_193),
  ((NimStringDesc*) &T2004575671_194),
  ((NimStringDesc*) &T2004575671_195),
  ((NimStringDesc*) &T2004575671_196),
  ((NimStringDesc*) &T2004575671_197),
  ((NimStringDesc*) &T2004575671_165)}
  ;
  STRING_LITERAL(T2004575671_198, "unknown warning: ", 17);
  STRING_LITERAL(T2004575671_199, "on", 2);
  STRING_LITERAL(T2004575671_200, "endb", 4);
  STRING_LITERAL(T2004575671_201, "off", 3);
  STRING_LITERAL(T2004575671_202, "native", 6);
  STRING_LITERAL(T2004575671_203, "gdb", 3);
  STRING_LITERAL(T2004575671_204, "expected endb|gdb but found ", 28);
  STRING_LITERAL(T2004575671_205, "speed", 5);
  STRING_LITERAL(T2004575671_206, "size", 4);
  STRING_LITERAL(T2004575671_207, "gui", 3);
  STRING_LITERAL(T2004575671_208, "console", 7);
  STRING_LITERAL(T2004575671_209, "staticlib", 9);
  STRING_LITERAL(T2004575671_210, "executable", 10);
  STRING_LITERAL(T2004575671_211, "guiapp", 6);
  STRING_LITERAL(T2004575671_212, "consoleapp", 10);
  STRING_LITERAL(T2004575671_213, "library", 7);
  STRING_LITERAL(T2004575671_214, "dll", 3);
  extern NIM_CONST TY192364 Notesverbosity_192362_155036129;
  STRING_LITERAL(T2004575671_215, "git hash: 8ec28552bc2d6271ad70eb21ed1d59b00078df16", 50);
  STRING_LITERAL(T2004575671_216, "active boot switches: -d:release", 32);
  STRING_LITERAL(T2004575671_217, "Advanced commands:\012  compileToC, cc          compile project wi"
  "th C code generator\012  compileToCpp, cpp       compile project to"
  " C++ code\012  compileToOC, objc       compile project to Objective"
  " C code\012  js                      compile project to Javascript\012"
  "  rst2html                convert a reStructuredText file to HTM"
  "L\012  rst2tex                 convert a reStructuredText file to T"
  "eX\012  jsondoc                 extract the documentation to a json"
  " file\012  jsondoc2                extract documentation to a json "
  "file (uses doc2)\012  buildIndex              build an index for th"
  "e whole documentation\012  run                     run the project "
  "(with Tiny C backend; buggy!)\012  genDepend               generate"
  " a DOT file containing the\012                            module de"
  "pendency graph\012  dump                    dump all defined condit"
  "ionals and search paths\012  check                   checks the pro"
  "ject for syntax and semantic\012\012Advanced options:\012  -o, --out:FILE"
  "            set the output filename\012  --stdout                  "
  "output to stdout\012  --colors:on|off           turn compiler messa"
  "ges coloring on|off\012  --listFullPaths           list full paths "
  "in messages\012  -w:on|off|list, --warnings:on|off|list\012           "
  "                 turn all warnings on|off or list all available\012"
  "  --warning[X]:on|off       turn specific warning X on|off\012  --h"
  "ints:on|off|list       turn all hints on|off or list all availab"
  "le\012  --hint[X]:on|off          turn specific hint X on|off\012  --l"
  "ib:PATH                set the system library path\012  --import:PA"
  "TH             add an automatically imported module\012  --include:"
  "PATH            add an automatically included module\012  --nimcach"
  "e:PATH           set the path used for generated files\012  --heade"
  "r:FILE             the compiler should produce a .h file (FILE\012 "
  "                           is optional)\012  -c, --compileOnly     "
  "    compile only; do not assemble or link\012  --noLinking         "
  "      compile but do not link\012  --noMain                  do not"
  " generate a main procedure\012  --genScript               generate "
  "a compile script (in the \'nimcache\'\012                            "
  "subdirectory named \'compile_$project$scriptext\')\012  --os:SYMBOL  "
  "             set the target operating system (cross-compilation)"
  "\012  --cpu:SYMBOL              set the target processor (cross-com"
  "pilation)\012  --debuginfo               enables debug information\012"
  "  -t, --passC:OPTION        pass an option to the C compiler\012  -"
  "l, --passL:OPTION        pass an option to the linker\012  --cinclu"
  "des:DIR           modify the C compiler header search path\012  --c"
  "libdir:DIR             modify the linker library search path\012  -"
  "-clib:LIBNAME            link an additional C library\012          "
  "                  (you should omit platform-specific extensions)"
  "\012  --genMapping              generate a mapping file containing\012"
  "                            (Nim, mangled) identifier pairs\012  --"
  "project                 document the whole project (doc2)\012  --do"
  "cSeeSrcUrl:url        activate \'see source\' for doc and doc2 com"
  "mands\012                            (see doc.item.seesrc in config"
  "/nimdoc.cfg)\012  --lineDir:on|off          generation of #line dir"
  "ective on|off\012  --embedsrc                embeds the original so"
  "urce code as comments\012                            in the generat"
  "ed output\012  --threadanalysis:on|off   turn thread analysis on|of"
  "f\012  --reportConceptFailures:on|off\012                            s"
  "how errors for \'system.compiles\' and concept\012                   "
  "         evaluation\012  --tlsEmulation:on|off     turn thread loca"
  "l storage emulation on|off\012  --taintMode:on|off        turn tain"
  "t mode on|off\012  --implicitStatic:on|off   turn implicit compile "
  "time evaluation on|off\012  --patterns:on|off         turn pattern "
  "matching on|off\012  --skipCfg                 do not read the gene"
  "ral configuration file\012  --skipUserCfg             do not read t"
  "he user\'s configuration file\012  --skipParentCfg           do not "
  "read the parent dirs\' configuration files\012  --skipProjCfg       "
  "      do not read the project\'s configuration file\012  --gc:refc|v"
  "2|markAndSweep|boehm|go|none\012                            select "
  "the GC to use; default is \'refc\'\012  --index:on|off            tur"
  "n index file generation on|off\012  --putenv:key=value        set a"
  "n environment variable\012  --NimblePath:PATH         add a path fo"
  "r Nimble support\012  --noNimblePath            deactivate the Nimb"
  "le path\012  --noCppExceptions         use default exception handli"
  "ng with C++ backend\012  --excludePath:PATH        exclude a path f"
  "rom the list of search paths\012  --dynlibOverride:SYMBOL   marks S"
  "YMBOL so that dynlib:SYMBOL\012                            has no e"
  "ffect and can be statically linked instead;\012                    "
  "        symbol matching is fuzzy so\012                            "
  "that --dynlibOverride:lua matches\012                            dy"
  "nlib: \"liblua.so.3\"\012  --listCmd                 list the command"
  "s used to execute external programs\012  --parallelBuild:0|1|...   "
  "perform a parallel build\012                            value = num"
  "ber of processors (0 for auto-detect)\012  --verbosity:0|1|2|3     "
  "  set Nim\'s verbosity level (1 is default)\012  --experimental     "
  "       enable experimental language features\012  -v, --version    "
  "         show detailed version information\012", 5226);
  STRING_LITERAL(T2004575671_218, "FILE,LINE,COLUMN", 16);
  STRING_LITERAL(T2004575671_219, "DIRTY_BUFFER,ORIGINAL_FILE,LINE,COLUMN", 38);
  STRING_LITERAL(T2004575671_220, "partial", 7);
  STRING_LITERAL(T2004575671_221, "\'partial\' or \'none\' expected, but found ", 40);
  STRING_LITERAL(T2004575671_222, "\'$1\' is not a valid assembler.", 30);
  STRING_LITERAL(T2004575671_223, "noCppExceptions", 15);
  NIM_BOOL helpwritten_281201_2004575671;
  Tnotekind192330Set enablenotes_281366_2004575671;
  Tnotekind192330Set disablenotes_281367_2004575671;
  NimStringDesc* arguments_282811_2004575671;
  extern TNimType NTI138; /* string */
  extern Gcheap49818 gch_49858_1689653243;
  extern Tsystemos177004 hostos_177630_4151366050;
  extern Tsystemcpu177452 hostcpu_177628_4151366050;
  extern NimStringDesc* command_170215_2607990831;
  extern NimStringDesc* gprojectname_170209_2607990831;
  extern TY135002* commandargs_170233_2607990831;
  extern NimStringDesc* gprojectpath_170210_2607990831;
  extern TSafePoint* exchandler_18837_1689653243;
  extern TNimType NTI3646; /* ValueError */
  extern Exception* currexception_18839_1689653243;
  extern NIM_BOOL gnonimblepath_170146_2607990831;
  extern Tlinkedlist147013 lazypaths_170135_2607990831;
  extern Tlinkedlist147013 searchpaths_170134_2607990831;
  extern NimStringDesc* nimcachedir_170214_2607990831;
  extern NimStringDesc* outfile_170136_2607990831;
  extern NimStringDesc* docseesrcurl_170137_2607990831;
  extern Tglobaloption170013Set gglobaloptions_170130_2607990831;
  extern NIM_BOOL gwholeproject_170141_2607990831;
  extern Tgcmode170080 gselectedgc_170133_2607990831;
  extern Toption170009Set goptions_170128_2607990831;
  extern Tnotekind192330Set gnotes_193071_155036129;
  extern Tnotekind192330Set gmainpackagenotes_193076_155036129;
  extern Tnotekind192330Set Foreignpackagenotes_192423_155036129;
  extern TY135002* cincludes_274451_2528170400;
  extern TY135002* clibs_274469_2528170400;
  extern TY135002* clinkedlibs_274487_2528170400;
  extern NimStringDesc* headerfile_170138_2607990831;
  extern TY135002* implicitimports_170252_2607990831;
  extern TY135002* implicitincludes_170270_2607990831;
  extern Tsystemcpu177452 targetcpu_177627_4151366050;
  extern Tsystemos177004 targetos_177629_4151366050;
  extern NI gverbosity_170139_2607990831;
  extern NI gnumberofprocessors_170140_2607990831;
  extern NimStringDesc* libpath_170208_2607990831;
  extern Tlineinfo192336 gtrackpos_193441_155036129;
  extern Idecmd170082 gidecmd_170123_2607990831;
  extern NimStringDesc* gevalexpr_170142_2607990831;
  extern NIM_BOOL glistfullpaths_170144_2607990831;
  extern NIM_BOOL firstchariscs_200017_791273810;
  extern NIM_BOOL gexperimentalmode_170147_2607990831;
  extern Tsystemcc274002 cassembler_274432_2528170400;
  extern Tlineinfo192336 gcmdlineinfo_193037_155036129;
  N_NIMCALL(void, T2004575671_2)(void) {
  	nimGCvisit((void*)arguments_282811_2004575671, 0);
  }
  
  static N_INLINE(Cell47305*, usrtocell_51440_1689653243)(void* usr0) {
  	Cell47305* result0;
  	result0 = (Cell47305*)0;
  	result0 = ((Cell47305*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell47305))))));
  	return result0;
  }
  
  static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47305* c0) {
  	addzct_51417_1689653243((&gch_49858_1689653243.zct), c0);
  }
  
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
  	Cell47305* c0;
  	c0 = usrtocell_51440_1689653243(p0);
  	{
  		(*c0).refcount -= ((NI) 8);
  		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
  		rtladdzct_52601_1689653243(c0);
  	}
  	LA3: ;
  }
  
  static N_INLINE(void, copymem_7485_1689653243)(void* dest0, void* source0, NI size0) {
  	void* LOC1;
  	LOC1 = (void*)0;
  	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
  }
  
  static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
  	copymem_7485_1689653243(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
  	(*dest0).Sup.len += (*src0).Sup.len;
  }
  
  N_NIMCALL(NimStringDesc*, getcommandlinedesc_281025_2004575671)(void) {
  	NimStringDesc* result0;
  	NimStringDesc* LOC1;
  	TY194140 LOC2;
  	NimStringDesc* LOC3;
  	result0 = (NimStringDesc*)0;
  	LOC1 = (NimStringDesc*)0;
  	memset((void*)LOC2, 0, sizeof(LOC2));
  	LOC2[0] = copyString(((NimStringDesc*) &T2004575671_5));
  	LOC2[1] = copyString(Os_177068_4151366050[(hostos_177630_4151366050)- 1].Field0);
  	LOC2[2] = copyString(Cpu_177496_4151366050[(hostcpu_177628_4151366050)- 1].Field0);
  	LOC3 = (NimStringDesc*)0;
  	LOC3 = nsuFormatOpenArray(((NimStringDesc*) &T2004575671_4), LOC2, 3);
  	LOC1 = rawNewString(LOC3->Sup.len + 2139);
  appendString(LOC1, LOC3);
  appendString(LOC1, ((NimStringDesc*) &T2004575671_6));
  	result0 = LOC1;
  	return result0;
  }
  
  N_NIMCALL(void, writecommandlineusage_281005_2004575671)(void) {
  	{
  		NimStringDesc* LOC5;
  		if (!!(helpwritten_281201_2004575671)) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		LOC5 = getcommandlinedesc_281025_2004575671();
  		msgwriteln_193450_155036129(LOC5, 1);
  		helpwritten_281201_2004575671 = NIM_TRUE;
  	}
  	LA3: ;
  }
  
  static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
  	{
  		Cell47305* c0;
  		if (!!((src0 == NIM_NIL))) goto LA3;
  		c0 = usrtocell_51440_1689653243(src0);
  		(*c0).refcount += ((NI) 8);
  	}
  	LA3: ;
  	{
  		Cell47305* c0;
  		if (!!(((*dest0) == NIM_NIL))) goto LA7;
  		c0 = usrtocell_51440_1689653243((*dest0));
  		{
  			(*c0).refcount -= ((NI) 8);
  			if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11;
  			rtladdzct_52601_1689653243(c0);
  		}
  		LA11: ;
  	}
  	LA7: ;
  	(*dest0) = src0;
  }
  
  N_NIMCALL(NIM_BOOL, processargument_282819_2004575671)(Tcmdlinepass281008 pass0, Optparser279405* p0, NI* argscount0) {
  	NIM_BOOL result0;
  	result0 = (NIM_BOOL)0;
  	{
  		if (!((*argscount0) == ((NI) 0))) goto LA3;
  		{
  			NIM_BOOL LOC7;
  			NimStringDesc* LOC10;
  			LOC7 = (NIM_BOOL)0;
  			LOC7 = nsuEndsWith((*p0).key, ((NimStringDesc*) &T2004575671_7));
  			if (!LOC7) goto LA8;
  			LOC10 = (NimStringDesc*)0;
  			LOC10 = command_170215_2607990831; command_170215_2607990831 = copyStringRC1(((NimStringDesc*) &T2004575671_8));
  			if (LOC10) nimGCunrefNoCycle(LOC10);
  			asgnRefNoCycle((void**) (&gprojectname_170209_2607990831), nosunixToNativePath((*p0).key, ((NimStringDesc*) &T2004575671_3)));
  			asgnRefNoCycle((void**) (&arguments_282811_2004575671), npocmdLineRest(p0));
  			result0 = NIM_TRUE;
  		}
  		goto LA5;
  		LA8: ;
  		{
  			NimStringDesc* LOC14;
  			if (!!((pass0 == ((Tcmdlinepass281008) 1)))) goto LA12;
  			LOC14 = (NimStringDesc*)0;
  			LOC14 = command_170215_2607990831; command_170215_2607990831 = copyStringRC1((*p0).key);
  			if (LOC14) nimGCunrefNoCycle(LOC14);
  		}
  		goto LA5;
  		LA12: ;
  		LA5: ;
  	}
  	goto LA1;
  	LA3: ;
  	{
  		{
  			NimStringDesc* LOC20;
  			if (!(pass0 == ((Tcmdlinepass281008) 0))) goto LA18;
  			commandargs_170233_2607990831 = (TY135002*) incrSeqV2(&(commandargs_170233_2607990831)->Sup, sizeof(NimStringDesc*));
  			LOC20 = (NimStringDesc*)0;
  			LOC20 = commandargs_170233_2607990831->data[commandargs_170233_2607990831->Sup.len]; commandargs_170233_2607990831->data[commandargs_170233_2607990831->Sup.len] = copyStringRC1((*p0).key);
  			if (LOC20) nimGCunrefNoCycle(LOC20);
  			++commandargs_170233_2607990831->Sup.len;
  		}
  		LA18: ;
  		{
  			if (!((*argscount0) == ((NI) 1))) goto LA23;
  			asgnRefNoCycle((void**) (&gprojectname_170209_2607990831), nosunixToNativePath((*p0).key, ((NimStringDesc*) &T2004575671_3)));
  			asgnRefNoCycle((void**) (&arguments_282811_2004575671), npocmdLineRest(p0));
  			result0 = NIM_TRUE;
  		}
  		LA23: ;
  	}
  	LA1: ;
  	(*argscount0) += ((NI) 1);
  	return result0;
  }
  
  static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) {
  	(*dest0).data[((*dest0).Sup.len)- 0] = c0;
  	(*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0;
  	(*dest0).Sup.len += ((NI) 1);
  }
  
  static N_INLINE(NIM_BOOL, equalmem_7495_1689653243)(void* a0, void* b0, NI size0) {
  	NIM_BOOL result0;
  	int LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (int)0;
  	LOC1 = memcmp(a0, b0, ((size_t) (size0)));
  	result0 = (LOC1 == ((NI32) 0));
  	return result0;
  }
  
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) {
  	NIM_BOOL result0;
  	NIM_BOOL LOC11;
  {	result0 = (NIM_BOOL)0;
  	{
  		if (!(a0 == b0)) goto LA3;
  		result0 = NIM_TRUE;
  		goto BeforeRet;
  	}
  	LA3: ;
  	{
  		NIM_BOOL LOC7;
  		LOC7 = (NIM_BOOL)0;
  		LOC7 = (a0 == NIM_NIL);
  		if (LOC7) goto LA8;
  		LOC7 = (b0 == NIM_NIL);
  		LA8: ;
  		if (!LOC7) goto LA9;
  		result0 = NIM_FALSE;
  		goto BeforeRet;
  	}
  	LA9: ;
  	LOC11 = (NIM_BOOL)0;
  	LOC11 = ((*a0).Sup.len == (*b0).Sup.len);
  	if (!(LOC11)) goto LA12;
  	LOC11 = equalmem_7495_1689653243(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len)));
  	LA12: ;
  	result0 = LOC11;
  	goto BeforeRet;
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(NimStringDesc*, addprefix_281206_2004575671)(NimStringDesc* switch_281208_2004575671) {
  	NimStringDesc* result0;
  	result0 = (NimStringDesc*)0;
  	{
  		NimStringDesc* LOC5;
  		if (!((switch_281208_2004575671 ? switch_281208_2004575671->Sup.len : 0) == ((NI) 1))) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		LOC5 = rawNewString(switch_281208_2004575671->Sup.len + 1);
  appendString(LOC5, ((NimStringDesc*) &T2004575671_120));
  appendString(LOC5, switch_281208_2004575671);
  		result0 = LOC5;
  	}
  	goto LA1;
  	LA3: ;
  	{
  		NimStringDesc* LOC7;
  		LOC7 = (NimStringDesc*)0;
  		LOC7 = rawNewString(switch_281208_2004575671->Sup.len + 2);
  appendString(LOC7, ((NimStringDesc*) &T2004575671_121));
  appendString(LOC7, switch_281208_2004575671);
  		result0 = LOC7;
  	}
  	LA1: ;
  	return result0;
  }
  
  N_NIMCALL(void, expectarg_281354_2004575671)(NimStringDesc* switch_281356_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	{
  		NimStringDesc* LOC5;
  		if (!((arg0) && (arg0)->Sup.len == 0)) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		LOC5 = addprefix_281206_2004575671(switch_281356_2004575671);
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 46), LOC5);
  	}
  	LA3: ;
  }
  
  static N_INLINE(void, pushSafePoint)(TSafePoint* s0) {
  	(*s0).hasRaiseAction = NIM_FALSE;
  	(*s0).prev = exchandler_18837_1689653243;
  	exchandler_18837_1689653243 = s0;
  }
  
  static N_INLINE(void, popSafePoint)(void) {
  	exchandler_18837_1689653243 = (*exchandler_18837_1689653243).prev;
  }
  
  static N_INLINE(Exception*, getCurrentException)(void) {
  	Exception* result0;
  	result0 = (Exception*)0;
  	result0 = currexception_18839_1689653243;
  	return result0;
  }
  
  static N_INLINE(void, incref_53419_1689653243)(Cell47305* c0) {
  	(*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8)));
  }
  
  static N_INLINE(void, decref_53001_1689653243)(Cell47305* c0) {
  	{
  		(*c0).refcount -= ((NI) 8);
  		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
  		rtladdzct_52601_1689653243(c0);
  	}
  	LA3: ;
  }
  
  static N_INLINE(void, asgnRef)(void** dest0, void* src0) {
  	{
  		Cell47305* LOC5;
  		if (!!((src0 == NIM_NIL))) goto LA3;
  		LOC5 = (Cell47305*)0;
  		LOC5 = usrtocell_51440_1689653243(src0);
  		incref_53419_1689653243(LOC5);
  	}
  	LA3: ;
  	{
  		Cell47305* LOC10;
  		if (!!(((*dest0) == NIM_NIL))) goto LA8;
  		LOC10 = (Cell47305*)0;
  		LOC10 = usrtocell_51440_1689653243((*dest0));
  		decref_53001_1689653243(LOC10);
  	}
  	LA8: ;
  	(*dest0) = src0;
  }
  
  static N_INLINE(void, popCurrentException)(void) {
  	asgnRef((void**) (&currexception_18839_1689653243), NIM_NIL);
  }
  
  N_NIMCALL(NimStringDesc*, processpath_282061_2004575671)(NimStringDesc* path0, Tlineinfo192336 info0, NIM_BOOL notrelativetoproj0) {
  	NimStringDesc* volatile result0;
  	NimStringDesc* p0;
  	TSafePoint T2004575671_122;
  	result0 = (NimStringDesc*)0;
  	{
  		NIM_BOOL LOC3;
  		NIM_BOOL LOC4;
  		NIM_BOOL LOC5;
  		LOC3 = (NIM_BOOL)0;
  		LOC4 = (NIM_BOOL)0;
  		LOC5 = (NIM_BOOL)0;
  		LOC5 = notrelativetoproj0;
  		if (LOC5) goto LA6;
  		LOC5 = nosisAbsolute(path0);
  		LA6: ;
  		LOC4 = LOC5;
  		if (LOC4) goto LA7;
  		LOC4 = contains_110046_4286263276(path0, 36);
  		LA7: ;
  		LOC3 = LOC4;
  		if (LOC3) goto LA8;
  		LOC3 = ((NU8)(path0->data[((NI) 0)]) == (NU8)(46));
  		LA8: ;
  		if (!LOC3) goto LA9;
  		p0 = path0;
  	}
  	goto LA1;
  	LA9: ;
  	{
  		p0 = HEX2F_128265_2125978480(gprojectpath_170210_2607990831, path0);
  	}
  	LA1: ;
  	pushSafePoint(&T2004575671_122);
  	T2004575671_122.status = _setjmp(T2004575671_122.context);
  	if (T2004575671_122.status == 0) {
  		NimStringDesc* LOC13;
  		TY128506 LOC14;
  		LOC13 = (NimStringDesc*)0;
  		LOC13 = tofullpath_193264_155036129(info0.fileindex);
  		memset((void*)(&LOC14), 0, sizeof(LOC14));
  		nossplitFile(LOC13, (&LOC14));
  		result0 = pathsubs_171084_2607990831(p0, LOC14.Field0);
  		popSafePoint();
  	}
  	else {
  		popSafePoint();
  		if (isObj(getCurrentException()->Sup.m_type, (&NTI3646))) {
  			NimStringDesc* LOC17;
  			T2004575671_122.status = 0;
  			LOC17 = (NimStringDesc*)0;
  			LOC17 = rawNewString(p0->Sup.len + 14);
  appendString(LOC17, ((NimStringDesc*) &T2004575671_123));
  appendString(LOC17, p0);
  			localerror_197085_155036129(info0, LOC17);
  			result0 = copyString(p0);
  			popCurrentException();
  		}
  	}
  	if (T2004575671_122.status != 0) reraiseException();
  	return result0;
  }
  
  N_NIMCALL(void, expectnoarg_281360_2004575671)(NimStringDesc* switch_281362_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	{
  		NimStringDesc* LOC5;
  		if (!!(((arg0) && (arg0)->Sup.len == 0))) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		LOC5 = addprefix_281206_2004575671(switch_281362_2004575671);
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 47), LOC5);
  	}
  	LA3: ;
  }
  
  static N_INLINE(NimStringDesc*, HEX5BHEX5D_90644_1689653243)(NimStringDesc* s0, Slice90651 x0) {
  	NimStringDesc* result0;
  	result0 = (NimStringDesc*)0;
  	result0 = copyStrLast(s0, x0.a, x0.b);
  	return result0;
  }
  
  static N_INLINE(Slice90651, HEX2EHEX2E_109260_1689653243)(NI a0, NI b0) {
  	Slice90651 result0;
  	memset((void*)(&result0), 0, sizeof(result0));
  	result0.a = a0;
  	result0.b = b0;
  	return result0;
  }
  
  N_NIMCALL(void, invalidcmdlineoption_281210_2004575671)(Tcmdlinepass281008 pass0, NimStringDesc* switch_281213_2004575671, Tlineinfo192336 info0) {
  	{
  		if (!eqStrings(switch_281213_2004575671, ((NimStringDesc*) &T2004575671_125))) goto LA3;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 45), ((NimStringDesc*) &T2004575671_120));
  	}
  	goto LA1;
  	LA3: ;
  	{
  		NimStringDesc* LOC6;
  		LOC6 = (NimStringDesc*)0;
  		LOC6 = addprefix_281206_2004575671(switch_281213_2004575671);
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 45), LOC6);
  	}
  	LA1: ;
  }
  
  N_NIMCALL(void, splitswitch_281215_2004575671)(NimStringDesc* switch_281217_2004575671, NimStringDesc** cmd0, NimStringDesc** arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	NI i0;
  	unsureAsgnRef((void**) (&(*cmd0)), copyString(((NimStringDesc*) &T2004575671_3)));
  	i0 = ((NI) 0);
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = (i0 < (switch_281217_2004575671 ? switch_281217_2004575671->Sup.len : 0));
  		if (!(LOC3)) goto LA4;
  		LOC3 = ((NU8)(switch_281217_2004575671->data[i0]) == (NU8)(45));
  		LA4: ;
  		if (!LOC3) goto LA5;
  		i0 += ((NI) 1);
  	}
  	LA5: ;
  	{
  		NIM_BOOL LOC9;
  		LOC9 = (NIM_BOOL)0;
  		LOC9 = (i0 < (switch_281217_2004575671 ? switch_281217_2004575671->Sup.len : 0));
  		if (!(LOC9)) goto LA10;
  		LOC9 = ((NU8)(switch_281217_2004575671->data[i0]) == (NU8)(45));
  		LA10: ;
  		if (!LOC9) goto LA11;
  		i0 += ((NI) 1);
  	}
  	LA11: ;
  	{
  		while (1) {
  			if (!(i0 < (switch_281217_2004575671 ? switch_281217_2004575671->Sup.len : 0))) goto LA14;
  			switch (((NU8)(switch_281217_2004575671->data[i0]))) {
  			case 97 ... 122:
  			case 65 ... 90:
  			case 48 ... 57:
  			case 95:
  			case 46:
  			{
  				(*cmd0) = addChar((*cmd0), switch_281217_2004575671->data[i0]);
  			}
  			break;
  			default:
  			{
  				goto LA13;
  			}
  			break;
  			}
  			i0 += ((NI) 1);
  		} LA14: ;
  	} LA13: ;
  	{
  		if (!((switch_281217_2004575671 ? switch_281217_2004575671->Sup.len : 0) <= i0)) goto LA19;
  		unsureAsgnRef((void**) (&(*arg0)), copyString(((NimStringDesc*) &T2004575671_3)));
  	}
  	goto LA17;
  	LA19: ;
  	{
  		if (!(((NU8)(switch_281217_2004575671->data[i0])) == ((NU8)(58)) || ((NU8)(switch_281217_2004575671->data[i0])) == ((NU8)(61)) || ((NU8)(switch_281217_2004575671->data[i0])) == ((NU8)(91)))) goto LA22;
  		unsureAsgnRef((void**) (&(*arg0)), copyStr(switch_281217_2004575671, (NI)(i0 + ((NI) 1))));
  	}
  	goto LA17;
  	LA22: ;
  	{
  		invalidcmdlineoption_281210_2004575671(pass0, switch_281217_2004575671, info0);
  	}
  	LA17: ;
  }
  
  N_NIMCALL(void, processcompile_281518_2004575671)(NimStringDesc* filename0) {
  	NimStringDesc* found0;
  	NimStringDesc* trunc0;
  	NimStringDesc* LOC5;
  	found0 = findfile_171483_2607990831(filename0);
  	{
  		if (!((found0) && (found0)->Sup.len == 0)) goto LA3;
  		found0 = copyString(filename0);
  	}
  	LA3: ;
  	trunc0 = noschangeFileExt(found0, ((NimStringDesc*) &T2004575671_3));
  	addexternalfiletocompile_275419_2528170400(found0);
  	LOC5 = (NimStringDesc*)0;
  	LOC5 = completecfilepath_274854_2528170400(trunc0, NIM_FALSE);
  	addfiletolink_274872_2528170400(LOC5);
  }
  
  N_NIMCALL(NIM_BOOL, processonoffswitchorlist_281293_2004575671)(Toption170009Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	NIM_BOOL result0;
  	Tspecialword276003 LOC1;
  	result0 = (NIM_BOOL)0;
  	result0 = NIM_FALSE;
  	LOC1 = (Tspecialword276003)0;
  	LOC1 = whichkeyword_276369_1391470768(arg0);
  	switch (LOC1) {
  	case ((Tspecialword276003) 143):
  	{
  		goptions_170128_2607990831 = (goptions_170128_2607990831 | op0);
  	}
  	break;
  	case ((Tspecialword276003) 144):
  	{
  		goptions_170128_2607990831 = (goptions_170128_2607990831 & ~ op0);
  	}
  	break;
  	default:
  	{
  		{
  			if (!eqStrings(arg0, ((NimStringDesc*) &T2004575671_141))) goto LA7;
  			result0 = NIM_TRUE;
  		}
  		goto LA5;
  		LA7: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 52), arg0);
  		}
  		LA5: ;
  	}
  	break;
  	}
  	return result0;
  }
  
  N_NIMCALL(void, processspecificnote_281370_2004575671)(NimStringDesc* arg0, Tspecialword276003 state0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0, NimStringDesc* orig0) {
  	NimStringDesc* id0;
  	NI i0;
  	Tmsgkind192002 n0;
  	NimStringDesc* LOC36;
  	Tspecialword276003 LOC37;
  	id0 = copyString(((NimStringDesc*) &T2004575671_3));
  	i0 = ((NI) 0);
  	n0 = ((Tmsgkind192002) 268);
  	{
  		while (1) {
  			NIM_BOOL LOC3;
  			LOC3 = (NIM_BOOL)0;
  			LOC3 = (i0 < (arg0 ? arg0->Sup.len : 0));
  			if (!(LOC3)) goto LA4;
  			LOC3 = !(((NU8)(arg0->data[i0]) == (NU8)(93)));
  			LA4: ;
  			if (!LOC3) goto LA2;
  			id0 = addChar(id0, arg0->data[i0]);
  			i0 += ((NI) 1);
  		} LA2: ;
  	}
  	{
  		NIM_BOOL LOC7;
  		LOC7 = (NIM_BOOL)0;
  		LOC7 = (i0 < (arg0 ? arg0->Sup.len : 0));
  		if (!(LOC7)) goto LA8;
  		LOC7 = ((NU8)(arg0->data[i0]) == (NU8)(93));
  		LA8: ;
  		if (!LOC7) goto LA9;
  		i0 += ((NI) 1);
  	}
  	goto LA5;
  	LA9: ;
  	{
  		invalidcmdlineoption_281210_2004575671(pass0, orig0, info0);
  	}
  	LA5: ;
  	{
  		NIM_BOOL LOC14;
  		LOC14 = (NIM_BOOL)0;
  		LOC14 = (i0 < (arg0 ? arg0->Sup.len : 0));
  		if (!(LOC14)) goto LA15;
  		LOC14 = (((NU8)(arg0->data[i0])) == ((NU8)(58)) || ((NU8)(arg0->data[i0])) == ((NU8)(61)));
  		LA15: ;
  		if (!LOC14) goto LA16;
  		i0 += ((NI) 1);
  	}
  	goto LA12;
  	LA16: ;
  	{
  		invalidcmdlineoption_281210_2004575671(pass0, orig0, info0);
  	}
  	LA12: ;
  	{
  		NI x0;
  		if (!(state0 == ((Tspecialword276003) 116))) goto LA21;
  		x0 = findstr_276339_1391470768(T2004575671_142, 23, id0);
  		{
  			if (!(((NI) 0) <= x0)) goto LA25;
  			n0 = ((Tmsgkind192002) (((Tmsgkind192002) ((NI)(x0 + ((NI) 268))))));
  		}
  		goto LA23;
  		LA25: ;
  		{
  			NimStringDesc* LOC28;
  			LOC28 = (NimStringDesc*)0;
  			LOC28 = rawNewString(id0->Sup.len + 14);
  appendString(LOC28, ((NimStringDesc*) &T2004575671_166));
  appendString(LOC28, id0);
  			localerror_197085_155036129(info0, LOC28);
  		}
  		LA23: ;
  	}
  	goto LA19;
  	LA21: ;
  	{
  		NI x0;
  		x0 = findstr_276339_1391470768(T2004575671_167, 31, id0);
  		{
  			if (!(((NI) 0) <= x0)) goto LA32;
  			n0 = ((Tmsgkind192002) (((Tmsgkind192002) ((NI)(x0 + ((NI) 237))))));
  		}
  		goto LA30;
  		LA32: ;
  		{
  			NimStringDesc* LOC35;
  			LOC35 = (NimStringDesc*)0;
  			LOC35 = rawNewString(id0->Sup.len + 17);
  appendString(LOC35, ((NimStringDesc*) &T2004575671_198));
  appendString(LOC35, id0);
  			localerror_197085_155036129(info0, LOC35);
  		}
  		LA30: ;
  	}
  	LA19: ;
  	LOC36 = (NimStringDesc*)0;
  	LOC36 = copyStr(arg0, i0);
  	LOC37 = (Tspecialword276003)0;
  	LOC37 = whichkeyword_276369_1391470768(LOC36);
  	switch (LOC37) {
  	case ((Tspecialword276003) 143):
  	{
  		gnotes_193071_155036129 |= ((NU64)1)<<(((((Tmsgkind192002) (n0))- 237))%(sizeof(NU64)*8));
  		gmainpackagenotes_193076_155036129 |= ((NU64)1)<<(((((Tmsgkind192002) (n0))- 237))%(sizeof(NU64)*8));
  		enablenotes_281366_2004575671 |= ((NU64)1)<<(((((Tmsgkind192002) (n0))- 237))%(sizeof(NU64)*8));
  	}
  	break;
  	case ((Tspecialword276003) 144):
  	{
  		gnotes_193071_155036129 &= ~(((NU64)1) << (((((Tmsgkind192002) (n0))- 237)) % (sizeof(NU64)*8)));
  		gmainpackagenotes_193076_155036129 &= ~(((NU64)1) << (((((Tmsgkind192002) (n0))- 237)) % (sizeof(NU64)*8)));
  		disablenotes_281367_2004575671 |= ((NU64)1)<<(((((Tmsgkind192002) (n0))- 237))%(sizeof(NU64)*8));
  		Foreignpackagenotes_192423_155036129 &= ~(((NU64)1) << (((((Tmsgkind192002) (n0))- 237)) % (sizeof(NU64)*8)));
  	}
  	break;
  	default:
  	{
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 51), arg0);
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, processonoffswitchg_281324_2004575671)(Tglobaloption170013Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	Tspecialword276003 LOC1;
  	LOC1 = (Tspecialword276003)0;
  	LOC1 = whichkeyword_276369_1391470768(arg0);
  	switch (LOC1) {
  	case ((Tspecialword276003) 143):
  	{
  		gglobaloptions_170130_2607990831 = (gglobaloptions_170130_2607990831 | op0);
  	}
  	break;
  	case ((Tspecialword276003) 144):
  	{
  		gglobaloptions_170130_2607990831 = (gglobaloptions_170130_2607990831 & ~ op0);
  	}
  	break;
  	default:
  	{
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 51), arg0);
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, processonoffswitch_281263_2004575671)(Toption170009Set op0, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	Tspecialword276003 LOC1;
  	LOC1 = (Tspecialword276003)0;
  	LOC1 = whichkeyword_276369_1391470768(arg0);
  	switch (LOC1) {
  	case ((Tspecialword276003) 143):
  	{
  		goptions_170128_2607990831 = (goptions_170128_2607990831 | op0);
  	}
  	break;
  	case ((Tspecialword276003) 144):
  	{
  		goptions_170128_2607990831 = (goptions_170128_2607990831 & ~ op0);
  	}
  	break;
  	default:
  	{
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 51), arg0);
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, writeversioninfo_281058_2004575671)(Tcmdlinepass281008 pass0) {
  	{
  		TY194140 LOC5;
  		NimStringDesc* LOC6;
  		if (!(pass0 == ((Tcmdlinepass281008) 0))) goto LA3;
  		memset((void*)LOC5, 0, sizeof(LOC5));
  		LOC5[0] = copyString(((NimStringDesc*) &T2004575671_5));
  		LOC5[1] = copyString(Os_177068_4151366050[(hostos_177630_4151366050)- 1].Field0);
  		LOC5[2] = copyString(Cpu_177496_4151366050[(hostcpu_177628_4151366050)- 1].Field0);
  		LOC6 = (NimStringDesc*)0;
  		LOC6 = nsuFormatOpenArray(((NimStringDesc*) &T2004575671_4), LOC5, 3);
  		msgwriteln_193450_155036129(LOC6, 0);
  		msgwriteln_193450_155036129(((NimStringDesc*) &T2004575671_215), 0);
  		msgwriteln_193450_155036129(((NimStringDesc*) &T2004575671_216), 0);
  		msgquit_193149_155036129(((NI8) 0));
  	}
  	LA3: ;
  }
  
  N_NIMCALL(void, writeadvancedusage_281043_2004575671)(Tcmdlinepass281008 pass0) {
  	{
  		NimStringDesc* LOC5;
  		TY194140 LOC6;
  		NimStringDesc* LOC7;
  		if (!(pass0 == ((Tcmdlinepass281008) 0))) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		memset((void*)LOC6, 0, sizeof(LOC6));
  		LOC6[0] = copyString(((NimStringDesc*) &T2004575671_5));
  		LOC6[1] = copyString(Os_177068_4151366050[(hostos_177630_4151366050)- 1].Field0);
  		LOC6[2] = copyString(Cpu_177496_4151366050[(hostcpu_177628_4151366050)- 1].Field0);
  		LOC7 = (NimStringDesc*)0;
  		LOC7 = nsuFormatOpenArray(((NimStringDesc*) &T2004575671_4), LOC6, 3);
  		LOC5 = rawNewString(LOC7->Sup.len + 5226);
  appendString(LOC5, LOC7);
  appendString(LOC5, ((NimStringDesc*) &T2004575671_217));
  		msgwriteln_193450_155036129(LOC5, 1);
  		msgquit_193149_155036129(((NI8) 0));
  	}
  	LA3: ;
  }
  
  N_NIMCALL(void, helponerror_281030_2004575671)(Tcmdlinepass281008 pass0) {
  	{
  		NimStringDesc* LOC5;
  		if (!(pass0 == ((Tcmdlinepass281008) 0))) goto LA3;
  		LOC5 = (NimStringDesc*)0;
  		LOC5 = getcommandlinedesc_281025_2004575671();
  		msgwriteln_193450_155036129(LOC5, 1);
  		msgquit_193149_155036129(((NI8) 0));
  	}
  	LA3: ;
  }
  
  static N_INLINE(Tlineinfo192336, newlineinfo_193021_155036129)(NimStringDesc* filename0, NI line0, NI col0) {
  	Tlineinfo192336 result0;
  	NI32 LOC1;
  	memset((void*)(&result0), 0, sizeof(result0));
  	LOC1 = (NI32)0;
  	LOC1 = fileinfoidx_193008_155036129(filename0);
  	result0 = newlineinfo_193015_155036129(LOC1, line0, col0);
  	return result0;
  }
  
  N_NIMCALL(void, track_282089_2004575671)(NimStringDesc* arg0, Tlineinfo192336 info0) {
  	TY135002* a0;
  	NI line0;
  	NI column0;
  	a0 = nsuSplitChar(arg0, 44, ((NI) -1));
  	{
  		if (!!(((a0 ? a0->Sup.len : 0) == ((NI) 3)))) goto LA3;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 24), ((NimStringDesc*) &T2004575671_218));
  	}
  	LA3: ;
  	line0 = (NI)0;
  	column0 = (NI)0;
  	{
  		NI LOC7;
  		LOC7 = (NI)0;
  		LOC7 = npuParseInt(a0->data[((NI) 1)], (&line0), ((NI) 0));
  		if (!(LOC7 <= ((NI) 0))) goto LA8;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 14), a0->data[((NI) 1)]);
  	}
  	LA8: ;
  	{
  		NI LOC12;
  		LOC12 = (NI)0;
  		LOC12 = npuParseInt(a0->data[((NI) 2)], (&column0), ((NI) 0));
  		if (!(LOC12 <= ((NI) 0))) goto LA13;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 14), a0->data[((NI) 2)]);
  	}
  	LA13: ;
  	gtrackpos_193441_155036129 = newlineinfo_193021_155036129(a0->data[((NI) 0)], line0, column0);
  }
  
  N_NIMCALL(void, trackdirty_282069_2004575671)(NimStringDesc* arg0, Tlineinfo192336 info0) {
  	TY135002* a0;
  	NI line0;
  	NI column0;
  	NI32 dirtyoriginalidx0;
  	a0 = nsuSplitChar(arg0, 44, ((NI) -1));
  	{
  		if (!!(((a0 ? a0->Sup.len : 0) == ((NI) 4)))) goto LA3;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 24), ((NimStringDesc*) &T2004575671_219));
  	}
  	LA3: ;
  	line0 = (NI)0;
  	column0 = (NI)0;
  	{
  		NI LOC7;
  		LOC7 = (NI)0;
  		LOC7 = npuParseInt(a0->data[((NI) 2)], (&line0), ((NI) 0));
  		if (!(LOC7 <= ((NI) 0))) goto LA8;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 14), a0->data[((NI) 1)]);
  	}
  	LA8: ;
  	{
  		NI LOC12;
  		LOC12 = (NI)0;
  		LOC12 = npuParseInt(a0->data[((NI) 3)], (&column0), ((NI) 0));
  		if (!(LOC12 <= ((NI) 0))) goto LA13;
  		localerror_197080_155036129(info0, ((Tmsgkind192002) 14), a0->data[((NI) 2)]);
  	}
  	LA13: ;
  	dirtyoriginalidx0 = fileinfoidx_193008_155036129(a0->data[((NI) 1)]);
  	{
  		if (!(((NI32) 0) <= dirtyoriginalidx0)) goto LA17;
  		setdirtyfile_193268_155036129(dirtyoriginalidx0, a0->data[((NI) 0)]);
  	}
  	LA17: ;
  	gtrackpos_193441_155036129 = newlineinfo_193015_155036129(dirtyoriginalidx0, line0, column0);
  }
  
  N_NIMCALL(void, dynliboverride_282108_2004575671)(NimStringDesc* switch_282110_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	{
  		if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA3;
  		expectarg_281354_2004575671(switch_282110_2004575671, arg0, pass0, info0);
  		incldynliboverride_171643_2607990831(arg0);
  	}
  	LA3: ;
  }
  
  N_NIMCALL(void, processswitch_281016_2004575671)(NimStringDesc* switch_281018_2004575671, NimStringDesc* arg0, Tcmdlinepass281008 pass0, Tlineinfo192336 info0) {
  	Tsystemos177004 theos0;
  	Tsystemcpu177452 cpu0;
  	NimStringDesc* key0;
  	NimStringDesc* val0;
  	NimStringDesc* LOC1;
  	theos0 = (Tsystemos177004)0;
  	cpu0 = (Tsystemcpu177452)0;
  	key0 = (NimStringDesc*)0;
  	val0 = (NimStringDesc*)0;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = nsuNormalize(switch_281018_2004575671);
  	switch (hashString(LOC1) & 127) {
  	case 1: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_14))) goto LA4;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_50))) goto LA33;
  break;
  	case 3: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_98))) goto LA74;
  break;
  	case 5: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_23))) goto LA10;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_74))) goto LA54;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_112))) goto LA88;
  break;
  	case 8: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_77))) goto LA56;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_96))) goto LA72;
  break;
  	case 14: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_33))) goto LA18;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_61))) goto LA43;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_113))) goto LA89;
  break;
  	case 16: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_17))) goto LA7;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_39))) goto LA23;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_64))) goto LA45;
  break;
  	case 17: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_26))) goto LA12;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_71))) goto LA52;
  break;
  	case 18: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_20))) goto LA9;
  break;
  	case 19: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_24))) goto LA11;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_49))) goto LA32;
  break;
  	case 22: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_60))) goto LA42;
  break;
  	case 24: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_35))) goto LA20;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_47))) goto LA30;
  break;
  	case 27: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_42))) goto LA25;
  break;
  	case 28: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_16))) goto LA6;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_116))) goto LA92;
  break;
  	case 30: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_30))) goto LA16;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_31))) goto LA17;
  break;
  	case 32: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_27))) goto LA13;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_40))) goto LA23;
  break;
  	case 34: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_63))) goto LA44;
  break;
  	case 37: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_76))) goto LA55;
  break;
  	case 39: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_46))) goto LA29;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_93))) goto LA70;
  break;
  	case 41: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_58))) goto LA40;
  break;
  	case 42: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_101))) goto LA77;
  break;
  	case 43: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_109))) goto LA85;
  break;
  	case 44: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_119))) goto LA95;
  break;
  	case 45: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_38))) goto LA22;
  break;
  	case 47: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_114))) goto LA90;
  break;
  	case 50: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_83))) goto LA62;
  break;
  	case 51: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_43))) goto LA26;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_91))) goto LA69;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_108))) goto LA84;
  break;
  	case 52: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_84))) goto LA63;
  break;
  	case 53: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_9))) goto LA2;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_52))) goto LA34;
  break;
  	case 54: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_15))) goto LA5;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_22))) goto LA10;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_115))) goto LA91;
  break;
  	case 55: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_99))) goto LA75;
  break;
  	case 56: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_11))) goto LA3;
  break;
  	case 57: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_80))) goto LA59;
  break;
  	case 60: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_41))) goto LA24;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_72))) goto LA53;
  break;
  	case 62: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_68))) goto LA49;
  break;
  	case 66: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_62))) goto LA43;
  break;
  	case 69: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_70))) goto LA51;
  break;
  	case 71: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_85))) goto LA64;
  break;
  	case 72: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_54))) goto LA36;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_69))) goto LA50;
  break;
  	case 73: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_25))) goto LA11;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_44))) goto LA27;
  break;
  	case 74: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_105))) goto LA81;
  break;
  	case 76: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_12))) goto LA3;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_67))) goto LA48;
  break;
  	case 78: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_57))) goto LA39;
  break;
  	case 79: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_73))) goto LA53;
  break;
  	case 82: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_86))) goto LA65;
  break;
  	case 83: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_48))) goto LA31;
  break;
  	case 85: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_92))) goto LA69;
  break;
  	case 89: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_32))) goto LA17;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_97))) goto LA73;
  break;
  	case 90: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_53))) goto LA35;
  break;
  	case 91: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_19))) goto LA8;
  break;
  	case 93: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_34))) goto LA19;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_104))) goto LA80;
  break;
  	case 95: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_59))) goto LA41;
  break;
  	case 98: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_88))) goto LA66;
  break;
  	case 99: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_37))) goto LA21;
  break;
  	case 100: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_55))) goto LA37;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_66))) goto LA47;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_82))) goto LA61;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_90))) goto LA68;
  break;
  	case 101: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_51))) goto LA33;
  break;
  	case 103: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_102))) goto LA78;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_118))) goto LA94;
  break;
  	case 104: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_45))) goto LA28;
  break;
  	case 105: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_87))) goto LA66;
  break;
  	case 106: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_95))) goto LA71;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_100))) goto LA76;
  break;
  	case 108: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_94))) goto LA71;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_103))) goto LA79;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_111))) goto LA87;
  break;
  	case 109: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_29))) goto LA15;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_117))) goto LA93;
  break;
  	case 110: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_36))) goto LA20;
  break;
  	case 111: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_110))) goto LA86;
  break;
  	case 112: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_28))) goto LA14;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_89))) goto LA67;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_107))) goto LA83;
  break;
  	case 113: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_56))) goto LA38;
  break;
  	case 115: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_78))) goto LA57;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_106))) goto LA82;
  break;
  	case 117: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_21))) goto LA9;
  break;
  	case 118: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_65))) goto LA46;
  break;
  	case 119: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_81))) goto LA60;
  break;
  	case 120: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_75))) goto LA54;
  break;
  	case 121: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_10))) goto LA2;
  break;
  	case 126: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_13))) goto LA4;
  break;
  	case 127: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_18))) goto LA7;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_79))) goto LA58;
  break;
  	}
  	goto LA96;
  	LA2: ;
  	{
  		NimStringDesc* LOC99;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC99 = (NimStringDesc*)0;
  		LOC99 = processpath_282061_2004575671(arg0, info0, NIM_FALSE);
  		addpath_277002_1623492514(LOC99, info0);
  	}
  	goto LA97;
  	LA3: ;
  	{
  		{
  			NIM_BOOL LOC103;
  			NimStringDesc* path0;
  			LOC103 = (NIM_BOOL)0;
  			LOC103 = ((6 &(1U<<((NU)(pass0)&7U)))!=0);
  			if (!(LOC103)) goto LA104;
  			LOC103 = !(gnonimblepath_170146_2607990831);
  			LA104: ;
  			if (!LOC103) goto LA105;
  			expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  			path0 = processpath_282061_2004575671(arg0, info0, NIM_TRUE);
  			nimblepath_277193_1623492514(path0, info0);
  		}
  		LA105: ;
  	}
  	goto LA97;
  	LA4: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gnonimblepath_170146_2607990831 = NIM_TRUE;
  		asgnRef((void**) (&lazypaths_170135_2607990831.head), NIM_NIL);
  		asgnRef((void**) (&lazypaths_170135_2607990831.tail), NIM_NIL);
  		lazypaths_170135_2607990831.counter = ((NI) 0);
  	}
  	goto LA97;
  	LA5: ;
  	{
  		NimStringDesc* path0;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		path0 = processpath_282061_2004575671(arg0, info0, NIM_FALSE);
  		excludepath_147801_3771138726((&searchpaths_170134_2607990831), path0);
  		excludepath_147801_3771138726((&lazypaths_170135_2607990831), path0);
  		{
  			NIM_BOOL LOC111;
  			NimStringDesc* strippedpath0;
  			Slice90651 LOC115;
  			LOC111 = (NIM_BOOL)0;
  			LOC111 = (((NI) 0) < (path0 ? path0->Sup.len : 0));
  			if (!(LOC111)) goto LA112;
  			LOC111 = ((NU8)(path0->data[(NI)((path0 ? path0->Sup.len : 0) - ((NI) 1))]) == (NU8)(47));
  			LA112: ;
  			if (!LOC111) goto LA113;
  			LOC115 = HEX2EHEX2E_109260_1689653243(((NI) 0), (NI)((path0 ? path0->Sup.len : 0) - ((NI) 2)));
  			strippedpath0 = HEX5BHEX5D_90644_1689653243(path0, LOC115);
  			excludepath_147801_3771138726((&searchpaths_170134_2607990831), strippedpath0);
  			excludepath_147801_3771138726((&lazypaths_170135_2607990831), strippedpath0);
  		}
  		LA113: ;
  	}
  	goto LA97;
  	LA6: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		asgnRefNoCycle((void**) (&nimcachedir_170214_2607990831), processpath_282061_2004575671(arg0, info0, NIM_TRUE));
  	}
  	goto LA97;
  	LA7: ;
  	{
  		NimStringDesc* LOC118;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC118 = (NimStringDesc*)0;
  		LOC118 = outfile_170136_2607990831; outfile_170136_2607990831 = copyStringRC1(arg0);
  		if (LOC118) nimGCunrefNoCycle(LOC118);
  	}
  	goto LA97;
  	LA8: ;
  	{
  		NimStringDesc* LOC120;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC120 = (NimStringDesc*)0;
  		LOC120 = docseesrcurl_170137_2607990831; docseesrcurl_170137_2607990831 = copyStringRC1(arg0);
  		if (LOC120) nimGCunrefNoCycle(LOC120);
  	}
  	goto LA97;
  	LA9: ;
  	{
  	}
  	goto LA97;
  	LA10: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NIM_BOOL LOC125;
  			LOC125 = (NIM_BOOL)0;
  			LOC125 = contains_110056_4286263276(arg0, T2004575671_124);
  			if (!LOC125) goto LA126;
  			splitswitch_281215_2004575671(arg0, (&key0), (&val0), pass0, info0);
  			definesymbol_201004_1967573533(key0, val0);
  		}
  		goto LA123;
  		LA126: ;
  		{
  			definesymbol_201004_1967573533(arg0, ((NimStringDesc*) &T2004575671_126));
  		}
  		LA123: ;
  	}
  	goto LA97;
  	LA11: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		undefsymbol_201008_1967573533(arg0);
  	}
  	goto LA97;
  	LA12: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA13: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA134;
  			processcompile_281518_2004575671(arg0);
  		}
  		LA134: ;
  	}
  	goto LA97;
  	LA14: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA139;
  			addfiletolink_274872_2528170400(arg0);
  		}
  		LA139: ;
  	}
  	goto LA97;
  	LA15: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 7))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA16: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 28))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA17: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 4))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA18: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 5))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA19: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 20))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA20: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 1))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA21: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gwholeproject_170141_2607990831 = NIM_TRUE;
  	}
  	goto LA97;
  	LA22: ;
  	{
  		NimStringDesc* LOC149;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC149 = (NimStringDesc*)0;
  		LOC149 = nsuNormalize(arg0);
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_127))) goto LA150;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_128))) goto LA151;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_129))) goto LA152;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_130))) goto LA153;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_131))) goto LA154;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_132))) goto LA155;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_133))) goto LA156;
  		if (eqStrings(LOC149, ((NimStringDesc*) &T2004575671_134))) goto LA157;
  		goto LA158;
  		LA150: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 1);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_135), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA151: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 5);
  		}
  		goto LA159;
  		LA152: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 6);
  		}
  		goto LA159;
  		LA153: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 4);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_136), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA154: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 7);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_137), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA155: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 2);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_138), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA156: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 0);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_139), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA157: ;
  		{
  			gselectedgc_170133_2607990831 = ((Tgcmode170080) 3);
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_140), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA159;
  		LA158: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 53), arg0);
  		}
  		LA159: ;
  	}
  	goto LA97;
  	LA23: ;
  	{
  		{
  			NIM_BOOL LOC172;
  			LOC172 = (NIM_BOOL)0;
  			LOC172 = processonoffswitchorlist_281293_2004575671(2048, arg0, pass0, info0);
  			if (!LOC172) goto LA173;
  			listwarnings_197844_155036129();
  		}
  		LA173: ;
  	}
  	goto LA97;
  	LA24: ;
  	{
  		processspecificnote_281370_2004575671(arg0, ((Tspecialword276003) 115), pass0, info0, switch_281018_2004575671);
  	}
  	goto LA97;
  	LA25: ;
  	{
  		processspecificnote_281370_2004575671(arg0, ((Tspecialword276003) 116), pass0, info0, switch_281018_2004575671);
  	}
  	goto LA97;
  	LA26: ;
  	{
  		{
  			NIM_BOOL LOC180;
  			LOC180 = (NIM_BOOL)0;
  			LOC180 = processonoffswitchorlist_281293_2004575671(4096, arg0, pass0, info0);
  			if (!LOC180) goto LA181;
  			listhints_198051_155036129();
  		}
  		LA181: ;
  	}
  	goto LA97;
  	LA27: ;
  	{
  		processonoffswitchg_281324_2004575671(16777216, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA28: ;
  	{
  		processonoffswitch_281263_2004575671(32768, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA29: ;
  	{
  		processonoffswitchg_281324_2004575671(IL64(4294967296), arg0, pass0, info0);
  	}
  	goto LA97;
  	LA30: ;
  	{
  		processonoffswitch_281263_2004575671(65536, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA31: ;
  	{
  		NimStringDesc* LOC188;
  		LOC188 = (NimStringDesc*)0;
  		LOC188 = nsuNormalize(arg0);
  		if (eqStrings(LOC188, ((NimStringDesc*) &T2004575671_199))) goto LA189;
  		if (eqStrings(LOC188, ((NimStringDesc*) &T2004575671_200))) goto LA189;
  		if (eqStrings(LOC188, ((NimStringDesc*) &T2004575671_201))) goto LA190;
  		if (eqStrings(LOC188, ((NimStringDesc*) &T2004575671_202))) goto LA191;
  		if (eqStrings(LOC188, ((NimStringDesc*) &T2004575671_203))) goto LA191;
  		goto LA192;
  		LA189: ;
  		{
  			goptions_170128_2607990831 |= ((NU32)1)<<((((Toption170009) 17))%(sizeof(NU32)*8));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_200), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA193;
  		LA190: ;
  		{
  			goptions_170128_2607990831 &= ~(((NU32)1) << ((((Toption170009) 17)) % (sizeof(NU32)*8)));
  			undefsymbol_201008_1967573533(((NimStringDesc*) &T2004575671_200));
  		}
  		goto LA193;
  		LA191: ;
  		{
  			gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 7))%(sizeof(NU64)*8));
  			goptions_170128_2607990831 = ((goptions_170128_2607990831 | 1024) & ~ 131072);
  			undefsymbol_201008_1967573533(((NimStringDesc*) &T2004575671_200));
  		}
  		goto LA193;
  		LA192: ;
  		{
  			NimStringDesc* LOC198;
  			LOC198 = (NimStringDesc*)0;
  			LOC198 = rawNewString(arg0->Sup.len + 28);
  appendString(LOC198, ((NimStringDesc*) &T2004575671_204));
  appendString(LOC198, arg0);
  			localerror_197085_155036129(info0, LOC198);
  		}
  		LA193: ;
  	}
  	goto LA97;
  	LA32: ;
  	{
  		processonoffswitch_281263_2004575671(524288, arg0, pass0, info0);
  		{
  			if (!((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 19))&31U)))!=0)) goto LA202;
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_49), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA200;
  		LA202: ;
  		{
  			undefsymbol_201008_1967573533(((NimStringDesc*) &T2004575671_49));
  		}
  		LA200: ;
  	}
  	goto LA97;
  	LA33: ;
  	{
  		processonoffswitch_281263_2004575671(1022, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA34: ;
  	{
  		processonoffswitch_281263_2004575671(384, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA35: ;
  	{
  		processonoffswitch_281263_2004575671(256, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA36: ;
  	{
  		processonoffswitch_281263_2004575671(128, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA37: ;
  	{
  		processonoffswitch_281263_2004575671(2, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA38: ;
  	{
  		processonoffswitch_281263_2004575671(4, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA39: ;
  	{
  		processonoffswitch_281263_2004575671(8, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA40: ;
  	{
  		processonoffswitch_281263_2004575671(16, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA41: ;
  	{
  		processonoffswitch_281263_2004575671(32, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA42: ;
  	{
  		processonoffswitch_281263_2004575671(1024, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA43: ;
  	{
  		processonoffswitch_281263_2004575671(512, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA44: ;
  	{
  		processonoffswitchg_281324_2004575671(4, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA45: ;
  	{
  		processonoffswitchg_281324_2004575671(64, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA46: ;
  	{
  		processonoffswitchg_281324_2004575671(4194304, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA47: ;
  	{
  		processonoffswitchg_281324_2004575671(67108864, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA48: ;
  	{
  		processonoffswitchg_281324_2004575671(33554432, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA49: ;
  	{
  		processonoffswitch_281263_2004575671(1048576, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA50: ;
  	{
  		processonoffswitch_281263_2004575671(2097152, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA51: ;
  	{
  		NimStringDesc* LOC224;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC224 = (NimStringDesc*)0;
  		LOC224 = nsuNormalize(arg0);
  		if (eqStrings(LOC224, ((NimStringDesc*) &T2004575671_205))) goto LA225;
  		if (eqStrings(LOC224, ((NimStringDesc*) &T2004575671_206))) goto LA226;
  		if (eqStrings(LOC224, ((NimStringDesc*) &T2004575671_133))) goto LA227;
  		goto LA228;
  		LA225: ;
  		{
  			goptions_170128_2607990831 |= ((NU32)1)<<((((Toption170009) 13))%(sizeof(NU32)*8));
  			goptions_170128_2607990831 &= ~(((NU32)1) << ((((Toption170009) 14)) % (sizeof(NU32)*8)));
  		}
  		goto LA229;
  		LA226: ;
  		{
  			goptions_170128_2607990831 &= ~(((NU32)1) << ((((Toption170009) 13)) % (sizeof(NU32)*8)));
  			goptions_170128_2607990831 |= ((NU32)1)<<((((Toption170009) 14))%(sizeof(NU32)*8));
  		}
  		goto LA229;
  		LA227: ;
  		{
  			goptions_170128_2607990831 &= ~(((NU32)1) << ((((Toption170009) 13)) % (sizeof(NU32)*8)));
  			goptions_170128_2607990831 &= ~(((NU32)1) << ((((Toption170009) 14)) % (sizeof(NU32)*8)));
  		}
  		goto LA229;
  		LA228: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 54), arg0);
  		}
  		LA229: ;
  	}
  	goto LA97;
  	LA52: ;
  	{
  		NimStringDesc* LOC235;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC235 = (NimStringDesc*)0;
  		LOC235 = nsuNormalize(arg0);
  		if (eqStrings(LOC235, ((NimStringDesc*) &T2004575671_207))) goto LA236;
  		if (eqStrings(LOC235, ((NimStringDesc*) &T2004575671_208))) goto LA237;
  		if (eqStrings(LOC235, ((NimStringDesc*) &T2004575671_103))) goto LA238;
  		if (eqStrings(LOC235, ((NimStringDesc*) &T2004575671_209))) goto LA239;
  		goto LA240;
  		LA236: ;
  		{
  			gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 10))%(sizeof(NU64)*8));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_210), ((NimStringDesc*) &T2004575671_126));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_211), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA241;
  		LA237: ;
  		{
  			gglobaloptions_170130_2607990831 &= ~(((NU64)1) << ((((Tglobaloption170013) 10)) % (sizeof(NU64)*8)));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_210), ((NimStringDesc*) &T2004575671_126));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_212), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA241;
  		LA238: ;
  		{
  			gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 8))%(sizeof(NU64)*8));
  			gglobaloptions_170130_2607990831 &= ~(((NU64)1) << ((((Tglobaloption170013) 10)) % (sizeof(NU64)*8)));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_213), ((NimStringDesc*) &T2004575671_126));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_214), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA241;
  		LA239: ;
  		{
  			gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 9))%(sizeof(NU64)*8));
  			gglobaloptions_170130_2607990831 &= ~(((NU64)1) << ((((Tglobaloption170013) 10)) % (sizeof(NU64)*8)));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_213), ((NimStringDesc*) &T2004575671_126));
  			definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_209), ((NimStringDesc*) &T2004575671_126));
  		}
  		goto LA241;
  		LA240: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 55), arg0);
  		}
  		LA241: ;
  	}
  	goto LA97;
  	LA53: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA250;
  			addcompileoption_274830_2528170400(arg0);
  		}
  		LA250: ;
  	}
  	goto LA97;
  	LA54: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA255;
  			addlinkoption_274826_2528170400(arg0);
  		}
  		LA255: ;
  	}
  	goto LA97;
  	LA55: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NimStringDesc* LOC262;
  			NimStringDesc* LOC263;
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA260;
  			LOC262 = (NimStringDesc*)0;
  			LOC262 = processpath_282061_2004575671(arg0, info0, NIM_FALSE);
  			cincludes_274451_2528170400 = (TY135002*) incrSeqV2(&(cincludes_274451_2528170400)->Sup, sizeof(NimStringDesc*));
  			LOC263 = (NimStringDesc*)0;
  			LOC263 = cincludes_274451_2528170400->data[cincludes_274451_2528170400->Sup.len]; cincludes_274451_2528170400->data[cincludes_274451_2528170400->Sup.len] = copyStringRC1(LOC262);
  			if (LOC263) nimGCunrefNoCycle(LOC263);
  			++cincludes_274451_2528170400->Sup.len;
  		}
  		LA260: ;
  	}
  	goto LA97;
  	LA56: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NimStringDesc* LOC269;
  			NimStringDesc* LOC270;
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA267;
  			LOC269 = (NimStringDesc*)0;
  			LOC269 = processpath_282061_2004575671(arg0, info0, NIM_FALSE);
  			clibs_274469_2528170400 = (TY135002*) incrSeqV2(&(clibs_274469_2528170400)->Sup, sizeof(NimStringDesc*));
  			LOC270 = (NimStringDesc*)0;
  			LOC270 = clibs_274469_2528170400->data[clibs_274469_2528170400->Sup.len]; clibs_274469_2528170400->data[clibs_274469_2528170400->Sup.len] = copyStringRC1(LOC269);
  			if (LOC270) nimGCunrefNoCycle(LOC270);
  			++clibs_274469_2528170400->Sup.len;
  		}
  		LA267: ;
  	}
  	goto LA97;
  	LA57: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NimStringDesc* LOC276;
  			NimStringDesc* LOC277;
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA274;
  			LOC276 = (NimStringDesc*)0;
  			LOC276 = processpath_282061_2004575671(arg0, info0, NIM_FALSE);
  			clinkedlibs_274487_2528170400 = (TY135002*) incrSeqV2(&(clinkedlibs_274487_2528170400)->Sup, sizeof(NimStringDesc*));
  			LOC277 = (NimStringDesc*)0;
  			LOC277 = clinkedlibs_274487_2528170400->data[clinkedlibs_274487_2528170400->Sup.len]; clinkedlibs_274487_2528170400->data[clinkedlibs_274487_2528170400->Sup.len] = copyStringRC1(LOC276);
  			if (LOC277) nimGCunrefNoCycle(LOC277);
  			++clinkedlibs_274487_2528170400->Sup.len;
  		}
  		LA274: ;
  	}
  	goto LA97;
  	LA58: ;
  	{
  		NimStringDesc* LOC279;
  		LOC279 = (NimStringDesc*)0;
  		LOC279 = headerfile_170138_2607990831; headerfile_170138_2607990831 = copyStringRC1(arg0);
  		if (LOC279) nimGCunrefNoCycle(LOC279);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 27))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA59: ;
  	{
  		processonoffswitchg_281324_2004575671(134217728, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA60: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NimStringDesc* LOC286;
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA284;
  			implicitimports_170252_2607990831 = (TY135002*) incrSeqV2(&(implicitimports_170252_2607990831)->Sup, sizeof(NimStringDesc*));
  			LOC286 = (NimStringDesc*)0;
  			LOC286 = implicitimports_170252_2607990831->data[implicitimports_170252_2607990831->Sup.len]; implicitimports_170252_2607990831->data[implicitimports_170252_2607990831->Sup.len] = copyStringRC1(arg0);
  			if (LOC286) nimGCunrefNoCycle(LOC286);
  			++implicitimports_170252_2607990831->Sup.len;
  		}
  		LA284: ;
  	}
  	goto LA97;
  	LA61: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			NimStringDesc* LOC292;
  			if (!((6 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA290;
  			implicitincludes_170270_2607990831 = (TY135002*) incrSeqV2(&(implicitincludes_170270_2607990831)->Sup, sizeof(NimStringDesc*));
  			LOC292 = (NimStringDesc*)0;
  			LOC292 = implicitincludes_170270_2607990831->data[implicitincludes_170270_2607990831->Sup.len]; implicitincludes_170270_2607990831->data[implicitincludes_170270_2607990831->Sup.len] = copyStringRC1(arg0);
  			if (LOC292) nimGCunrefNoCycle(LOC292);
  			++implicitincludes_170270_2607990831->Sup.len;
  		}
  		LA290: ;
  	}
  	goto LA97;
  	LA62: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 3))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA63: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 12))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA64: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((5 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA298;
  			theos0 = nametoos_177635_4151366050(arg0);
  			{
  				if (!(theos0 == ((Tsystemos177004) 0))) goto LA302;
  				localerror_197080_155036129(info0, ((Tmsgkind192002) 56), arg0);
  			}
  			goto LA300;
  			LA302: ;
  			{
  				if (!!((theos0 == hostos_177630_4151366050))) goto LA305;
  				settarget_177649_4151366050(theos0, targetcpu_177627_4151366050);
  			}
  			goto LA300;
  			LA305: ;
  			LA300: ;
  		}
  		LA298: ;
  	}
  	goto LA97;
  	LA65: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		{
  			if (!((5 &(1U<<((NU)(pass0)&7U)))!=0)) goto LA310;
  			cpu0 = nametocpu_177638_4151366050(arg0);
  			{
  				if (!(cpu0 == ((Tsystemcpu177452) 0))) goto LA314;
  				localerror_197080_155036129(info0, ((Tmsgkind192002) 57), arg0);
  			}
  			goto LA312;
  			LA314: ;
  			{
  				if (!!((cpu0 == hostcpu_177628_4151366050))) goto LA317;
  				settarget_177649_4151366050(targetos_177629_4151366050, cpu0);
  			}
  			goto LA312;
  			LA317: ;
  			LA312: ;
  		}
  		LA310: ;
  	}
  	goto LA97;
  	LA66: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 13))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA67: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gverbosity_170139_2607990831 = nsuParseInt(arg0);
  		gnotes_193071_155036129 = Notesverbosity_192362_155036129[(gverbosity_170139_2607990831)- 0];
  		gnotes_193071_155036129 = (gnotes_193071_155036129 | enablenotes_281366_2004575671);
  		gnotes_193071_155036129 = (gnotes_193071_155036129 & ~ disablenotes_281367_2004575671);
  		gmainpackagenotes_193076_155036129 = gnotes_193071_155036129;
  	}
  	goto LA97;
  	LA68: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gnumberofprocessors_170140_2607990831 = nsuParseInt(arg0);
  	}
  	goto LA97;
  	LA69: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		writeversioninfo_281058_2004575671(pass0);
  	}
  	goto LA97;
  	LA70: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		writeadvancedusage_281043_2004575671(pass0);
  	}
  	goto LA97;
  	LA71: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		helponerror_281030_2004575671(pass0);
  	}
  	goto LA97;
  	LA72: ;
  	{
  		processonoffswitchg_281324_2004575671(16384, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA73: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 16))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA74: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 17))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA75: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 18))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA76: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 19))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA77: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 11))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA78: ;
  	{
  		processonoffswitchg_281324_2004575671(2097152, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA79: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		asgnRefNoCycle((void**) (&libpath_170208_2607990831), processpath_282061_2004575671(arg0, info0, NIM_TRUE));
  	}
  	goto LA97;
  	LA80: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		splitswitch_281215_2004575671(arg0, (&key0), (&val0), pass0, info0);
  		putenv_135638_2125978480(key0, val0);
  	}
  	goto LA97;
  	LA81: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		setcc_274684_2528170400(arg0);
  	}
  	goto LA97;
  	LA82: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		track_282089_2004575671(arg0, info0);
  	}
  	goto LA97;
  	LA83: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		trackdirty_282069_2004575671(arg0, info0);
  	}
  	goto LA97;
  	LA84: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gidecmd_170123_2607990831 = ((Idecmd170082) 1);
  	}
  	goto LA97;
  	LA85: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gidecmd_170123_2607990831 = ((Idecmd170082) 3);
  	}
  	goto LA97;
  	LA86: ;
  	{
  		NimStringDesc* LOC340;
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		LOC340 = (NimStringDesc*)0;
  		LOC340 = gevalexpr_170142_2607990831; gevalexpr_170142_2607990831 = copyStringRC1(arg0);
  		if (LOC340) nimGCunrefNoCycle(LOC340);
  	}
  	goto LA97;
  	LA87: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gidecmd_170123_2607990831 = ((Idecmd170082) 2);
  	}
  	goto LA97;
  	LA88: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gidecmd_170123_2607990831 = ((Idecmd170082) 4);
  	}
  	goto LA97;
  	LA89: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 23))%(sizeof(NU64)*8));
  	}
  	goto LA97;
  	LA90: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		glistfullpaths_170144_2607990831 = NIM_TRUE;
  	}
  	goto LA97;
  	LA91: ;
  	{
  		dynliboverride_282108_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  	}
  	goto LA97;
  	LA92: ;
  	{
  		expectarg_281354_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		if (eqStrings(arg0, ((NimStringDesc*) &T2004575671_220))) goto LA347;
  		if (eqStrings(arg0, ((NimStringDesc*) &T2004575671_133))) goto LA348;
  		goto LA349;
  		LA347: ;
  		{
  			firstchariscs_200017_791273810 = NIM_TRUE;
  		}
  		goto LA350;
  		LA348: ;
  		{
  			firstchariscs_200017_791273810 = NIM_FALSE;
  		}
  		goto LA350;
  		LA349: ;
  		{
  			NimStringDesc* LOC354;
  			LOC354 = (NimStringDesc*)0;
  			LOC354 = rawNewString(arg0->Sup.len + 40);
  appendString(LOC354, ((NimStringDesc*) &T2004575671_221));
  appendString(LOC354, arg0);
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 4), LOC354);
  		}
  		LA350: ;
  	}
  	goto LA97;
  	LA93: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gexperimentalmode_170147_2607990831 = NIM_TRUE;
  	}
  	goto LA97;
  	LA94: ;
  	{
  		cassembler_274432_2528170400 = nametocc_274518_2528170400(arg0);
  		{
  			TY193732 LOC361;
  			NimStringDesc* LOC362;
  			if (!!(((8192 &(1U<<((NU)(cassembler_274432_2528170400)&15U)))!=0))) goto LA359;
  			memset((void*)LOC361, 0, sizeof(LOC361));
  			LOC361[0] = copyString(arg0);
  			LOC362 = (NimStringDesc*)0;
  			LOC362 = nsuFormatOpenArray(((NimStringDesc*) &T2004575671_222), LOC361, 1);
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 4), LOC362);
  		}
  		LA359: ;
  	}
  	goto LA97;
  	LA95: ;
  	{
  		expectnoarg_281360_2004575671(switch_281018_2004575671, arg0, pass0, info0);
  		gglobaloptions_170130_2607990831 |= ((NU64)1)<<((((Tglobaloption170013) 31))%(sizeof(NU64)*8));
  		definesymbol_201004_1967573533(((NimStringDesc*) &T2004575671_223), ((NimStringDesc*) &T2004575671_126));
  	}
  	goto LA97;
  	LA96: ;
  	{
  		{
  			NI LOC367;
  			LOC367 = (NI)0;
  			LOC367 = nsuFindChar(switch_281018_2004575671, 46, ((NI) 0));
  			if (!(((NI) 0) <= LOC367)) goto LA368;
  			setconfigvar_170296_2607990831(switch_281018_2004575671, arg0);
  		}
  		goto LA365;
  		LA368: ;
  		{
  			invalidcmdlineoption_281210_2004575671(pass0, switch_281018_2004575671, info0);
  		}
  		LA365: ;
  	}
  	LA97: ;
  }
  
  N_NIMCALL(void, processswitch_282812_2004575671)(Tcmdlinepass281008 pass0, Optparser279405* p0) {
  	NI bracketle0;
  	bracketle0 = nsuFindChar((*p0).key, 91, ((NI) 0));
  	{
  		NimStringDesc* key0;
  		NimStringDesc* val0;
  		NimStringDesc* LOC5;
  		NimStringDesc* LOC6;
  		if (!(((NI) 0) <= bracketle0)) goto LA3;
  		key0 = copyStrLast((*p0).key, ((NI) 0), (NI)(bracketle0 - ((NI) 1)));
  		LOC5 = (NimStringDesc*)0;
  		LOC6 = (NimStringDesc*)0;
  		LOC6 = copyStr((*p0).key, (NI)(bracketle0 + ((NI) 1)));
  		LOC5 = rawNewString(LOC6->Sup.len + (*p0).val->Sup.len + 1);
  appendString(LOC5, LOC6);
  appendChar(LOC5, 58);
  appendString(LOC5, (*p0).val);
  		val0 = LOC5;
  		processswitch_281016_2004575671(key0, val0, pass0, gcmdlineinfo_193037_155036129);
  	}
  	goto LA1;
  	LA3: ;
  	{
  		processswitch_281016_2004575671((*p0).key, (*p0).val, pass0, gcmdlineinfo_193037_155036129);
  	}
  	LA1: ;
  }
  
  N_NIMCALL(NIM_BOOL, testcompileoption_281708_2004575671)(NimStringDesc* switch_281710_2004575671, Tlineinfo192336 info0) {
  	NIM_BOOL result0;
  	NimStringDesc* LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = nsuNormalize(switch_281710_2004575671);
  	switch (hashString(LOC1) & 63) {
  	case 1: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_50))) goto LA14;
  break;
  	case 2: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_62))) goto LA24;
  break;
  	case 8: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_54))) goto LA17;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_96))) goto LA27;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_69))) goto LA33;
  break;
  	case 9: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_44))) goto LA9;
  break;
  	case 12: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_67))) goto LA30;
  break;
  	case 14: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_33))) goto LA4;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_57))) goto LA20;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_61))) goto LA24;
  break;
  	case 16: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_39))) goto LA7;
  break;
  	case 19: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_48))) goto LA12;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_49))) goto LA13;
  break;
  	case 22: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_60))) goto LA23;
  break;
  	case 24: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_35))) goto LA6;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_47))) goto LA11;
  break;
  	case 25: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_32))) goto LA3;
  break;
  	case 26: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_53))) goto LA16;
  break;
  	case 29: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_34))) goto LA5;
  break;
  	case 30: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_31))) goto LA3;
  break;
  	case 31: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_59))) goto LA22;
  break;
  	case 32: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_40))) goto LA7;
  break;
  	case 34: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_63))) goto LA25;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_88))) goto LA26;
  break;
  	case 36: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_55))) goto LA18;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_66))) goto LA31;
  break;
  	case 37: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_51))) goto LA14;
  break;
  	case 40: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_45))) goto LA10;
  break;
  	case 41: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_58))) goto LA21;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_87))) goto LA26;
  break;
  	case 42: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_101))) goto LA28;
  break;
  	case 45: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_29))) goto LA2;
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_117))) goto LA34;
  break;
  	case 46: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_36))) goto LA6;
  break;
  	case 49: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_56))) goto LA19;
  break;
  	case 51: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_43))) goto LA8;
  break;
  	case 53: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_52))) goto LA15;
  break;
  	case 54: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_65))) goto LA29;
  break;
  	case 62: 
  if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_68))) goto LA32;
  break;
  	}
  	goto LA35;
  	LA2: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 7))&63U)))!=0);
  	}
  	goto LA36;
  	LA3: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 4))&63U)))!=0);
  	}
  	goto LA36;
  	LA4: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 5))&63U)))!=0);
  	}
  	goto LA36;
  	LA5: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 20))&63U)))!=0);
  	}
  	goto LA36;
  	LA6: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 1))&63U)))!=0);
  	}
  	goto LA36;
  	LA7: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 11))&31U)))!=0);
  	}
  	goto LA36;
  	LA8: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 12))&31U)))!=0);
  	}
  	goto LA36;
  	LA9: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 24))&63U)))!=0);
  	}
  	goto LA36;
  	LA10: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 15))&31U)))!=0);
  	}
  	goto LA36;
  	LA11: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 16))&31U)))!=0);
  	}
  	goto LA36;
  	LA12: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 17))&31U)))!=0);
  	}
  	goto LA36;
  	LA13: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 19))&31U)))!=0);
  	}
  	goto LA36;
  	LA14: ;
  	{
  		result0 = ((goptions_170128_2607990831 & 1022) == 1022);
  	}
  	goto LA36;
  	LA15: ;
  	{
  		result0 = ((goptions_170128_2607990831 & 384) == 384);
  	}
  	goto LA36;
  	LA16: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 8))&31U)))!=0);
  	}
  	goto LA36;
  	LA17: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 7))&31U)))!=0);
  	}
  	goto LA36;
  	LA18: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 1))&31U)))!=0);
  	}
  	goto LA36;
  	LA19: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 2))&31U)))!=0);
  	}
  	goto LA36;
  	LA20: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 3))&31U)))!=0);
  	}
  	goto LA36;
  	LA21: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 4))&31U)))!=0);
  	}
  	goto LA36;
  	LA22: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 5))&31U)))!=0);
  	}
  	goto LA36;
  	LA23: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 10))&31U)))!=0);
  	}
  	goto LA36;
  	LA24: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 9))&31U)))!=0);
  	}
  	goto LA36;
  	LA25: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 2))&63U)))!=0);
  	}
  	goto LA36;
  	LA26: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 13))&63U)))!=0);
  	}
  	goto LA36;
  	LA27: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 14))&63U)))!=0);
  	}
  	goto LA36;
  	LA28: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 11))&63U)))!=0);
  	}
  	goto LA36;
  	LA29: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 22))&63U)))!=0);
  	}
  	goto LA36;
  	LA30: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 25))&63U)))!=0);
  	}
  	goto LA36;
  	LA31: ;
  	{
  		result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 26))&63U)))!=0);
  	}
  	goto LA36;
  	LA32: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 20))&31U)))!=0);
  	}
  	goto LA36;
  	LA33: ;
  	{
  		result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 21))&31U)))!=0);
  	}
  	goto LA36;
  	LA34: ;
  	{
  		result0 = gexperimentalmode_170147_2607990831;
  	}
  	goto LA36;
  	LA35: ;
  	{
  		invalidcmdlineoption_281210_2004575671(((Tcmdlinepass281008) 0), switch_281710_2004575671, info0);
  	}
  	LA36: ;
  	return result0;
  }
  
  N_NIMCALL(NIM_BOOL, testcompileoptionarg_281523_2004575671)(NimStringDesc* switch_281525_2004575671, NimStringDesc* arg0, Tlineinfo192336 info0) {
  	NIM_BOOL result0;
  	NimStringDesc* LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = nsuNormalize(switch_281525_2004575671);
  	if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_38))) goto LA2;
  	if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_70))) goto LA3;
  	if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_89))) goto LA4;
  	if (eqStrings(LOC1, ((NimStringDesc*) &T2004575671_71))) goto LA5;
  	goto LA6;
  	LA2: ;
  	{
  		NimStringDesc* LOC9;
  		LOC9 = (NimStringDesc*)0;
  		LOC9 = nsuNormalize(arg0);
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_127))) goto LA10;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_128))) goto LA11;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_129))) goto LA12;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_130))) goto LA13;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_131))) goto LA14;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_132))) goto LA15;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_133))) goto LA16;
  		if (eqStrings(LOC9, ((NimStringDesc*) &T2004575671_134))) goto LA17;
  		goto LA18;
  		LA10: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 1));
  		}
  		goto LA19;
  		LA11: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 5));
  		}
  		goto LA19;
  		LA12: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 6));
  		}
  		goto LA19;
  		LA13: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 4));
  		}
  		goto LA19;
  		LA14: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 7));
  		}
  		goto LA19;
  		LA15: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 2));
  		}
  		goto LA19;
  		LA16: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 0));
  		}
  		goto LA19;
  		LA17: ;
  		{
  			result0 = (gselectedgc_170133_2607990831 == ((Tgcmode170080) 3));
  		}
  		goto LA19;
  		LA18: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 53), arg0);
  		}
  		LA19: ;
  	}
  	goto LA7;
  	LA3: ;
  	{
  		NimStringDesc* LOC30;
  		LOC30 = (NimStringDesc*)0;
  		LOC30 = nsuNormalize(arg0);
  		if (eqStrings(LOC30, ((NimStringDesc*) &T2004575671_205))) goto LA31;
  		if (eqStrings(LOC30, ((NimStringDesc*) &T2004575671_206))) goto LA32;
  		if (eqStrings(LOC30, ((NimStringDesc*) &T2004575671_133))) goto LA33;
  		goto LA34;
  		LA31: ;
  		{
  			result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 13))&31U)))!=0);
  		}
  		goto LA35;
  		LA32: ;
  		{
  			result0 = ((goptions_170128_2607990831 &(1U<<((NU)(((Toption170009) 14))&31U)))!=0);
  		}
  		goto LA35;
  		LA33: ;
  		{
  			result0 = ((goptions_170128_2607990831 & 24576) == 0);
  		}
  		goto LA35;
  		LA34: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 54), arg0);
  		}
  		LA35: ;
  	}
  	goto LA7;
  	LA4: ;
  	{
  		NimStringDesc* LOC41;
  		LOC41 = (NimStringDesc*)0;
  		LOC41 = nimIntToStr(gverbosity_170139_2607990831);
  		result0 = eqStrings(LOC41, arg0);
  	}
  	goto LA7;
  	LA5: ;
  	{
  		NimStringDesc* LOC43;
  		LOC43 = (NimStringDesc*)0;
  		LOC43 = nsuNormalize(arg0);
  		if (eqStrings(LOC43, ((NimStringDesc*) &T2004575671_207))) goto LA44;
  		if (eqStrings(LOC43, ((NimStringDesc*) &T2004575671_208))) goto LA45;
  		if (eqStrings(LOC43, ((NimStringDesc*) &T2004575671_103))) goto LA46;
  		if (eqStrings(LOC43, ((NimStringDesc*) &T2004575671_209))) goto LA47;
  		goto LA48;
  		LA44: ;
  		{
  			result0 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 10))&63U)))!=0);
  		}
  		goto LA49;
  		LA45: ;
  		{
  			result0 = !(((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 10))&63U)))!=0));
  		}
  		goto LA49;
  		LA46: ;
  		{
  			NIM_BOOL LOC53;
  			LOC53 = (NIM_BOOL)0;
  			LOC53 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 8))&63U)))!=0);
  			if (!(LOC53)) goto LA54;
  			LOC53 = !(((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 10))&63U)))!=0));
  			LA54: ;
  			result0 = LOC53;
  		}
  		goto LA49;
  		LA47: ;
  		{
  			NIM_BOOL LOC56;
  			LOC56 = (NIM_BOOL)0;
  			LOC56 = ((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 9))&63U)))!=0);
  			if (!(LOC56)) goto LA57;
  			LOC56 = !(((gglobaloptions_170130_2607990831 &((NU64)1<<((NU)(((Tglobaloption170013) 10))&63U)))!=0));
  			LA57: ;
  			result0 = LOC56;
  		}
  		goto LA49;
  		LA48: ;
  		{
  			localerror_197080_155036129(info0, ((Tmsgkind192002) 55), arg0);
  		}
  		LA49: ;
  	}
  	goto LA7;
  	LA6: ;
  	{
  		invalidcmdlineoption_281210_2004575671(((Tcmdlinepass281008) 0), switch_281525_2004575671, info0);
  	}
  	LA7: ;
  	return result0;
  }
  NIM_EXTERNC N_NOINLINE(void, compiler_commandsInit000)(void) {
  	NimStringDesc* LOC1;
  nimRegisterGlobalMarker(T2004575671_2);
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = arguments_282811_2004575671; arguments_282811_2004575671 = copyStringRC1(((NimStringDesc*) &T2004575671_3));
  	if (LOC1) nimGCunrefNoCycle(LOC1);
  }
  
  NIM_EXTERNC N_NOINLINE(void, compiler_commandsDatInit000)(void) {
  }
  
  