text: /* Generated by Nim Compiler v0.15.0 */
  /*   (c) 2016 Andreas Rumpf */
  /* The generated code is subject to the original license. */
  #define NIM_INTBITS 64
  
  #include "nimbase.h"
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct Tinfocpu176476 Tinfocpu176476;
  typedef struct Tinfoos176035 Tinfoos176035;
  typedef struct Cell47705 Cell47705;
  typedef struct Cellseq47721 Cellseq47721;
  typedef struct Gcheap50218 Gcheap50218;
  typedef struct Gcstack50216 Gcstack50216;
  typedef struct Memregion29886 Memregion29886;
  typedef struct Smallchunk29840 Smallchunk29840;
  typedef struct Llchunk29880 Llchunk29880;
  typedef struct Bigchunk29842 Bigchunk29842;
  typedef struct Intset29814 Intset29814;
  typedef struct Trunk29810 Trunk29810;
  typedef struct Avlnode29884 Avlnode29884;
  typedef struct Gcstat50214 Gcstat50214;
  typedef struct Cellset47717 Cellset47717;
  typedef struct Pagedesc47713 Pagedesc47713;
  typedef struct Basechunk29838 Basechunk29838;
  typedef struct Freecell29830 Freecell29830;
  typedef NU8 Tsystemcpu176452;
  typedef NU8 Tsystemos176004;
  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, Globalmarkerproc56202) (void);
  typedef NU8 Tendian176474;
  struct Tinfocpu176476 {
  NimStringDesc* Field0;
  NI Field1;
  Tendian176474 Field2;
  NI Field3;
  NI Field4;
  };
  typedef Tinfocpu176476 TY176510[19];
  typedef NU8 Tinfoosprop176031Set;
  struct Tinfoos176035 {
  NimStringDesc* Field0;
  NimStringDesc* Field1;
  NimStringDesc* Field2;
  NimStringDesc* Field3;
  NimStringDesc* Field4;
  NimStringDesc* Field5;
  NimStringDesc* Field6;
  NimStringDesc* Field7;
  NimStringDesc* Field8;
  NimStringDesc* Field9;
  NimStringDesc* Field10;
  NimStringDesc* Field11;
  Tinfoosprop176031Set Field12;
  };
  typedef Tinfoos176035 TY176082[24];
  struct  Cell47705  {
  NI refcount;
  TNimType* typ;
  };
  struct  Cellseq47721  {
  NI len;
  NI cap;
  Cell47705** d;
  };
  typedef Smallchunk29840* TY29901[512];
  typedef Trunk29810* Trunkbuckets29812[256];
  struct  Intset29814  {
  Trunkbuckets29812 data;
  };
  struct  Memregion29886  {
  NI minlargeobj;
  NI maxlargeobj;
  TY29901 freesmallchunks;
  Llchunk29880* llmem;
  NI currmem;
  NI maxmem;
  NI freemem;
  NI lastsize;
  Bigchunk29842* freechunkslist;
  Intset29814 chunkstarts;
  Avlnode29884* root;
  Avlnode29884* deleted;
  Avlnode29884* last;
  Avlnode29884* freeavlnodes;
  NIM_BOOL locked;
  };
  struct  Gcstat50214  {
  NI stackscans;
  NI cyclecollections;
  NI maxthreshold;
  NI maxstacksize;
  NI maxstackcells;
  NI cycletablesize;
  NI64 maxpause;
  };
  struct  Cellset47717  {
  NI counter;
  NI max;
  Pagedesc47713* head;
  Pagedesc47713** data;
  };
  struct  Gcheap50218  {
  Gcstack50216* stack;
  void* stackbottom;
  NI cyclethreshold;
  Cellseq47721 zct;
  Cellseq47721 decstack;
  Cellseq47721 tempstack;
  NI recgclock;
  Memregion29886 region;
  Gcstat50214 stat;
  Cellset47717 marked;
  Cellseq47721 additionalroots;
  };
  struct  Gcstack50216  {
  Gcstack50216* prev;
  Gcstack50216* next;
  void* starts;
  void* pos;
  NI maxstacksize;
  };
  struct  Basechunk29838  {
  NI prevsize;
  NI size;
  NIM_BOOL used;
  };
  struct  Smallchunk29840  {
    Basechunk29838 Sup;
  Smallchunk29840* next;
  Smallchunk29840* prev;
  Freecell29830* freelist;
  NI free;
  NI acc;
  NF data;
  };
  struct  Llchunk29880  {
  NI size;
  NI acc;
  Llchunk29880* next;
  };
  struct  Bigchunk29842  {
    Basechunk29838 Sup;
  Bigchunk29842* next;
  Bigchunk29842* prev;
  NI align;
  NF data;
  };
  typedef NI TY29819[8];
  struct  Trunk29810  {
  Trunk29810* next;
  NI key;
  TY29819 bits;
  };
  typedef Avlnode29884* TY29891[2];
  struct  Avlnode29884  {
  TY29891 link;
  NI key;
  NI upperbound;
  NI level;
  };
  struct  Pagedesc47713  {
  Pagedesc47713* next;
  NI key;
  TY29819 bits;
  };
  struct  Freecell29830  {
  Freecell29830* next;
  NI zerofield;
  };
  N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
  N_NIMCALL(void, T4151366050_2)(void);
  N_NIMCALL(void, nimRegisterGlobalMarker)(Globalmarkerproc56202 markerproc0);
  N_NIMCALL(Tsystemcpu176452, nametocpu_176638_4151366050)(NimStringDesc* name0);
  N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a0, NimStringDesc* b0);
  N_NIMCALL(Tsystemos176004, nametoos_176635_4151366050)(NimStringDesc* name0);
  N_NIMCALL(void, settarget_176649_4151366050)(Tsystemos176004 o0, Tsystemcpu176452 c0);
  N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
  static N_INLINE(Cell47705*, usrtocell_51840_1689653243)(void* usr0);
  static N_INLINE(void, rtladdzct_53001_1689653243)(Cell47705* c0);
  N_NOINLINE(void, addzct_51817_1689653243)(Cellseq47721* s0, Cell47705* c0);
  STRING_LITERAL(T4151366050_3, "i386", 4);
  STRING_LITERAL(T4151366050_4, "m68k", 4);
  STRING_LITERAL(T4151366050_5, "alpha", 5);
  STRING_LITERAL(T4151366050_6, "powerpc", 7);
  STRING_LITERAL(T4151366050_7, "powerpc64", 9);
  STRING_LITERAL(T4151366050_8, "powerpc64el", 11);
  STRING_LITERAL(T4151366050_9, "sparc", 5);
  STRING_LITERAL(T4151366050_10, "vm", 2);
  STRING_LITERAL(T4151366050_11, "ia64", 4);
  STRING_LITERAL(T4151366050_12, "amd64", 5);
  STRING_LITERAL(T4151366050_13, "mips", 4);
  STRING_LITERAL(T4151366050_14, "mipsel", 6);
  STRING_LITERAL(T4151366050_15, "arm", 3);
  STRING_LITERAL(T4151366050_16, "arm64", 5);
  STRING_LITERAL(T4151366050_17, "js", 2);
  STRING_LITERAL(T4151366050_18, "nimrodvm", 8);
  STRING_LITERAL(T4151366050_19, "avr", 3);
  STRING_LITERAL(T4151366050_20, "msp430", 6);
  STRING_LITERAL(T4151366050_21, "sparc64", 7);
  NIM_CONST TY176510 Cpu_176496_4151366050 = {{((NimStringDesc*) &T4151366050_3),
  ((NI) 32),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_4),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_5),
  ((NI) 64),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_6),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_7),
  ((NI) 64),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_8),
  ((NI) 64),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_9),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_10),
  ((NI) 32),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_11),
  ((NI) 64),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_12),
  ((NI) 64),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_13),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_14),
  ((NI) 32),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_15),
  ((NI) 32),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_16),
  ((NI) 64),
  ((Tendian176474) 0),
  ((NI) 64),
  ((NI) 64)}
  ,
  {((NimStringDesc*) &T4151366050_17),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_18),
  ((NI) 32),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 32)}
  ,
  {((NimStringDesc*) &T4151366050_19),
  ((NI) 16),
  ((Tendian176474) 0),
  ((NI) 32),
  ((NI) 16)}
  ,
  {((NimStringDesc*) &T4151366050_20),
  ((NI) 16),
  ((Tendian176474) 0),
  ((NI) 32),
  ((NI) 16)}
  ,
  {((NimStringDesc*) &T4151366050_21),
  ((NI) 64),
  ((Tendian176474) 1),
  ((NI) 64),
  ((NI) 64)}
  }
  ;
  STRING_LITERAL(T4151366050_22, "DOS", 3);
  STRING_LITERAL(T4151366050_23, "..", 2);
  STRING_LITERAL(T4151366050_24, "$1.dll", 6);
  STRING_LITERAL(T4151366050_25, "/", 1);
  STRING_LITERAL(T4151366050_26, ".obj", 4);
  STRING_LITERAL(T4151366050_27, "\015\012", 2);
  STRING_LITERAL(T4151366050_28, ";", 1);
  STRING_LITERAL(T4151366050_29, "\\", 1);
  STRING_LITERAL(T4151366050_30, ".bat", 4);
  STRING_LITERAL(T4151366050_31, ".", 1);
  STRING_LITERAL(T4151366050_32, ".exe", 4);
  STRING_LITERAL(T4151366050_33, "Windows", 7);
  STRING_LITERAL(T4151366050_34, "OS2", 3);
  STRING_LITERAL(T4151366050_35, "Linux", 5);
  STRING_LITERAL(T4151366050_36, "lib$1.so", 8);
  STRING_LITERAL(T4151366050_37, ".o", 2);
  STRING_LITERAL(T4151366050_38, "\012", 1);
  STRING_LITERAL(T4151366050_39, ":", 1);
  STRING_LITERAL(T4151366050_40, ".sh", 3);
  STRING_LITERAL(T4151366050_41, "", 0);
  STRING_LITERAL(T4151366050_42, "MorphOS", 7);
  STRING_LITERAL(T4151366050_43, "SkyOS", 5);
  STRING_LITERAL(T4151366050_44, "Solaris", 7);
  STRING_LITERAL(T4151366050_45, "Irix", 4);
  STRING_LITERAL(T4151366050_46, "NetBSD", 6);
  STRING_LITERAL(T4151366050_47, "FreeBSD", 7);
  STRING_LITERAL(T4151366050_48, "OpenBSD", 7);
  STRING_LITERAL(T4151366050_49, "AIX", 3);
  STRING_LITERAL(T4151366050_50, "PalmOS", 6);
  STRING_LITERAL(T4151366050_51, "QNX", 3);
  STRING_LITERAL(T4151366050_52, "Amiga", 5);
  STRING_LITERAL(T4151366050_53, "$1.library", 10);
  STRING_LITERAL(T4151366050_54, "Atari", 5);
  STRING_LITERAL(T4151366050_55, ".tpp", 4);
  STRING_LITERAL(T4151366050_56, "Netware", 7);
  STRING_LITERAL(T4151366050_57, "$1.nlm", 6);
  STRING_LITERAL(T4151366050_58, ".nlm", 4);
  STRING_LITERAL(T4151366050_59, "MacOS", 5);
  STRING_LITERAL(T4151366050_60, "::", 2);
  STRING_LITERAL(T4151366050_61, "$1Lib", 5);
  STRING_LITERAL(T4151366050_62, "\015", 1);
  STRING_LITERAL(T4151366050_63, ",", 1);
  STRING_LITERAL(T4151366050_64, "MacOSX", 6);
  STRING_LITERAL(T4151366050_65, "lib$1.dylib", 11);
  STRING_LITERAL(T4151366050_66, "Haiku", 5);
  STRING_LITERAL(T4151366050_67, "VxWorks", 7);
  STRING_LITERAL(T4151366050_68, ".vxe", 4);
  STRING_LITERAL(T4151366050_69, "JS", 2);
  STRING_LITERAL(T4151366050_70, "NimrodVM", 8);
  STRING_LITERAL(T4151366050_71, "Standalone", 10);
  NIM_CONST TY176082 Os_176068_4151366050 = {{((NimStringDesc*) &T4151366050_22),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_24),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_26),
  ((NimStringDesc*) &T4151366050_27),
  ((NimStringDesc*) &T4151366050_28),
  ((NimStringDesc*) &T4151366050_29),
  ((NimStringDesc*) &T4151366050_30),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_32),
  ((NimStringDesc*) &T4151366050_31),
  2}
  ,
  {((NimStringDesc*) &T4151366050_33),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_24),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_26),
  ((NimStringDesc*) &T4151366050_27),
  ((NimStringDesc*) &T4151366050_28),
  ((NimStringDesc*) &T4151366050_29),
  ((NimStringDesc*) &T4151366050_30),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_32),
  ((NimStringDesc*) &T4151366050_31),
  2}
  ,
  {((NimStringDesc*) &T4151366050_34),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_24),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_26),
  ((NimStringDesc*) &T4151366050_27),
  ((NimStringDesc*) &T4151366050_28),
  ((NimStringDesc*) &T4151366050_29),
  ((NimStringDesc*) &T4151366050_30),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_32),
  ((NimStringDesc*) &T4151366050_31),
  2}
  ,
  {((NimStringDesc*) &T4151366050_35),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_42),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_43),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_44),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_45),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_46),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_47),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_48),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_49),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_50),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  1}
  ,
  {((NimStringDesc*) &T4151366050_51),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  5}
  ,
  {((NimStringDesc*) &T4151366050_52),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_53),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  1}
  ,
  {((NimStringDesc*) &T4151366050_54),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_24),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_55),
  ((NimStringDesc*) &T4151366050_31),
  1}
  ,
  {((NimStringDesc*) &T4151366050_56),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_57),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_27),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_58),
  ((NimStringDesc*) &T4151366050_31),
  2}
  ,
  {((NimStringDesc*) &T4151366050_59),
  ((NimStringDesc*) &T4151366050_60),
  ((NimStringDesc*) &T4151366050_61),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_62),
  ((NimStringDesc*) &T4151366050_63),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  2}
  ,
  {((NimStringDesc*) &T4151366050_64),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_65),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  13}
  ,
  {((NimStringDesc*) &T4151366050_66),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  13}
  ,
  {((NimStringDesc*) &T4151366050_67),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_28),
  ((NimStringDesc*) &T4151366050_29),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_68),
  ((NimStringDesc*) &T4151366050_31),
  13}
  ,
  {((NimStringDesc*) &T4151366050_69),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  0}
  ,
  {((NimStringDesc*) &T4151366050_70),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  0}
  ,
  {((NimStringDesc*) &T4151366050_71),
  ((NimStringDesc*) &T4151366050_23),
  ((NimStringDesc*) &T4151366050_36),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_37),
  ((NimStringDesc*) &T4151366050_38),
  ((NimStringDesc*) &T4151366050_39),
  ((NimStringDesc*) &T4151366050_25),
  ((NimStringDesc*) &T4151366050_40),
  ((NimStringDesc*) &T4151366050_31),
  ((NimStringDesc*) &T4151366050_41),
  ((NimStringDesc*) &T4151366050_31),
  0}
  }
  ;
  STRING_LITERAL(T4151366050_72, "haiku", 5);
  Tsystemcpu176452 targetcpu_176627_4151366050;
  Tsystemcpu176452 hostcpu_176628_4151366050;
  Tsystemos176004 targetos_176629_4151366050;
  Tsystemos176004 hostos_176630_4151366050;
  NI intsize_176641_4151366050;
  NI floatsize_176642_4151366050;
  NI ptrsize_176643_4151366050;
  NimStringDesc* tnl_176644_4151366050;
  extern TNimType NTI138; /* string */
  extern Gcheap50218 gch_50258_1689653243;
  N_NIMCALL(void, T4151366050_2)(void) {
  	nimGCvisit((void*)tnl_176644_4151366050, 0);
  }
  
  N_NIMCALL(Tsystemcpu176452, nametocpu_176638_4151366050)(NimStringDesc* name0) {
  	Tsystemcpu176452 result0;
  {	result0 = (Tsystemcpu176452)0;
  	{
  		Tsystemcpu176452 i_177414_4151366050;
  		NI res_177419_4151366050;
  		i_177414_4151366050 = (Tsystemcpu176452)0;
  		res_177419_4151366050 = ((NI) 1);
  		{
  			while (1) {
  				if (!(res_177419_4151366050 <= ((NI) 19))) goto LA3;
  				i_177414_4151366050 = ((Tsystemcpu176452) (res_177419_4151366050));
  				{
  					NI LOC6;
  					LOC6 = (NI)0;
  					LOC6 = nsuCmpIgnoreStyle(name0, Cpu_176496_4151366050[(i_177414_4151366050)- 1].Field0);
  					if (!(LOC6 == ((NI) 0))) goto LA7;
  					result0 = i_177414_4151366050;
  					goto BeforeRet;
  				}
  				LA7: ;
  				res_177419_4151366050 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	result0 = ((Tsystemcpu176452) 0);
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(Tsystemos176004, nametoos_176635_4151366050)(NimStringDesc* name0) {
  	Tsystemos176004 result0;
  {	result0 = (Tsystemos176004)0;
  	{
  		Tsystemos176004 i_177214_4151366050;
  		NI res_177219_4151366050;
  		i_177214_4151366050 = (Tsystemos176004)0;
  		res_177219_4151366050 = ((NI) 1);
  		{
  			while (1) {
  				if (!(res_177219_4151366050 <= ((NI) 24))) goto LA3;
  				i_177214_4151366050 = ((Tsystemos176004) (res_177219_4151366050));
  				{
  					NI LOC6;
  					LOC6 = (NI)0;
  					LOC6 = nsuCmpIgnoreStyle(name0, Os_176068_4151366050[(i_177214_4151366050)- 1].Field0);
  					if (!(LOC6 == ((NI) 0))) goto LA7;
  					result0 = i_177214_4151366050;
  					goto BeforeRet;
  				}
  				LA7: ;
  				res_177219_4151366050 += ((NI) 1);
  			} LA3: ;
  		}
  	}
  	result0 = ((Tsystemos176004) 0);
  	}BeforeRet: ;
  	return result0;
  }
  
  static N_INLINE(Cell47705*, usrtocell_51840_1689653243)(void* usr0) {
  	Cell47705* result0;
  	result0 = (Cell47705*)0;
  	result0 = ((Cell47705*) ((NI)((NU64)(((NI) (usr0))) - (NU64)(((NI)sizeof(Cell47705))))));
  	return result0;
  }
  
  static N_INLINE(void, rtladdzct_53001_1689653243)(Cell47705* c0) {
  	addzct_51817_1689653243((&gch_50258_1689653243.zct), c0);
  }
  
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
  	Cell47705* c0;
  	c0 = usrtocell_51840_1689653243(p0);
  	{
  		(*c0).refcount -= ((NI) 8);
  		if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3;
  		rtladdzct_53001_1689653243(c0);
  	}
  	LA3: ;
  }
  
  N_NIMCALL(void, settarget_176649_4151366050)(Tsystemos176004 o0, Tsystemcpu176452 c0) {
  	NimStringDesc* LOC1;
  	targetcpu_176627_4151366050 = c0;
  	targetos_176629_4151366050 = o0;
  	intsize_176641_4151366050 = (NI)(Cpu_176496_4151366050[(c0)- 1].Field1 / ((NI) 8));
  	floatsize_176642_4151366050 = (NI)(Cpu_176496_4151366050[(c0)- 1].Field3 / ((NI) 8));
  	ptrsize_176643_4151366050 = (NI)(Cpu_176496_4151366050[(c0)- 1].Field4 / ((NI) 8));
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = tnl_176644_4151366050; tnl_176644_4151366050 = copyStringRC1(Os_176068_4151366050[(o0)- 1].Field5);
  	if (LOC1) nimGCunrefNoCycle(LOC1);
  }
  NIM_EXTERNC N_NOINLINE(void, compiler_platformInit000)(void) {
  nimRegisterGlobalMarker(T4151366050_2);
  	hostcpu_176628_4151366050 = nametocpu_176638_4151366050(((NimStringDesc*) &T4151366050_12));
  	hostos_176630_4151366050 = nametoos_176635_4151366050(((NimStringDesc*) &T4151366050_72));
  	settarget_176649_4151366050(hostos_176630_4151366050, hostcpu_176628_4151366050);
  }
  
  NIM_EXTERNC N_NOINLINE(void, compiler_platformDatInit000)(void) {
  }
  
  