/* Generated by Nim Compiler v0.16.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef linux
typedef struct TY_sM4lkSb7zS6F7OVMvW9cffQ TY_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w;
typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA;
typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg;
typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw;
typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q;
typedef struct TY_5L3fCt9bX0gyEcO30ervPLw TY_5L3fCt9bX0gyEcO30ervPLw;
typedef struct TY_UpiOGlu5Ux6DLM73wSrdpg TY_UpiOGlu5Ux6DLM73wSrdpg;
typedef struct TY_D9aiJ5rnfkBkzGjCtT9c16jw TY_D9aiJ5rnfkBkzGjCtT9c16jw;
typedef struct TY_7q7q3E6Oj24ZNVJb9aonhAg TY_7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ;
typedef struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q;
typedef struct TNimObject TNimObject;
typedef struct EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q;
typedef struct Processobj_NHqciQYh8G1aN2n273mmYw Processobj_NHqciQYh8G1aN2n273mmYw;
typedef struct Streamobj_RShkcoDOPnoCVhtpN1hDPQ Streamobj_RShkcoDOPnoCVhtpN1hDPQ;
typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w;
typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ;
typedef NU8 Tsystemcc_Y42JhQFLdjkIirjI3TJjww;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct  TNimType  {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, TY_T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct  Cell_1zcF9cV8XIAtbN8h5HRUB8g  {
NI refcount;
TNimType* typ;
};
struct  Cellseq_Axo1XVm9aaQueTOldv8le5w  {
NI len;
NI cap;
Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256];
struct  Intset_EZObFrE3NC9bIb3YMkY9crZA  {
TY_lh2A89ahMmYg9bCmpVaplLbA data;
};
struct  Memregion_x81NhDv59b8ercDZ9bi85jyg  {
NI minlargeobj;
NI maxlargeobj;
TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks;
Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist;
Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes;
NIM_BOOL locked;
NIM_BOOL blockchunksizeincrease;
NI nextchunksize;
};
struct  Gcstat_0RwLoVBHZPfUAcLczmfQAg  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset_jG87P0AI9aZtss9ccTYBIISQ  {
NI counter;
NI max;
Pagedesc_fublkgIY4LG3mT51LU2WHg* head;
Pagedesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct  Gcheap_1TRH1TZMaVZTnLNcIHuNFQ  {
Gcstack_7fytPA5bBsob6See21YMRA* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq_Axo1XVm9aaQueTOldv8le5w zct;
Cellseq_Axo1XVm9aaQueTOldv8le5w decstack;
Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack;
NI recgclock;
Memregion_x81NhDv59b8ercDZ9bi85jyg region;
Gcstat_0RwLoVBHZPfUAcLczmfQAg stat;
Cellset_jG87P0AI9aZtss9ccTYBIISQ marked;
Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots;
};
struct  Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw  {
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail;
NI counter;
};
typedef NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set;
typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 Tcommands_VH3ghgQVwLSg3krOAoXigw;
typedef NU8 TY_YtcvxHNKV4YiecPE9ap1mcA[20];
typedef NU8 Tinfoosprop_thetQwB9agpeQ13qFmAcWhg_Set;
struct TY_5L3fCt9bX0gyEcO30ervPLw {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
Tinfoosprop_thetQwB9agpeQ13qFmAcWhg_Set Field12;
};
typedef TY_5L3fCt9bX0gyEcO30ervPLw TY_lqxxFN1iDg3WCzdrp3BQKA[24];
typedef NU8 Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ;
typedef NU8 Tendian_bQ3yFYQJojZPNYsZnS7Zjg;
struct TY_UpiOGlu5Ux6DLM73wSrdpg {
NimStringDesc* Field0;
NI Field1;
Tendian_bQ3yFYQJojZPNYsZnS7Zjg Field2;
NI Field3;
NI Field4;
};
typedef TY_UpiOGlu5Ux6DLM73wSrdpg TY_AkFlnp1eOXOampCkGKpGYA[19];
typedef NU8 Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 Tinfoccprop_49cn73TjZ7Rt9b8QCAU8tLNg_Set;
struct TY_D9aiJ5rnfkBkzGjCtT9c16jw {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NimStringDesc* Field5;
NimStringDesc* Field6;
NimStringDesc* Field7;
NimStringDesc* Field8;
NimStringDesc* Field9;
NimStringDesc* Field10;
NimStringDesc* Field11;
NimStringDesc* Field12;
NimStringDesc* Field13;
NimStringDesc* Field14;
NimStringDesc* Field15;
NimStringDesc* Field16;
NimStringDesc* Field17;
NimStringDesc* Field18;
NimStringDesc* Field19;
Tinfoccprop_49cn73TjZ7Rt9b8QCAU8tLNg_Set Field20;
};
typedef TY_D9aiJ5rnfkBkzGjCtT9c16jw TY_I76EIp8yptG9aLz769aIEutw[13];
typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw;
struct TY_7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set;
typedef NU8 Toption_WspMeQySXNP2XoTWR5MTgg;
typedef NU8 Tinfoosprop_thetQwB9agpeQ13qFmAcWhg;
typedef NimStringDesc* TY_Re75IspeoxXy2oCZHwcRrA[2];
typedef NimStringDesc* TY_ICDQ54qlGBxp1TLqclKASg[14];
typedef NU8 Filemode_fVUBHvW79bXUw1j55Oo9avSQ;
typedef NimStringDesc* TY_nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg;
typedef Ropeobj_HF4qJnb6xiOddgPmsxodtQ* TY_ZqT9cbUNKsl55MABiLlPDxA[1];
struct  TNimObject  {
TNimType* m_type;
};
struct  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q  {
  TNimObject Sup;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next;
};
struct  Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
NimStringDesc* data;
};
struct  EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q  {
NI HEX3Astate;
TY_sM4lkSb7zS6F7OVMvW9cffQ* prettycmds210473;
TY_sM4lkSb7zS6F7OVMvW9cffQ* cmds210456;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NI idx0, void* ClEnv);
void* ClEnv;
} TY_kElEuvYkhDcTHhB3d89aMYA;
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0, void* ClEnv);
void* ClEnv;
} TY_SfW5itioRNR8yop8fOJeNg;
typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32];
typedef NU8 Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set;
typedef NimStringDesc* TY_sMpvt1sOxOJ3LFGulnbeMQ[4];
struct  Gcstack_7fytPA5bBsob6See21YMRA  {
Gcstack_7fytPA5bBsob6See21YMRA* prev;
Gcstack_7fytPA5bBsob6See21YMRA* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk_Sdq7WpT6qAH858F5ZEdG3w  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk_tXn60W2f8h3jgAYdEmy5NQ  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk_XsENErzHIZV9bhvyJx56wGw  {
NI size;
NI acc;
Llchunk_XsENErzHIZV9bhvyJx56wGw* next;
};
struct  Bigchunk_Rv9c70Uhp2TytkX7eH78qEg  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
NI align;
NF data;
};
typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16];
struct  Trunk_W0r8S0Y3UGke6T9bIUWnnuw  {
Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2];
struct  Avlnode_IaqjtwKhxLEpvDS9bct9blEw  {
TY_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc_fublkgIY4LG3mT51LU2WHg  {
Pagedesc_fublkgIY4LG3mT51LU2WHg* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
struct  Ropeobj_HF4qJnb6xiOddgPmsxodtQ  {
  TNimObject Sup;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right;
NI length;
NimStringDesc* data;
};
struct  Processobj_NHqciQYh8G1aN2n273mmYw  {
  TNimObject Sup;
NI fprocesshandle;
int inhandle;
int outhandle;
int errhandle;
NI id;
int exitstatus;
Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options;
};
typedef N_NIMCALL_PTR(void, TY_cnkJEp9bna8U6yi9aVW9cAJ0Q) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(NIM_BOOL, TY_KjFcmLOhf4VQvVcyLJWXZw) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(void, TY_jlOYFw9cHausuCbPoWx2iiA) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, NI pos0);
typedef N_NIMCALL_PTR(NI, TY_Xzm85qBLb9cf9cu8VOfAr8PQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
typedef N_NIMCALL_PTR(NI, TY_tjaJtoUzLe1BMUbItlcGhQ) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0);
typedef N_NIMCALL_PTR(void, TY_b9bsIuILxTLVZHPvJBW187A) (Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0, void* buffer0, NI buflen0);
struct  Streamobj_RShkcoDOPnoCVhtpN1hDPQ  {
  TNimObject Sup;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q closeimpl;
TY_KjFcmLOhf4VQvVcyLJWXZw atendimpl;
TY_jlOYFw9cHausuCbPoWx2iiA setpositionimpl;
TY_Xzm85qBLb9cf9cu8VOfAr8PQ getpositionimpl;
TY_tjaJtoUzLe1BMUbItlcGhQ readdataimpl;
TY_tjaJtoUzLe1BMUbItlcGhQ peekdataimpl;
TY_b9bsIuILxTLVZHPvJBW187A writedataimpl;
TY_cnkJEp9bna8U6yi9aVW9cAJ0Q flushimpl;
};
struct  Freecell_u6M5LHprqzkn9axr04yg9bGQ  {
Freecell_u6M5LHprqzkn9axr04yg9bGQ* next;
NI zerofield;
};
struct TY_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_2)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0);
static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0);
static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_3)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_4)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_5)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_6)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_7)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_8)(void);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_10)(void);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_11)(void);
N_NIMCALL(NIM_BOOL, externalfilechanged_BCjyld9cOHhqg8Sq2ShDIfw)(NimStringDesc* filename0);
N_NIMCALL(NimStringDesc*, togeneratedfile_J4Y3N49axROg3CvCZ1jF3QQ)(NimStringDesc* path0, NimStringDesc* ext0);
N_NIMCALL(NimStringDesc*, withpackagename_hXI3LWBWedZbdPyAYn0KOQ_2)(NimStringDesc* path0);
N_NIMCALL(void, footprint_qq0NNW8pjkuehZ7AqtrHAA)(NimStringDesc* filename0, TY_YtcvxHNKV4YiecPE9ap1mcA Result);
N_NIMCALL(void, securehash_iXA7ojfe1syFxhtO0guLpg)(NimStringDesc* str0, TY_YtcvxHNKV4YiecPE9ap1mcA Result);
N_NIMCALL(NimStringDesc*, HEX24_At9aCTfZ0LzVIMgxCh2oK7g)(TY_YtcvxHNKV4YiecPE9ap1mcA self0);
N_NIMCALL(void, securehashfile_WH9bD1JrTXe4j39astgya4oA)(NimStringDesc* filename0, TY_YtcvxHNKV4YiecPE9ap1mcA Result);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, getcompilecfilecmd_l2Q119afH4uGC6OCNvc9bDLA)(NimStringDesc* cfilename0, NIM_BOOL isexternal0);
N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s0, NimStringDesc* suffix0);
N_NIMCALL(NimStringDesc*, getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg)(NimStringDesc* key0);
N_NIMCALL(Tsystemcc_Y42JhQFLdjkIirjI3TJjww, nametocc_U5rGwYOnIV5b9cEzAMJXBsA)(NimStringDesc* name0);
N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a0, NimStringDesc* b0);
N_NIMCALL(void, rawmessage_tBJ8mvo7MzzirsGkrHVc9cw)(Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(NimStringDesc*, cfilespecificoptions_H3A9chTMmWdvr56NFC5rM8w)(NimStringDesc* cfilename0);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
N_NIMCALL(void, nossplitFile)(NimStringDesc* path0, TY_7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(NIM_BOOL, existsconfigvar_YtxxRDHxTPy3NUeYByWLqA)(NimStringDesc* key0);
N_NIMCALL(void, addopt_T9aOjcvI9c4J1I8sdqwUgDkQ)(NimStringDesc** dest0, NimStringDesc* src0);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0);
N_NIMCALL(NimStringDesc*, getdebug_9aFhRLqOcecjL0Pt8Gkz3og)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0);
N_NIMCALL(NimStringDesc*, getconfigvar_ywjPNrTW5bjhEYLzemb3Mg)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0, NimStringDesc* suffix0);
static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, getoptspeed_9aFhRLqOcecjL0Pt8Gkz3og_2)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0);
N_NIMCALL(NimStringDesc*, getoptsize_9aFhRLqOcecjL0Pt8Gkz3og_3)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0);
N_NIMCALL(NimStringDesc*, getcompilerexe_OcdhuySknlex6bMRqyrJXw)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww compiler0);
static N_INLINE(NIM_BOOL, needsexeext_C5l4vVCJon3kksAqgEQvowextccomp)(void);
N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
static N_INLINE(NIM_BOOL, noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp)(void);
N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s0);
N_NIMCALL(void, add_63gnN1Ob9bVhoQFxEtAR21A)(NimStringDesc** s0, NimStringDesc** many0, NI many0Len0);
N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a0, NI a0Len0, NimStringDesc* sep0);
N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head0, NimStringDesc* tail0);
N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path0);
N_NIMCALL(NimStringDesc*, toobjfile_kKfQ9cy4jE21UrGTrl5XAwg)(NimStringDesc* filename0);
N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
N_NIMCALL(NimStringDesc*, completecfilepath_XziFVTv1mJIlNEw2aMU1Ig)(NimStringDesc* cfile0, NIM_BOOL createsubdir0);
N_NIMCALL(NimStringDesc*, completegeneratedfilepath_OC4D8bcC5YbXne9b768tZcQ)(NimStringDesc* f0, NIM_BOOL createsubdir0);
N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0);
N_NIMCALL(NimStringDesc*, getprefixdir_rMpbw4SUmKCJTTifDPvxAg)(void);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
N_NIMCALL(void, nsuAddf)(NimStringDesc** s0, NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0);
N_NOINLINE(void, chckNil)(void* p0);
N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0);
N_NIMCALL(NIM_BOOL, open_sEp0GH2306oGo9bqBpj5oTQ)(FILE** f0, NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0, NI bufsize0);
N_NIMCALL(void, parsesecurehash_z6ogq7oeMr7FogkL734yew)(NimStringDesc* hash0, TY_YtcvxHNKV4YiecPE9ap1mcA Result);
N_NIMCALL(NimStringDesc*, readline_fPRnXwDTqtynUYGl4OixAg)(FILE* f0);
N_NIMCALL(void, close_BWnr8V7RERYno9bIdPmw8Hw_2)(FILE* f0);
N_NIMCALL(NIM_BOOL, HEX3DHEX3D_D9cw7Ut67uVRyWe3YecX0SQ)(TY_YtcvxHNKV4YiecPE9ap1mcA a0, TY_YtcvxHNKV4YiecPE9ap1mcA b0);
static N_INLINE(void, writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs)(FILE* f0, NimStringDesc** x0, NI x0Len0);
N_NIMCALL(void, write_c4mGyJBvK73pdM22jiweKQ)(FILE* f0, NimStringDesc* s0);
N_NIMCALL(void, appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0);
N_NIMCALL(void, prependstr_owVv9bF5I9bEH2NNSvxvPOvQ)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0);
N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s0, NimStringDesc* sub0, NI start0);
static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
N_NIMCALL(void, undefsymbol_A5AFbr8Omc1Bw39cFWCpEFg)(NimStringDesc* symbol0);
N_NIMCALL(void, definesymbol_9aZwRQ421PtIIOO9cHOBczPA)(NimStringDesc* symbol0, NimStringDesc* value0);
N_NIMCALL(void, addcompileoption_7UPx5ihiCo9bEptZNyxfumQ)(NimStringDesc* option0);
N_NIMCALL(Ropeobj_HF4qJnb6xiOddgPmsxodtQ*, rope_53CHEX05HP0HacydnwoUYg)(NimStringDesc* s0);
N_NIMCALL(void, add_cDalAhgBlDWoYHadkaqqxw)(Ropeobj_HF4qJnb6xiOddgPmsxodtQ** a0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ* b0);
N_NIMCALL(Ropeobj_HF4qJnb6xiOddgPmsxodtQ*, genmappingfiles_DVslGBr7ygR9aaWx9b9chcqAg)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0);
N_NIMCALL(void, addf_8UUGW4xtgpag0J4uEnVLuQ)(Ropeobj_HF4qJnb6xiOddgPmsxodtQ** c0, NimStringDesc* frmt0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ** args0, NI args0Len0);
N_NIMCALL(void, add_UJnSY21g59awhvSFBxJ9a9aPg)(Ropeobj_HF4qJnb6xiOddgPmsxodtQ** a0, NimStringDesc* b0);
N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s0, NimStringDesc* prefix0, NimStringDesc* suffix0);
N_NIMCALL(NimStringDesc*, getcompileoptions_5miaX9cEY77uVmI2vxeZy2g)(void);
N_NIMCALL(NimStringDesc*, getlinkoptions_5miaX9cEY77uVmI2vxeZy2g_2)(void);
N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0);
N_NIMCALL(void, writerope_BleoID9btBn4KgpblZYx8nQ)(Ropeobj_HF4qJnb6xiOddgPmsxodtQ* head0, NimStringDesc* filename0, NIM_BOOL usewarning0);
static N_NIMCALL(void, Marker_TY_9aChhsmkAU9a60Y9c9aFsT3atQ)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0);
N_CLOSURE(void, HEX3Aanonymous_9cSjoUlUYDNot4s7i9bLxYiQ)(NI idx0, void* ClEnv);
N_CLOSURE(void, HEX3Aanonymous_YP9ahzb0Rcs2sp4Xv6rkRsg)(NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0, void* ClEnv);
N_NIMCALL(NI, peekexitcode_XqKQhqFFBS8ux5QQWd3fgg)(Processobj_NHqciQYh8G1aN2n273mmYw* p0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s0, NIM_BOOL leading0, NIM_BOOL trailing0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0);
N_NIMCALL(NimStringDesc*, readall_y6Jvjm2hmT9aQbvX9aMpHkOQ_2)(Streamobj_RShkcoDOPnoCVhtpN1hDPQ* s0);
N_NIMCALL(Streamobj_RShkcoDOPnoCVhtpN1hDPQ*, nospoutputStream)(Processobj_NHqciQYh8G1aN2n273mmYw* p0);
N_NIMCALL(void, compilecfile_r9burVls9cOfnyg34xPEky9cQ)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ** script0, TY_sM4lkSb7zS6F7OVMvW9cffQ** cmds0, TY_sM4lkSb7zS6F7OVMvW9cffQ** prettycmds0, NIM_BOOL isexternal0);
N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0);
N_NIMCALL(NI, nospcountProcessors)(void);
N_NIMCALL(NI, execwithecho_Q3fRR7YvMU9b1M1n6VNgPJw)(NimStringDesc* cmd0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0);
N_NIMCALL(NI, nospexecCmd)(NimStringDesc* command0);
N_NIMCALL(NI, nospexecProcesses)(NimStringDesc** cmds0, NI cmds0Len0, Processoption_bnU6W8LhTMnT4JaSWtGlSA_Set options0, NI n0, TY_kElEuvYkhDcTHhB3d89aMYA beforerunevent0, TY_SfW5itioRNR8yop8fOJeNg afterrunevent0);
N_NIMCALL(NimStringDesc*, getlinkcmd_v9a6FEDbxacHfPBrcAN0hog)(NimStringDesc* projectfile0, NimStringDesc* objfiles0);
N_NIMCALL(NimStringDesc*, expandtilde_bY3FvgrWj5mj9cB3I89cRWxg)(NimStringDesc* path0);
N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path0);
N_NIMCALL(NimStringDesc*, HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ)(NimStringDesc* head0, NimStringDesc* tail0);
N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
static N_INLINE(NimStringDesc*, libnametmpl_vvVKqgM8UXtarwLiWH25FAextccomp)(void);
N_NIMCALL(NimStringDesc*, getlinkerexe_OcdhuySknlex6bMRqyrJXw_2)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww compiler0);
N_NIMCALL(void, execexternalprogram_Pv5NVuLJkhqF9a3uo9aKpTxw)(NimStringDesc* cmd0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0);
N_NIMCALL(void, generatescript_QL3snCtTFT6tKKTCrK3qjQ)(NimStringDesc* projectfile0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ* script0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0);
N_NIMCALL(void, cfiles_vv40xh9cbR2Q1jEfJ9bw7ySg)(FILE* f0, NimStringDesc** buf0, Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, NIM_BOOL isexternal0);
N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0);
N_NIMCALL(void, escapejson_xxovtptDIL7ctJosN3ocbA)(NimStringDesc* s0, NimStringDesc** result0);
N_NIMCALL(void, linkfiles_5lU4IZ8F6J5GGWbFj32dZQ)(FILE* f0, NimStringDesc** buf0, NimStringDesc** objfiles0, Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw tolink0);
Tsystemcc_Y42JhQFLdjkIirjI3TJjww ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw;
Tsystemcc_Y42JhQFLdjkIirjI3TJjww cassembler_HYbVaPu57kPHl65OWUT3sA;
NIM_BOOL gmixedmode_47V577fI7J8lHBdPbxGA3w;
TY_sM4lkSb7zS6F7OVMvW9cffQ* cincludes_FZW9aIIOh2UqSj3VPYryDKA;
extern TNimType NTI_sM4lkSb7zS6F7OVMvW9cffQ;
extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
TY_sM4lkSb7zS6F7OVMvW9cffQ* clibs_h23mOD5l0EcFk9abMopaQqA;
TY_sM4lkSb7zS6F7OVMvW9cffQ* clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ;
Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw tolink_P39ccjNBba2vD89cd69cIoDOQ;
extern TNimType NTI_9aBiIjAa4z2zTLjp4yMUvLw;
Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw tocompile_QgvLCcExXad2kOS8K9bBYAw;
Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw externaltocompile_DJFi7MHlt09aTcu8XkKgD8w;
NimStringDesc* linkoptions_qMsYVghVJtlGadp1XLIhwg;
extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg;
NimStringDesc* compileoptions_EWeodjT9aTQEOH9bwCynLGLg;
NimStringDesc* ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw;
NI filecounter_3nT1Go5iGDTfu9a9ce7EP5nA;
extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg;
extern Tcommands_VH3ghgQVwLSg3krOAoXigw gcmd_0oKScFtMiSKnjiHF9cU9c5GQ;
extern Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ targetos_PyF9cBkuAlI8I7Y7KiZHIYQ;
extern Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag;
extern Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ hostos_5OFrMEFYXsDinn36E7KWLw;
extern Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag hostcpu_NC5ykU0V2OtuVwnPAFnkrg;
extern Toption_WspMeQySXNP2XoTWR5MTgg_Set goptions_KL5B8sF4szIsM2AXCWFsIw;
extern NimStringDesc* libpath_sniQ2ei4mGD9av6vrH9bfUgg;
extern TNimType NTI_YtcvxHNKV4YiecPE9ap1mcA;
extern NimStringDesc* gprojectpath_RQlrqBW2RHkKfot9caCcOtQ;
TNimType NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q;
extern TNimType NTI_xHTZrq9aYs6boc9bCba0JbpQ;
TNimType NTI_9aChhsmkAU9a60Y9c9aFsT3atQ;
extern NimStringDesc* tnl_Gp8EwkcsAP9am1klnCCHM4w;
extern NI gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw;
extern NI gverbosity_BhOkdHk9bv1VGWSLnxRNYpw;
extern NimStringDesc* outfile_LiHKjDVrUS85u6xbuNvgxA;
extern NimStringDesc* gprojectname_QOoHniL6MYtzlAjpv8zzdA;
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_9, "", 0);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_12, "sha1", 4);
extern NIM_CONST TY_lqxxFN1iDg3WCzdrp3BQKA Os_Jx0qy9c9bSo4fGkMxUfUaAaw;
extern NIM_CONST TY_AkFlnp1eOXOampCkGKpGYA Cpu_uYXopJX8pM87pQDCtmgWfQ;
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_13, "gcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_14, "o", 1);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_15, " -O3 -ffast-math ", 17);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_16, " -Os -ffast-math ", 17);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_17, "g++", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_18, "-c $options $include -o $objfile $file", 38);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_19, " -mwindows", 10);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_20, " -shared", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_21, "ar rcs $libfile $objfiles", 25);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_22, "$buildgui $builddll -o $exefile $objfiles $options", 50);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_23, " -I", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_24, " -L", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_25, " -l$1", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_26, "-fPIC", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_27, "asm($1);$n", 10);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_28, "$1 $3 $2 ", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_29, "__attribute__((__packed__))", 27);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_30, "llvm_gcc", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_31, "llvm-gcc", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_32, "llvm-g++", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_33, "llvm-ar rcs $libfile $objfiles", 30);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_34, "clang", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_35, "clang++", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_36, "lcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_37, "obj", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_38, " -O -p6 ", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_39, "$options $include -Fo$objfile $file", 35);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_40, " -subsystem windows", 19);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_41, " -dll", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_42, "lcclnk", 6);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_43, "$options $buildgui $builddll -O $exefile $objfiles", 50);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_44, " -g5 ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_45, "_asm{$n$1$n}$n", 14);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_46, "$1 $2", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_47, "bcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_48, " -O2 -6 ", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_49, " -O1 -6 ", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_50, "bcc32", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_51, "-c $options $include -o$objfile $file", 37);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_52, " -tW", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_53, " -tWD", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_54, "$options $buildgui $builddll -e$exefile $objfiles", 49);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_55, "__asm{$n$1$n}$n", 15);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_56, "dmc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_57, " -ff -o -6 ", 11);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_58, " -L/exet:nt/su:windows", 22);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_59, " -WD", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_60, "$options $buildgui $builddll -o$exefile $objfiles", 49);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_61, " -g ", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_62, "$3$n$1 $2", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_63, "#pragma pack(1)", 15);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_64, "wcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_65, " -ox -on -6 -d0 -fp6 -zW ", 25);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_66, "wcl386", 6);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_67, "-c $options $include -fo=$objfile $file", 39);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_68, " -bw", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_69, " -bd", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_70, "$options $buildgui $builddll -fe=$exefile $objfiles ", 52);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_71, " -i=", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_72, " -d2 ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_73, "vcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_74, " /Ogityb2 /G7 /arch:SSE2 ", 25);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_75, " /O1 /G7 ", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_76, "cl", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_77, "/c $options $include /Fo$objfile $file", 38);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_78, " /link /SUBSYSTEM:WINDOWS ", 26);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_79, " /LD", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_80, "lib /OUT:$libfile $objfiles", 27);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_81, "$options $builddll /Fe$exefile $objfiles $buildgui", 50);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_82, " /I", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_83, " /LIBPATH:", 10);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_84, " $1.lib", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_85, " /RTC1 /Z7 ", 11);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_86, "tcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_87, "UNAVAILABLE!", 12);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_88, "-o $exefile $options $buildgui $builddll $objfiles", 50);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_89, "pcc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_90, " -Ox ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_91, " -Os ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_92, "cc", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_93, "-c $options $include -Fo$objfile $file", 38);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_94, " -SUBSYSTEM:WINDOWS", 19);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_95, " -DLL", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_96, "$options $buildgui $builddll -OUT:$exefile $objfiles", 52);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_97, " -Zi ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_98, "ucc", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_99, " -O3 ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_100, " -O1 ", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_101, " -shared ", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_102, "-o $exefile $buildgui $builddll $objfiles $options", 50);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_103, "icl", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_104, "fasm", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_105, "$file $objfile", 14);
NIM_CONST TY_I76EIp8yptG9aLz769aIEutw Cc_78I18QZNZFIv9ah7oETc0jg = {{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_13),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_17),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_20),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_21),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_22),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_24),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_25),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_26),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_27),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_28),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_29),
183}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_30),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_31),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_32),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_20),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_33),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_22),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_24),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_25),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_26),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_27),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_28),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_29),
183}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_34),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_15),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_16),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_34),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_35),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_19),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_20),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_33),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_22),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_24),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_25),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_26),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_27),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_28),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_29),
183}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_36),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_38),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_38),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_36),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_39),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_40),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_41),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_42),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_43),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_44),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_45),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
0}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_47),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_48),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_49),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_50),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_51),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_52),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_53),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_50),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_54),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
4}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_57),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_57),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_51),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_58),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_59),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_56),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_60),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_61),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_63),
4}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_64),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_65),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_66),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_67),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_68),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_69),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_66),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_70),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_71),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_72),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
4}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_73),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_74),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_75),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_76),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_76),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_77),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_78),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_79),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_80),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_76),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_81),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_82),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_83),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_84),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_85),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_63),
76}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_86),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_86),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_87),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_20),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_86),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_88),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_61),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
3}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_89),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_90),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_91),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_92),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_93),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_94),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_95),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_92),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_96),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_97),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
0}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_98),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_99),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_100),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_92),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_18),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_101),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_92),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_102),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_23),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_46),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
0}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_103),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_37),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_74),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_75),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_103),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_76),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_77),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_78),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_79),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_80),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_103),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_81),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_82),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_83),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_84),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_85),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_55),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_62),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_63),
76}
,
{((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_104),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_14),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_104),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_104),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_105),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9),
0}
}
;
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_106, ".asm", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_107, "assembler", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_108, ".debug", 6);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_109, " ", 1);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_110, ".cpp", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_111, ".objc", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_112, ".js", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_113, ".options.debug", 14);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_114, ".speed", 6);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_115, ".options.speed", 14);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_116, ".size", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_117, ".options.size", 13);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_118, ".always", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_119, ".exe", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_120, "exe", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_121, "file", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_122, "objfile", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_123, "options", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_124, "include", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_125, "nim", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_126, "lib", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_127, "\015\012", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_128, ".options.always", 15);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_129, ".path", 5);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_130, "true", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_131, "[C_Files]\015\012", 11);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_132, "--file:r\"$1\"$N", 14);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_133, "\015\012[C_Compiler]\015\012Flags=", 22);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_134, "__dummy__", 9);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_135, "\"", 1);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_136, "\015\012[Linker]\015\012Flags=", 18);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_137, ".options.linker", 15);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_138, "\015\012[Environment]\015\012libpath=", 25);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_139, "\015\012[Symbols]$n$1", 15);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_140, "mapping.txt", 11);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_142, "execution of an external compiler program \'", 43);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_143, "\' failed with exit code: ", 25);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_144, "\015\012\015\012", 4);
static NIM_CONST TY_nmiMWKVIe46vacnhAFrQvw_Set T_OyL9acDBDoBfMwa5zb1Y88w_145 = {
0x00, 0x3E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_146, "CC: ", 4);
static NIM_CONST TY_kElEuvYkhDcTHhB3d89aMYA T_OyL9acDBDoBfMwa5zb1Y88w_147 = {NIM_NIL,NIM_NIL};
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_148, "$1.lib", 6);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_149, "lib$1.a", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_150, "libfile", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_151, "objfiles", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_152, ".linkerexe", 10);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_153, "builddll", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_154, "buildgui", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_155, "exefile", 7);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_156, "compile_", 8);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_157, "json", 4);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_158, "{\"compile\":[\012", 13);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_159, "[", 1);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_160, ", ", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_161, "]\012", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_162, "],\012", 3);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_163, "],\012\"extcompile\":[\012", 18);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_164, "],\012\"link\":[\012", 12);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_165, "\012", 1);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_166, ",\012", 2);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_167, "],\012\"linkcmd\": ", 14);
STRING_LITERAL(T_OyL9acDBDoBfMwa5zb1Y88w_168, "\012}\012", 3);
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_2)(void) {
	nimGCvisit((void*)cincludes_FZW9aIIOh2UqSj3VPYryDKA, 0);
}

static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0;
	result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result0;
}

static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
	c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0);
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
		rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
	}
	LA3: ;
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_3)(void) {
	nimGCvisit((void*)clibs_h23mOD5l0EcFk9abMopaQqA, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_4)(void) {
	nimGCvisit((void*)clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_5)(void) {
	nimGCvisit((void*)tolink_P39ccjNBba2vD89cd69cIoDOQ.head, 0);
	nimGCvisit((void*)tolink_P39ccjNBba2vD89cd69cIoDOQ.tail, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_6)(void) {
	nimGCvisit((void*)tocompile_QgvLCcExXad2kOS8K9bBYAw.head, 0);
	nimGCvisit((void*)tocompile_QgvLCcExXad2kOS8K9bBYAw.tail, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_7)(void) {
	nimGCvisit((void*)externaltocompile_DJFi7MHlt09aTcu8XkKgD8w.head, 0);
	nimGCvisit((void*)externaltocompile_DJFi7MHlt09aTcu8XkKgD8w.tail, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_8)(void) {
	nimGCvisit((void*)linkoptions_qMsYVghVJtlGadp1XLIhwg, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_10)(void) {
	nimGCvisit((void*)compileoptions_EWeodjT9aTQEOH9bwCynLGLg, 0);
}
static N_NIMCALL(void, T_OyL9acDBDoBfMwa5zb1Y88w_11)(void) {
	nimGCvisit((void*)ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw, 0);
}

static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(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_fPlwH3r9agN9aEHB6yCPMh0wsystem(((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(Tsystemcc_Y42JhQFLdjkIirjI3TJjww, nametocc_U5rGwYOnIV5b9cEzAMJXBsA)(NimStringDesc* name0) {
	Tsystemcc_Y42JhQFLdjkIirjI3TJjww result0;
{	result0 = (Tsystemcc_Y42JhQFLdjkIirjI3TJjww)0;
	{
		Tsystemcc_Y42JhQFLdjkIirjI3TJjww i_eni2QnpvGUxC9aODqPhpliw;
		NI res_VBW7k9bhZ4ILinFugR9aSTsA;
		i_eni2QnpvGUxC9aODqPhpliw = (Tsystemcc_Y42JhQFLdjkIirjI3TJjww)0;
		res_VBW7k9bhZ4ILinFugR9aSTsA = ((NI) 1);
		{
			while (1) {
				if (!(res_VBW7k9bhZ4ILinFugR9aSTsA <= ((NI) 13))) goto LA3;
				i_eni2QnpvGUxC9aODqPhpliw = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) (res_VBW7k9bhZ4ILinFugR9aSTsA));
				{
					NI LOC6;
					LOC6 = (NI)0;
					LOC6 = nsuCmpIgnoreStyle(name0, Cc_78I18QZNZFIv9ah7oETc0jg[(i_eni2QnpvGUxC9aODqPhpliw)- 1].Field0);
					if (!(LOC6 == ((NI) 0))) goto LA7;
					result0 = i_eni2QnpvGUxC9aODqPhpliw;
					goto BeforeRet;
				}
				LA7: ;
				res_VBW7k9bhZ4ILinFugR9aSTsA += ((NI) 1);
			} LA3: ;
		}
	}
	result0 = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 0);
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, addopt_T9aOjcvI9c4J1I8sdqwUgDkQ)(NimStringDesc** dest0, NimStringDesc* src0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = (((*dest0) ? (*dest0)->Sup.len : 0) == ((NI) 0));
		if (LOC3) goto LA4;
		LOC3 = !(((NU8)((*dest0)->data[(NI)(((*dest0) ? (*dest0)->Sup.len : 0) - ((NI) 1))]) == (NU8)(32)));
		LA4: ;
		if (!LOC3) goto LA5;
		(*dest0) = resizeString((*dest0), 1);
appendString((*dest0), ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_109));
	}
	LA5: ;
	(*dest0) = resizeString((*dest0), src0->Sup.len + 0);
appendString((*dest0), src0);
}

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);
}

N_NIMCALL(NimStringDesc*, getconfigvar_ywjPNrTW5bjhEYLzemb3Mg)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0, NimStringDesc* suffix0) {
	NimStringDesc* result0;
	NimStringDesc* fullsuffix0;
	result0 = (NimStringDesc*)0;
	{
		NimStringDesc* LOC5;
		if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 2))) goto LA3;
		LOC5 = (NimStringDesc*)0;
		LOC5 = rawNewString(suffix0->Sup.len + 4);
appendString(LOC5, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_110));
appendString(LOC5, suffix0);
		fullsuffix0 = LOC5;
	}
	goto LA1;
	LA3: ;
	{
		NimStringDesc* LOC9;
		if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 3))) goto LA7;
		LOC9 = (NimStringDesc*)0;
		LOC9 = rawNewString(suffix0->Sup.len + 5);
appendString(LOC9, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_111));
appendString(LOC9, suffix0);
		fullsuffix0 = LOC9;
	}
	goto LA1;
	LA7: ;
	{
		NimStringDesc* LOC13;
		if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 4))) goto LA11;
		LOC13 = (NimStringDesc*)0;
		LOC13 = rawNewString(suffix0->Sup.len + 3);
appendString(LOC13, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_112));
appendString(LOC13, suffix0);
		fullsuffix0 = LOC13;
	}
	goto LA1;
	LA11: ;
	{
		fullsuffix0 = suffix0;
	}
	LA1: ;
	{
		NIM_BOOL LOC17;
		NIM_BOOL LOC18;
		NimStringDesc* fullccname0;
		NimStringDesc* LOC23;
		LOC17 = (NIM_BOOL)0;
		LOC18 = (NIM_BOOL)0;
		LOC18 = !((hostos_5OFrMEFYXsDinn36E7KWLw == targetos_PyF9cBkuAlI8I7Y7KiZHIYQ));
		if (LOC18) goto LA19;
		LOC18 = !((hostcpu_NC5ykU0V2OtuVwnPAFnkrg == targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag));
		LA19: ;
		LOC17 = LOC18;
		if (!(LOC17)) goto LA20;
		LOC17 = !(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0));
		LA20: ;
		if (!LOC17) goto LA21;
		LOC23 = (NimStringDesc*)0;
		LOC23 = rawNewString(Cpu_uYXopJX8pM87pQDCtmgWfQ[(targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag)- 1].Field0->Sup.len + Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field0->Sup.len + Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0->Sup.len + fullsuffix0->Sup.len + 2);
appendString(LOC23, Cpu_uYXopJX8pM87pQDCtmgWfQ[(targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag)- 1].Field0);
appendChar(LOC23, 46);
appendString(LOC23, Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field0);
appendChar(LOC23, 46);
appendString(LOC23, Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0);
appendString(LOC23, fullsuffix0);
		fullccname0 = LOC23;
		result0 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(fullccname0);
		{
			NimStringDesc* LOC28;
			if (!((result0 ? result0->Sup.len : 0) == ((NI) 0))) goto LA26;
			LOC28 = (NimStringDesc*)0;
			LOC28 = rawNewString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0->Sup.len + fullsuffix0->Sup.len + 0);
appendString(LOC28, Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0);
appendString(LOC28, fullsuffix0);
			result0 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(LOC28);
		}
		LA26: ;
	}
	goto LA15;
	LA21: ;
	{
		NimStringDesc* LOC30;
		LOC30 = (NimStringDesc*)0;
		LOC30 = rawNewString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0->Sup.len + fullsuffix0->Sup.len + 0);
appendString(LOC30, Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field0);
appendString(LOC30, fullsuffix0);
		result0 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(LOC30);
	}
	LA15: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getdebug_9aFhRLqOcecjL0Pt8Gkz3og)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(c0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_113));
	{
		if (!((result0) && (result0)->Sup.len == 0)) goto LA3;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field15);
	}
	LA3: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getoptspeed_9aFhRLqOcecjL0Pt8Gkz3og_2)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(c0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_115));
	{
		if (!((result0) && (result0)->Sup.len == 0)) goto LA3;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field2);
	}
	LA3: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getoptsize_9aFhRLqOcecjL0Pt8Gkz3og_3)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(c0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_117));
	{
		if (!((result0) && (result0)->Sup.len == 0)) goto LA3;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field3);
	}
	LA3: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, cfilespecificoptions_H3A9chTMmWdvr56NFC5rM8w)(NimStringDesc* cfilename0) {
	NimStringDesc* result0;
	NimStringDesc* trunk0;
	TY_7q7q3E6Oj24ZNVJb9aonhAg LOC1;
	NimStringDesc* key0;
	NimStringDesc* LOC40;
	result0 = (NimStringDesc*)0;
	result0 = copyString(compileoptions_EWeodjT9aTQEOH9bwCynLGLg);
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	nossplitFile(cfilename0, (&LOC1));
	trunk0 = copyString(LOC1.Field1);
	{
		NimStringDesc* key0;
		NimStringDesc* LOC6;
		if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0)) goto LA4;
		LOC6 = (NimStringDesc*)0;
		LOC6 = rawNewString(trunk0->Sup.len + 6);
appendString(LOC6, trunk0);
appendString(LOC6, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_108));
		key0 = LOC6;
		{
			NIM_BOOL LOC9;
			NimStringDesc* LOC12;
			LOC9 = (NIM_BOOL)0;
			LOC9 = existsconfigvar_YtxxRDHxTPy3NUeYByWLqA(key0);
			if (!LOC9) goto LA10;
			LOC12 = (NimStringDesc*)0;
			LOC12 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(key0);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC12);
		}
		goto LA7;
		LA10: ;
		{
			NimStringDesc* LOC14;
			LOC14 = (NimStringDesc*)0;
			LOC14 = getdebug_9aFhRLqOcecjL0Pt8Gkz3og(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC14);
		}
		LA7: ;
	}
	LA4: ;
	{
		NimStringDesc* key0;
		NimStringDesc* LOC19;
		if (!((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0)) goto LA17;
		LOC19 = (NimStringDesc*)0;
		LOC19 = rawNewString(trunk0->Sup.len + 6);
appendString(LOC19, trunk0);
appendString(LOC19, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_114));
		key0 = LOC19;
		{
			NIM_BOOL LOC22;
			NimStringDesc* LOC25;
			LOC22 = (NIM_BOOL)0;
			LOC22 = existsconfigvar_YtxxRDHxTPy3NUeYByWLqA(key0);
			if (!LOC22) goto LA23;
			LOC25 = (NimStringDesc*)0;
			LOC25 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(key0);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC25);
		}
		goto LA20;
		LA23: ;
		{
			NimStringDesc* LOC27;
			LOC27 = (NimStringDesc*)0;
			LOC27 = getoptspeed_9aFhRLqOcecjL0Pt8Gkz3og_2(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC27);
		}
		LA20: ;
	}
	goto LA15;
	LA17: ;
	{
		NimStringDesc* key0;
		NimStringDesc* LOC31;
		if (!((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 14))&31U)))!=0)) goto LA29;
		LOC31 = (NimStringDesc*)0;
		LOC31 = rawNewString(trunk0->Sup.len + 5);
appendString(LOC31, trunk0);
appendString(LOC31, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_116));
		key0 = LOC31;
		{
			NIM_BOOL LOC34;
			NimStringDesc* LOC37;
			LOC34 = (NIM_BOOL)0;
			LOC34 = existsconfigvar_YtxxRDHxTPy3NUeYByWLqA(key0);
			if (!LOC34) goto LA35;
			LOC37 = (NimStringDesc*)0;
			LOC37 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(key0);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC37);
		}
		goto LA32;
		LA35: ;
		{
			NimStringDesc* LOC39;
			LOC39 = (NimStringDesc*)0;
			LOC39 = getoptsize_9aFhRLqOcecjL0Pt8Gkz3og_3(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw);
			addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC39);
		}
		LA32: ;
	}
	goto LA15;
	LA29: ;
	LA15: ;
	LOC40 = (NimStringDesc*)0;
	LOC40 = rawNewString(trunk0->Sup.len + 7);
appendString(LOC40, trunk0);
appendString(LOC40, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_118));
	key0 = LOC40;
	{
		NIM_BOOL LOC43;
		NimStringDesc* LOC46;
		LOC43 = (NIM_BOOL)0;
		LOC43 = existsconfigvar_YtxxRDHxTPy3NUeYByWLqA(key0);
		if (!LOC43) goto LA44;
		LOC46 = (NimStringDesc*)0;
		LOC46 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(key0);
		addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&result0), LOC46);
	}
	LA44: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getcompilerexe_OcdhuySknlex6bMRqyrJXw)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww compiler0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 2))) goto LA3;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field5);
	}
	goto LA1;
	LA3: ;
	{
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field4);
	}
	LA1: ;
	{
		if (!((result0 ? result0->Sup.len : 0) == ((NI) 0))) goto LA8;
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 232), Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field0);
	}
	LA8: ;
	return result0;
}

static N_INLINE(NIM_BOOL, needsexeext_C5l4vVCJon3kksAqgEQvowextccomp)(void) {
	NIM_BOOL result0;
	NIM_BOOL LOC1;
	NIM_BOOL LOC2;
	result0 = (NIM_BOOL)0;
	LOC1 = (NIM_BOOL)0;
	LOC2 = (NIM_BOOL)0;
	LOC2 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 11))&63U)))!=0);
	if (!(LOC2)) goto LA3;
	LOC2 = (targetos_PyF9cBkuAlI8I7Y7KiZHIYQ == ((Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ) 2));
	LA3: ;
	LOC1 = LOC2;
	if (LOC1) goto LA4;
	LOC1 = (hostos_5OFrMEFYXsDinn36E7KWLw == ((Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ) 2));
	LA4: ;
	result0 = LOC1;
	return result0;
}

static N_INLINE(NIM_BOOL, noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp)(void) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = !(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg & 6144) == 0));
	return result0;
}

N_NIMCALL(void, add_63gnN1Ob9bVhoQFxEtAR21A)(NimStringDesc** s0, NimStringDesc** many0, NI many0Len0) {
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = nsuJoinSep(many0, many0Len0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	(*s0) = resizeString((*s0), LOC1->Sup.len + 0);
appendString((*s0), LOC1);
}

N_NIMCALL(NimStringDesc*, toobjfile_kKfQ9cy4jE21UrGTrl5XAwg)(NimStringDesc* filename0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = noschangeFileExt(filename0, Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field1);
	return result0;
}

N_NIMCALL(NimStringDesc*, completecfilepath_XziFVTv1mJIlNEw2aMU1Ig)(NimStringDesc* cfile0, NIM_BOOL createsubdir0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = completegeneratedfilepath_OC4D8bcC5YbXne9b768tZcQ(cfile0, createsubdir0);
	return result0;
}

N_NIMCALL(NimStringDesc*, getcompilecfilecmd_l2Q119afH4uGC6OCNvc9bDLA)(NimStringDesc* cfilename0, NIM_BOOL isexternal0) {
	NimStringDesc* result0;
	Tsystemcc_Y42JhQFLdjkIirjI3TJjww c0;
	NimStringDesc* options0;
	NimStringDesc* exe0;
	NimStringDesc* includecmd0;
	NimStringDesc* compilepattern0;
	NimStringDesc* cfile0;
	NimStringDesc* objfile0;
	TY_ICDQ54qlGBxp1TLqclKASg LOC67;
	NimStringDesc* LOC68;
	TY_ICDQ54qlGBxp1TLqclKASg LOC69;
	NimStringDesc* LOC70;
	NimStringDesc* LOC71;
	result0 = (NimStringDesc*)0;
	c0 = ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw;
	{
		NIM_BOOL LOC3;
		NimStringDesc* customassembler0;
		LOC3 = (NIM_BOOL)0;
		LOC3 = nsuEndsWith(cfilename0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_106));
		if (!LOC3) goto LA4;
		customassembler0 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_107));
		{
			if (!(((NI) 0) < (customassembler0 ? customassembler0->Sup.len : 0))) goto LA8;
			c0 = nametocc_U5rGwYOnIV5b9cEzAMJXBsA(customassembler0);
		}
		goto LA6;
		LA8: ;
		{
			{
				NIM_BOOL LOC13;
				LOC13 = (NIM_BOOL)0;
				LOC13 = (targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag == ((Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag) 1));
				if (LOC13) goto LA14;
				LOC13 = (targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag == ((Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag) 10));
				LA14: ;
				if (!LOC13) goto LA15;
				c0 = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 13);
			}
			goto LA11;
			LA15: ;
			{
				c0 = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 0);
			}
			LA11: ;
		}
		LA6: ;
		{
			if (!(c0 == ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 0))) goto LA20;
			rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 233), ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		}
		goto LA18;
		LA20: ;
		{
			if (!!(((8192 &(1U<<((NU)(c0)&15U)))!=0))) goto LA23;
			rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 234), customassembler0);
		}
		goto LA18;
		LA23: ;
		LA18: ;
	}
	LA4: ;
	options0 = cfilespecificoptions_H3A9chTMmWdvr56NFC5rM8w(cfilename0);
	exe0 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(c0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_119));
	{
		if (!((exe0 ? exe0->Sup.len : 0) == ((NI) 0))) goto LA27;
		exe0 = getcompilerexe_OcdhuySknlex6bMRqyrJXw(c0);
	}
	LA27: ;
	{
		NIM_BOOL LOC31;
		LOC31 = (NIM_BOOL)0;
		LOC31 = needsexeext_C5l4vVCJon3kksAqgEQvowextccomp();
		if (!LOC31) goto LA32;
		exe0 = nosaddFileExt(exe0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_120));
	}
	LA32: ;
	{
		NIM_BOOL LOC36;
		NimStringDesc* LOC40;
		LOC36 = (NIM_BOOL)0;
		LOC36 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 8))&63U)))!=0);
		if (!(LOC36)) goto LA37;
		LOC36 = ((Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field12 &(1U<<((NU)(((Tinfoosprop_thetQwB9agpeQ13qFmAcWhg) 0))&7U)))!=0);
		LA37: ;
		if (!LOC36) goto LA38;
		LOC40 = (NimStringDesc*)0;
		LOC40 = rawNewString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field16->Sup.len + 1);
appendChar(LOC40, 32);
appendString(LOC40, Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field16);
		options0 = resizeString(options0, LOC40->Sup.len + 0);
appendString(options0, LOC40);
	}
	LA38: ;
	includecmd0 = (NimStringDesc*)0;
	compilepattern0 = (NimStringDesc*)0;
	{
		NIM_BOOL LOC43;
		NimStringDesc* LOC46;
		NimStringDesc* LOC47;
		LOC43 = (NIM_BOOL)0;
		LOC43 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
		if (!!(LOC43)) goto LA44;
		LOC46 = (NimStringDesc*)0;
		LOC47 = (NimStringDesc*)0;
		LOC47 = nospquoteShell(libpath_sniQ2ei4mGD9av6vrH9bfUgg);
		LOC46 = rawNewString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field12->Sup.len + LOC47->Sup.len + 0);
appendString(LOC46, Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field12);
appendString(LOC46, LOC47);
		includecmd0 = LOC46;
		{
			NimStringDesc* includedir_XQsafB9bB3j7nOkU9a7DgCQg;
			NI i_4WbCVezNkHWSJAHFXGnF2Q;
			NI L_H9c29cRSvPnS4DsvAXh9cLVSg;
			includedir_XQsafB9bB3j7nOkU9a7DgCQg = (NimStringDesc*)0;
			i_4WbCVezNkHWSJAHFXGnF2Q = ((NI) 0);
			L_H9c29cRSvPnS4DsvAXh9cLVSg = (cincludes_FZW9aIIOh2UqSj3VPYryDKA ? cincludes_FZW9aIIOh2UqSj3VPYryDKA->Sup.len : 0);
			{
				while (1) {
					TY_Re75IspeoxXy2oCZHwcRrA LOC51;
					if (!(i_4WbCVezNkHWSJAHFXGnF2Q < L_H9c29cRSvPnS4DsvAXh9cLVSg)) goto LA50;
					includedir_XQsafB9bB3j7nOkU9a7DgCQg = cincludes_FZW9aIIOh2UqSj3VPYryDKA->data[i_4WbCVezNkHWSJAHFXGnF2Q];
					memset((void*)LOC51, 0, sizeof(LOC51));
					LOC51[0] = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field12);
					LOC51[1] = nospquoteShell(includedir_XQsafB9bB3j7nOkU9a7DgCQg);
					add_63gnN1Ob9bVhoQFxEtAR21A((&includecmd0), LOC51, 2);
					i_4WbCVezNkHWSJAHFXGnF2Q += ((NI) 1);
				} LA50: ;
			}
		}
		compilepattern0 = nosjoinPath(ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw, exe0);
	}
	goto LA41;
	LA44: ;
	{
		includecmd0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		compilepattern0 = getcompilerexe_OcdhuySknlex6bMRqyrJXw(c0);
	}
	LA41: ;
	{
		NIM_BOOL LOC55;
		LOC55 = (NIM_BOOL)0;
		LOC55 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
		if (!LOC55) goto LA56;
		cfile0 = nosextractFilename(cfilename0);
	}
	goto LA53;
	LA56: ;
	{
		cfile0 = copyString(cfilename0);
	}
	LA53: ;
	{
		NIM_BOOL LOC61;
		LOC61 = (NIM_BOOL)0;
		LOC61 = !(isexternal0);
		if (LOC61) goto LA62;
		LOC61 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
		LA62: ;
		if (!LOC61) goto LA63;
		objfile0 = toobjfile_kKfQ9cy4jE21UrGTrl5XAwg(cfile0);
	}
	goto LA59;
	LA63: ;
	{
		NimStringDesc* LOC66;
		LOC66 = (NimStringDesc*)0;
		LOC66 = toobjfile_kKfQ9cy4jE21UrGTrl5XAwg(cfile0);
		objfile0 = completecfilepath_XziFVTv1mJIlNEw2aMU1Ig(LOC66, NIM_TRUE);
	}
	LA59: ;
	objfile0 = nospquoteShell(objfile0);
	cfile0 = nospquoteShell(cfile0);
	memset((void*)LOC67, 0, sizeof(LOC67));
	LOC67[0] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_121));
	LOC67[1] = copyString(cfile0);
	LOC67[2] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_122));
	LOC67[3] = copyString(objfile0);
	LOC67[4] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_123));
	LOC67[5] = copyString(options0);
	LOC67[6] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_124));
	LOC67[7] = copyString(includecmd0);
	LOC67[8] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
	LOC67[9] = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
	LOC67[10] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
	LOC67[11] = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
	LOC67[12] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_126));
	LOC67[13] = copyString(libpath_sniQ2ei4mGD9av6vrH9bfUgg);
	LOC68 = (NimStringDesc*)0;
	LOC68 = nsuFormatOpenArray(compilepattern0, LOC67, 14);
	result0 = nospquoteShell(LOC68);
	result0 = addChar(result0, 32);
	memset((void*)LOC69, 0, sizeof(LOC69));
	LOC69[0] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_121));
	LOC69[1] = copyString(cfile0);
	LOC69[2] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_122));
	LOC69[3] = copyString(objfile0);
	LOC69[4] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_123));
	LOC69[5] = copyString(options0);
	LOC69[6] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_124));
	LOC69[7] = copyString(includecmd0);
	LOC69[8] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
	LOC70 = (NimStringDesc*)0;
	LOC70 = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
	LOC69[9] = nospquoteShell(LOC70);
	LOC69[10] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
	LOC71 = (NimStringDesc*)0;
	LOC71 = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
	LOC69[11] = nospquoteShell(LOC71);
	LOC69[12] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_126));
	LOC69[13] = nospquoteShell(libpath_sniQ2ei4mGD9av6vrH9bfUgg);
	nsuAddf((&result0), Cc_78I18QZNZFIv9ah7oETc0jg[(c0)- 1].Field6, LOC69, 14);
	return result0;
}

N_NIMCALL(void, footprint_qq0NNW8pjkuehZ7AqtrHAA)(NimStringDesc* filename0, TY_YtcvxHNKV4YiecPE9ap1mcA Result) {
	NimStringDesc* LOC1;
	TY_YtcvxHNKV4YiecPE9ap1mcA LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	LOC1 = (NimStringDesc*)0;
	memset((void*)LOC2, 0, sizeof(LOC2));
	securehashfile_WH9bD1JrTXe4j39astgya4oA(filename0, LOC2);
	LOC3 = (NimStringDesc*)0;
	LOC3 = HEX24_At9aCTfZ0LzVIMgxCh2oK7g(LOC2);
	LOC4 = (NimStringDesc*)0;
	LOC4 = getcompilecfilecmd_l2Q119afH4uGC6OCNvc9bDLA(filename0, NIM_TRUE);
	LOC1 = rawNewString(LOC3->Sup.len + Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field0->Sup.len + Cpu_uYXopJX8pM87pQDCtmgWfQ[(targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag)- 1].Field0->Sup.len + Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field0->Sup.len + LOC4->Sup.len + 0);
appendString(LOC1, LOC3);
appendString(LOC1, Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field0);
appendString(LOC1, Cpu_uYXopJX8pM87pQDCtmgWfQ[(targetcpu_6ZqNUOGOAkmp4zxKVZ9cFag)- 1].Field0);
appendString(LOC1, Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field0);
appendString(LOC1, LOC4);
	chckNil((void*)Result);
	genericReset((void*)Result, (&NTI_YtcvxHNKV4YiecPE9ap1mcA));
	securehash_iXA7ojfe1syFxhtO0guLpg(LOC1, Result);
}

static N_INLINE(void, writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs)(FILE* f0, NimStringDesc** x0, NI x0Len0) {
	{
		NimStringDesc* i_kSboRGYz9bWc0rf2v8AlLGQ;
		NI i_kSboRGYz9bWc0rf2v8AlLGQ_2;
		i_kSboRGYz9bWc0rf2v8AlLGQ = (NimStringDesc*)0;
		i_kSboRGYz9bWc0rf2v8AlLGQ_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_kSboRGYz9bWc0rf2v8AlLGQ_2 < x0Len0)) goto LA3;
				i_kSboRGYz9bWc0rf2v8AlLGQ = x0[i_kSboRGYz9bWc0rf2v8AlLGQ_2];
				write_c4mGyJBvK73pdM22jiweKQ(f0, i_kSboRGYz9bWc0rf2v8AlLGQ);
				i_kSboRGYz9bWc0rf2v8AlLGQ_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_127));
}

N_NIMCALL(NIM_BOOL, externalfilechanged_BCjyld9cOHhqg8Sq2ShDIfw)(NimStringDesc* filename0) {
	NIM_BOOL result0;
	NimStringDesc* hashfile0;
	NimStringDesc* LOC5;
	TY_YtcvxHNKV4YiecPE9ap1mcA currenthash0;
	FILE* f0;
{	result0 = (NIM_BOOL)0;
	{
		if (!!(((78 &(1U<<((NU)(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ)&31U)))!=0))) goto LA3;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA3: ;
	LOC5 = (NimStringDesc*)0;
	LOC5 = withpackagename_hXI3LWBWedZbdPyAYn0KOQ_2(filename0);
	hashfile0 = togeneratedfile_J4Y3N49axROg3CvCZ1jF3QQ(LOC5, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_12));
	memset((void*)currenthash0, 0, sizeof(currenthash0));
	chckNil((void*)currenthash0);
	memset((void*)currenthash0, 0, sizeof(currenthash0));
	footprint_qq0NNW8pjkuehZ7AqtrHAA(filename0, currenthash0);
	f0 = (FILE*)0;
	{
		NIM_BOOL LOC8;
		TY_YtcvxHNKV4YiecPE9ap1mcA oldhash0;
		NimStringDesc* LOC11;
		NIM_BOOL LOC12;
		LOC8 = (NIM_BOOL)0;
		LOC8 = open_sEp0GH2306oGo9bqBpj5oTQ(&f0, hashfile0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 0), ((NI) -1));
		if (!LOC8) goto LA9;
		memset((void*)oldhash0, 0, sizeof(oldhash0));
		LOC11 = (NimStringDesc*)0;
		LOC11 = readline_fPRnXwDTqtynUYGl4OixAg(f0);
		chckNil((void*)oldhash0);
		memset((void*)oldhash0, 0, sizeof(oldhash0));
		parsesecurehash_z6ogq7oeMr7FogkL734yew(LOC11, oldhash0);
		close_BWnr8V7RERYno9bIdPmw8Hw_2(f0);
		LOC12 = (NIM_BOOL)0;
		LOC12 = HEX3DHEX3D_D9cw7Ut67uVRyWe3YecX0SQ(oldhash0, currenthash0);
		result0 = !(LOC12);
	}
	goto LA6;
	LA9: ;
	{
		result0 = NIM_TRUE;
	}
	LA6: ;
	{
		if (!result0) goto LA16;
		{
			NIM_BOOL LOC20;
			TY_nHXaesL0DJZHyVS07ARPRA LOC23;
			LOC20 = (NIM_BOOL)0;
			LOC20 = open_sEp0GH2306oGo9bqBpj5oTQ(&f0, hashfile0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 1), ((NI) -1));
			if (!LOC20) goto LA21;
			memset((void*)LOC23, 0, sizeof(LOC23));
			LOC23[0] = HEX24_At9aCTfZ0LzVIMgxCh2oK7g(currenthash0);
			writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs(f0, LOC23, 1);
			close_BWnr8V7RERYno9bIdPmw8Hw_2(f0);
		}
		LA21: ;
	}
	LA16: ;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, addexternalfiletocompile_G7o9b9bElmZopBhp4bEuocuQ)(NimStringDesc* filename0) {
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 1))&63U)))!=0);
		if (LOC3) goto LA4;
		LOC3 = externalfilechanged_BCjyld9cOHhqg8Sq2ShDIfw(filename0);
		LA4: ;
		if (!LOC3) goto LA5;
		appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3((&externaltocompile_DJFi7MHlt09aTcu8XkKgD8w), filename0);
	}
	LA5: ;
}

N_NIMCALL(void, addfiletolink_ojK8LYX6QYVglUGxXnhXUA)(NimStringDesc* filename0) {
	prependstr_owVv9bF5I9bEH2NNSvxvPOvQ((&tolink_P39ccjNBba2vD89cd69cIoDOQ), filename0);
}

N_NIMCALL(void, addcompileoption_7UPx5ihiCo9bEptZNyxfumQ)(NimStringDesc* option0) {
	{
		NI LOC3;
		LOC3 = (NI)0;
		LOC3 = nsuFindStr(compileoptions_EWeodjT9aTQEOH9bwCynLGLg, option0, ((NI) 0));
		if (!(LOC3 < ((NI) 0))) goto LA4;
		addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&compileoptions_EWeodjT9aTQEOH9bwCynLGLg), option0);
	}
	LA4: ;
}

N_NIMCALL(void, addlinkoption_7UPx5ihiCo9bEptZNyxfumQ_2)(NimStringDesc* option0) {
	addopt_T9aOjcvI9c4J1I8sdqwUgDkQ((&linkoptions_qMsYVghVJtlGadp1XLIhwg), option0);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!((src0 == NIM_NIL))) goto LA3;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		(*c0).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!(((*dest0) == NIM_NIL))) goto LA7;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		{
			(*c0).refcount -= ((NI) 8);
			if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11;
			rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
		}
		LA11: ;
	}
	LA7: ;
	(*dest0) = src0;
}

N_NIMCALL(void, setcc_p9cNefucs3pWxWs82dw9cRcg)(NimStringDesc* ccname0) {
	NimStringDesc* LOC5;
	ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw = nametocc_U5rGwYOnIV5b9cEzAMJXBsA(ccname0);
	{
		if (!(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw == ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 0))) goto LA3;
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 50), ccname0);
	}
	LA3: ;
	asgnRefNoCycle((void**) (&compileoptions_EWeodjT9aTQEOH9bwCynLGLg), getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_128)));
	LOC5 = (NimStringDesc*)0;
	LOC5 = linkoptions_qMsYVghVJtlGadp1XLIhwg; linkoptions_qMsYVghVJtlGadp1XLIhwg = copyStringRC1(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	if (LOC5) nimGCunrefNoCycle(LOC5);
	asgnRefNoCycle((void**) (&ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw), getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_129)));
	{
		Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg i_JUJQeC7Sc59aFzzZvvxgvqA;
		NI res_Dw1FGiyzCjAs8MyuftJwiQ;
		i_JUJQeC7Sc59aFzzZvvxgvqA = (Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg)0;
		res_Dw1FGiyzCjAs8MyuftJwiQ = ((NI) 1);
		{
			while (1) {
				if (!(res_Dw1FGiyzCjAs8MyuftJwiQ <= ((NI) 13))) goto LA8;
				i_JUJQeC7Sc59aFzzZvvxgvqA = ((Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg) (res_Dw1FGiyzCjAs8MyuftJwiQ));
				undefsymbol_A5AFbr8Omc1Bw39cFWCpEFg(Cc_78I18QZNZFIv9ah7oETc0jg[(i_JUJQeC7Sc59aFzzZvvxgvqA)- 1].Field0);
				res_Dw1FGiyzCjAs8MyuftJwiQ += ((NI) 1);
			} LA8: ;
		}
	}
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_130));
}

N_NIMCALL(void, initvars_7np5TkPW87gkvRFZHLx9aYg)(void) {
	NimStringDesc* LOC4;
	{
		Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg i_dZQuQWneFmVm88RVl8nhMQ;
		NI res_1cD9bwLaqaxKnnSfY9bc5u9aQ;
		i_dZQuQWneFmVm88RVl8nhMQ = (Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg)0;
		res_1cD9bwLaqaxKnnSfY9bc5u9aQ = ((NI) 1);
		{
			while (1) {
				if (!(res_1cD9bwLaqaxKnnSfY9bc5u9aQ <= ((NI) 13))) goto LA3;
				i_dZQuQWneFmVm88RVl8nhMQ = ((Tsystemcc_39ax9a4cYnvkyAkmJBi9aXc9cg) (res_1cD9bwLaqaxKnnSfY9bc5u9aQ));
				undefsymbol_A5AFbr8Omc1Bw39cFWCpEFg(Cc_78I18QZNZFIv9ah7oETc0jg[(i_dZQuQWneFmVm88RVl8nhMQ)- 1].Field0);
				res_1cD9bwLaqaxKnnSfY9bc5u9aQ += ((NI) 1);
			} LA3: ;
		}
	}
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_130));
	LOC4 = (NimStringDesc*)0;
	LOC4 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_128));
	addcompileoption_7UPx5ihiCo9bEptZNyxfumQ(LOC4);
	{
		if (!((ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw ? ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw->Sup.len : 0) == ((NI) 0))) goto LA7;
		asgnRefNoCycle((void**) (&ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw), getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_129)));
	}
	LA7: ;
}

N_NIMCALL(void, addfiletocompile_ojK8LYX6QYVglUGxXnhXUA_2)(NimStringDesc* filename0) {
	appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3((&tocompile_QgvLCcExXad2kOS8K9bBYAw), filename0);
}

N_NIMCALL(Ropeobj_HF4qJnb6xiOddgPmsxodtQ*, genmappingfiles_DVslGBr7ygR9aaWx9b9chcqAg)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0) {
	Ropeobj_HF4qJnb6xiOddgPmsxodtQ* result0;
	Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it0;
	result0 = (Ropeobj_HF4qJnb6xiOddgPmsxodtQ*)0;
	it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (list0.head));
	{
		while (1) {
			TY_ZqT9cbUNKsl55MABiLlPDxA LOC3;
			if (!!((it0 == NIM_NIL))) goto LA2;
			memset((void*)LOC3, 0, sizeof(LOC3));
			LOC3[0] = rope_53CHEX05HP0HacydnwoUYg((*it0).data);
			addf_8UUGW4xtgpag0J4uEnVLuQ(&result0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_132), LOC3, 1);
			it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it0).Sup.next));
		} LA2: ;
	}
	return result0;
}

N_NIMCALL(NimStringDesc*, getcompileoptions_5miaX9cEY77uVmI2vxeZy2g)(void) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = cfilespecificoptions_H3A9chTMmWdvr56NFC5rM8w(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_134));
	return result0;
}

N_NIMCALL(NimStringDesc*, getlinkoptions_5miaX9cEY77uVmI2vxeZy2g_2)(void) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	result0 = copyString(linkoptions_qMsYVghVJtlGadp1XLIhwg);
	{
		NimStringDesc* linkedlib_12g2LxS45lL7oPVreA9b5dw;
		NI i_5hCXcXxXXS9aG1m0jIJ9cCkA;
		NI L_Tm9chVOXgGkx7V0yp7PdHYA;
		linkedlib_12g2LxS45lL7oPVreA9b5dw = (NimStringDesc*)0;
		i_5hCXcXxXXS9aG1m0jIJ9cCkA = ((NI) 0);
		L_Tm9chVOXgGkx7V0yp7PdHYA = (clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ ? clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ->Sup.len : 0);
		{
			while (1) {
				NimStringDesc* LOC4;
				NimStringDesc* LOC5;
				if (!(i_5hCXcXxXXS9aG1m0jIJ9cCkA < L_Tm9chVOXgGkx7V0yp7PdHYA)) goto LA3;
				linkedlib_12g2LxS45lL7oPVreA9b5dw = clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ->data[i_5hCXcXxXXS9aG1m0jIJ9cCkA];
				LOC4 = (NimStringDesc*)0;
				LOC4 = nospquoteShell(linkedlib_12g2LxS45lL7oPVreA9b5dw);
				LOC5 = (NimStringDesc*)0;
				LOC5 = nsuFormatSingleElem(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field14, LOC4);
				result0 = resizeString(result0, LOC5->Sup.len + 0);
appendString(result0, LOC5);
				i_5hCXcXxXXS9aG1m0jIJ9cCkA += ((NI) 1);
			} LA3: ;
		}
	}
	{
		NimStringDesc* libdir_bqKMVd9czecXzlvCG3tMPtA;
		NI i_5hCXcXxXXS9aG1m0jIJ9cCkA_2;
		NI L_Tm9chVOXgGkx7V0yp7PdHYA_2;
		libdir_bqKMVd9czecXzlvCG3tMPtA = (NimStringDesc*)0;
		i_5hCXcXxXXS9aG1m0jIJ9cCkA_2 = ((NI) 0);
		L_Tm9chVOXgGkx7V0yp7PdHYA_2 = (clibs_h23mOD5l0EcFk9abMopaQqA ? clibs_h23mOD5l0EcFk9abMopaQqA->Sup.len : 0);
		{
			while (1) {
				TY_Re75IspeoxXy2oCZHwcRrA LOC9;
				if (!(i_5hCXcXxXXS9aG1m0jIJ9cCkA_2 < L_Tm9chVOXgGkx7V0yp7PdHYA_2)) goto LA8;
				libdir_bqKMVd9czecXzlvCG3tMPtA = clibs_h23mOD5l0EcFk9abMopaQqA->data[i_5hCXcXxXXS9aG1m0jIJ9cCkA_2];
				memset((void*)LOC9, 0, sizeof(LOC9));
				LOC9[0] = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field13);
				LOC9[1] = nospquoteShell(libdir_bqKMVd9czecXzlvCG3tMPtA);
				add_63gnN1Ob9bVhoQFxEtAR21A((&result0), LOC9, 2);
				i_5hCXcXxXXS9aG1m0jIJ9cCkA_2 += ((NI) 1);
			} LA8: ;
		}
	}
	return result0;
}

N_NIMCALL(void, writemapping_fCGFdgs38RNcOjsXPVtLhw)(Ropeobj_HF4qJnb6xiOddgPmsxodtQ* gsymbolmapping0) {
	Ropeobj_HF4qJnb6xiOddgPmsxodtQ* code0;
	Ropeobj_HF4qJnb6xiOddgPmsxodtQ* LOC5;
	Ropeobj_HF4qJnb6xiOddgPmsxodtQ* LOC6;
	NimStringDesc* LOC7;
	NimStringDesc* LOC8;
	NimStringDesc* LOC9;
	NimStringDesc* LOC10;
	NimStringDesc* LOC11;
	NimStringDesc* LOC12;
	NimStringDesc* LOC13;
	TY_ZqT9cbUNKsl55MABiLlPDxA LOC14;
	NimStringDesc* LOC15;
{	{
		if (!!(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	code0 = rope_53CHEX05HP0HacydnwoUYg(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_131));
	LOC5 = (Ropeobj_HF4qJnb6xiOddgPmsxodtQ*)0;
	LOC5 = genmappingfiles_DVslGBr7ygR9aaWx9b9chcqAg(tocompile_QgvLCcExXad2kOS8K9bBYAw);
	add_cDalAhgBlDWoYHadkaqqxw(&code0, LOC5);
	LOC6 = (Ropeobj_HF4qJnb6xiOddgPmsxodtQ*)0;
	LOC6 = genmappingfiles_DVslGBr7ygR9aaWx9b9chcqAg(externaltocompile_DJFi7MHlt09aTcu8XkKgD8w);
	add_cDalAhgBlDWoYHadkaqqxw(&code0, LOC6);
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_133));
	LOC7 = (NimStringDesc*)0;
	LOC7 = getcompileoptions_5miaX9cEY77uVmI2vxeZy2g();
	LOC8 = (NimStringDesc*)0;
	LOC8 = nsuEscape(LOC7, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135), ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135));
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, LOC8);
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_136));
	LOC9 = (NimStringDesc*)0;
	LOC10 = (NimStringDesc*)0;
	LOC10 = getlinkoptions_5miaX9cEY77uVmI2vxeZy2g_2();
	LOC11 = (NimStringDesc*)0;
	LOC11 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_137));
	LOC9 = rawNewString(LOC10->Sup.len + LOC11->Sup.len + 1);
appendString(LOC9, LOC10);
appendString(LOC9, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_109));
appendString(LOC9, LOC11);
	LOC12 = (NimStringDesc*)0;
	LOC12 = nsuEscape(LOC9, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135), ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135));
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, LOC12);
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_138));
	LOC13 = (NimStringDesc*)0;
	LOC13 = nsuEscape(libpath_sniQ2ei4mGD9av6vrH9bfUgg, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135), ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_135));
	add_UJnSY21g59awhvSFBxJ9a9aPg(&code0, LOC13);
	memset((void*)LOC14, 0, sizeof(LOC14));
	LOC14[0] = gsymbolmapping0;
	addf_8UUGW4xtgpag0J4uEnVLuQ(&code0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_139), LOC14, 1);
	LOC15 = (NimStringDesc*)0;
	LOC15 = nosjoinPath(gprojectpath_RQlrqBW2RHkKfot9caCcOtQ, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_140));
	writerope_BleoID9btBn4KgpblZYx8nQ(code0, LOC15, NIM_FALSE);
	}BeforeRet: ;
}
static N_NIMCALL(void, Marker_TY_9aChhsmkAU9a60Y9c9aFsT3atQ)(void* p, NI op) {
	EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q* a;
	a = (EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*)p;
	nimGCvisit((void*)(*a).prettycmds210473, op);
	nimGCvisit((void*)(*a).cmds210456, op);
}

N_CLOSURE(void, HEX3Aanonymous_9cSjoUlUYDNot4s7i9bLxYiQ)(NI idx0, void* ClEnv) {
	EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q* HEX3Aenvp_NTtp4WGvXmnixHss9bBDhxA;
	HEX3Aenvp_NTtp4WGvXmnixHss9bBDhxA = (EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*) ClEnv;
	printf("%s\015\012", (*HEX3Aenvp_NTtp4WGvXmnixHss9bBDhxA).prettycmds210473->data[idx0]? ((*HEX3Aenvp_NTtp4WGvXmnixHss9bBDhxA).prettycmds210473->data[idx0])->data:"nil");
	fflush(stdout);
}

N_CLOSURE(void, HEX3Aanonymous_YP9ahzb0Rcs2sp4Xv6rkRsg)(NI idx0, Processobj_NHqciQYh8G1aN2n273mmYw* p0, void* ClEnv) {
	EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q* HEX3Aenvp_n1JQ4GgOy9b7hWDYSm9bfKiQ;
	NI exitcode0;
	HEX3Aenvp_n1JQ4GgOy9b7hWDYSm9bfKiQ = (EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*) ClEnv;
	exitcode0 = peekexitcode_XqKQhqFFBS8ux5QQWd3fgg(p0);
	{
		NimStringDesc* LOC5;
		NimStringDesc* LOC6;
		Streamobj_RShkcoDOPnoCVhtpN1hDPQ* LOC7;
		NimStringDesc* LOC8;
		NimStringDesc* LOC9;
		if (!!((exitcode0 == ((NI) 0)))) goto LA3;
		LOC5 = (NimStringDesc*)0;
		LOC6 = (NimStringDesc*)0;
		LOC6 = nimIntToStr(exitcode0);
		LOC7 = (Streamobj_RShkcoDOPnoCVhtpN1hDPQ*)0;
		LOC7 = nospoutputStream(p0);
		LOC8 = (NimStringDesc*)0;
		LOC8 = readall_y6Jvjm2hmT9aQbvX9aMpHkOQ_2(LOC7);
		LOC9 = (NimStringDesc*)0;
		LOC9 = nsuStrip(LOC8, NIM_TRUE, NIM_TRUE, T_OyL9acDBDoBfMwa5zb1Y88w_145);
		LOC5 = rawNewString((*HEX3Aenvp_n1JQ4GgOy9b7hWDYSm9bfKiQ).cmds210456->data[idx0]->Sup.len + LOC6->Sup.len + LOC9->Sup.len + 72);
appendString(LOC5, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_142));
appendString(LOC5, (*HEX3Aenvp_n1JQ4GgOy9b7hWDYSm9bfKiQ).cmds210456->data[idx0]);
appendString(LOC5, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_143));
appendString(LOC5, LOC6);
appendString(LOC5, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_144));
appendString(LOC5, LOC9);
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC5);
	}
	LA3: ;
}

N_NIMCALL(void, compilecfile_r9burVls9cOfnyg34xPEky9cQ)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ** script0, TY_sM4lkSb7zS6F7OVMvW9cffQ** cmds0, TY_sM4lkSb7zS6F7OVMvW9cffQ** prettycmds0, NIM_BOOL isexternal0) {
	Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it0;
	it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (list0.head));
	{
		while (1) {
			NimStringDesc* compilecmd0;
			if (!!((it0 == NIM_NIL))) goto LA2;
			filecounter_3nT1Go5iGDTfu9a9ce7EP5nA += ((NI) 1);
			compilecmd0 = getcompilecfilecmd_l2Q119afH4uGC6OCNvc9bDLA((*it0).data, isexternal0);
			{
				NimStringDesc* LOC7;
				TY_7q7q3E6Oj24ZNVJb9aonhAg LOC8;
				NimStringDesc* dir0;
				NimStringDesc* name0;
				NimStringDesc* ext0;
				NimStringDesc* LOC9;
				NimStringDesc* LOC10;
				if (!!(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA5;
				(*cmds0) = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&((*cmds0))->Sup, sizeof(NimStringDesc*));
				LOC7 = (NimStringDesc*)0;
				LOC7 = (*cmds0)->data[(*cmds0)->Sup.len]; (*cmds0)->data[(*cmds0)->Sup.len] = copyStringRC1(compilecmd0);
				if (LOC7) nimGCunrefNoCycle(LOC7);
				++(*cmds0)->Sup.len;
				memset((void*)(&LOC8), 0, sizeof(LOC8));
				nossplitFile((*it0).data, (&LOC8));
				dir0 = (NimStringDesc*)0;
				dir0 = LOC8.Field0;
				name0 = (NimStringDesc*)0;
				name0 = LOC8.Field1;
				ext0 = (NimStringDesc*)0;
				ext0 = LOC8.Field2;
				LOC9 = (NimStringDesc*)0;
				LOC9 = rawNewString(name0->Sup.len + 4);
appendString(LOC9, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_146));
appendString(LOC9, name0);
				(*prettycmds0) = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&((*prettycmds0))->Sup, sizeof(NimStringDesc*));
				LOC10 = (NimStringDesc*)0;
				LOC10 = (*prettycmds0)->data[(*prettycmds0)->Sup.len]; (*prettycmds0)->data[(*prettycmds0)->Sup.len] = copyStringRC1(LOC9);
				if (LOC10) nimGCunrefNoCycle(LOC10);
				++(*prettycmds0)->Sup.len;
			}
			LA5: ;
			{
				if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 11))&63U)))!=0)) goto LA13;
				add_UJnSY21g59awhvSFBxJ9a9aPg(script0, compilecmd0);
				add_UJnSY21g59awhvSFBxJ9a9aPg(script0, tnl_Gp8EwkcsAP9am1klnCCHM4w);
			}
			LA13: ;
			it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it0).Sup.next));
		} LA2: ;
	}
}

N_NIMCALL(NI, execwithecho_Q3fRR7YvMU9b1M1n6VNgPJw)(NimStringDesc* cmd0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0) {
	NI result0;
	result0 = (NI)0;
	rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(msg0, cmd0);
	result0 = nospexecCmd(cmd0);
	return result0;
}

static N_INLINE(NimStringDesc*, libnametmpl_vvVKqgM8UXtarwLiWH25FAextccomp)(void) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		if (!(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ == ((Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ) 2))) goto LA3;
		result0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_148));
	}
	goto LA1;
	LA3: ;
	{
		result0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_149));
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getlinkerexe_OcdhuySknlex6bMRqyrJXw_2)(Tsystemcc_Y42JhQFLdjkIirjI3TJjww compiler0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		if (!(((NI) 0) < (Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field10 ? Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field10->Sup.len : 0))) goto LA3;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field10);
	}
	goto LA1;
	LA3: ;
	{
		NIM_BOOL LOC6;
		LOC6 = (NIM_BOOL)0;
		LOC6 = gmixedmode_47V577fI7J8lHBdPbxGA3w;
		if (!(LOC6)) goto LA7;
		LOC6 = !((gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 2)));
		LA7: ;
		if (!LOC6) goto LA8;
		result0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(compiler0)- 1].Field5);
	}
	goto LA1;
	LA8: ;
	{
		result0 = getcompilerexe_OcdhuySknlex6bMRqyrJXw(compiler0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NimStringDesc*, getlinkcmd_v9a6FEDbxacHfPBrcAN0hog)(NimStringDesc* projectfile0, NimStringDesc* objfiles0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		NimStringDesc* libname0;
		TY_sMpvt1sOxOJ3LFGulnbeMQ LOC18;
		if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0)) goto LA3;
		libname0 = (NimStringDesc*)0;
		{
			if (!(((NI) 0) < (outfile_LiHKjDVrUS85u6xbuNvgxA ? outfile_LiHKjDVrUS85u6xbuNvgxA->Sup.len : 0))) goto LA7;
			libname0 = expandtilde_bY3FvgrWj5mj9cB3I89cRWxg(outfile_LiHKjDVrUS85u6xbuNvgxA);
			{
				NIM_BOOL LOC11;
				NimStringDesc* LOC14;
				LOC11 = (NIM_BOOL)0;
				LOC11 = nosisAbsolute(libname0);
				if (!!(LOC11)) goto LA12;
				LOC14 = (NimStringDesc*)0;
				LOC14 = nosgetCurrentDir();
				libname0 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(LOC14, libname0);
			}
			LA12: ;
		}
		goto LA5;
		LA7: ;
		{
			NimStringDesc* LOC16;
			TY_7q7q3E6Oj24ZNVJb9aonhAg LOC17;
			LOC16 = (NimStringDesc*)0;
			LOC16 = libnametmpl_vvVKqgM8UXtarwLiWH25FAextccomp();
			memset((void*)(&LOC17), 0, sizeof(LOC17));
			nossplitFile(gprojectname_QOoHniL6MYtzlAjpv8zzdA, (&LOC17));
			libname0 = nsuFormatSingleElem(LOC16, LOC17.Field1);
		}
		LA5: ;
		memset((void*)LOC18, 0, sizeof(LOC18));
		LOC18[0] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_150));
		LOC18[1] = copyString(libname0);
		LOC18[2] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_151));
		LOC18[3] = copyString(objfiles0);
		result0 = nsuFormatOpenArray(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field9, LOC18, 4);
	}
	goto LA1;
	LA3: ;
	{
		NimStringDesc* linkerexe0;
		NimStringDesc* buildgui0;
		NimStringDesc* exefile0;
		NimStringDesc* builddll0;
		NimStringDesc* linkoptions0;
		NimStringDesc* LOC70;
		NimStringDesc* LOC71;
		NimStringDesc* LOC72;
		TY_ICDQ54qlGBxp1TLqclKASg LOC73;
		NimStringDesc* LOC74;
		TY_ICDQ54qlGBxp1TLqclKASg LOC75;
		NimStringDesc* LOC76;
		linkerexe0 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_152));
		{
			if (!((linkerexe0 ? linkerexe0->Sup.len : 0) == ((NI) 0))) goto LA22;
			linkerexe0 = getlinkerexe_OcdhuySknlex6bMRqyrJXw_2(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw);
		}
		LA22: ;
		{
			NIM_BOOL LOC26;
			LOC26 = (NIM_BOOL)0;
			LOC26 = needsexeext_C5l4vVCJon3kksAqgEQvowextccomp();
			if (!LOC26) goto LA27;
			linkerexe0 = nosaddFileExt(linkerexe0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_120));
		}
		LA27: ;
		{
			NIM_BOOL LOC31;
			LOC31 = (NIM_BOOL)0;
			LOC31 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
			if (!LOC31) goto LA32;
			result0 = nospquoteShell(linkerexe0);
		}
		goto LA29;
		LA32: ;
		{
			NimStringDesc* LOC35;
			LOC35 = (NimStringDesc*)0;
			LOC35 = nosjoinPath(ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw, linkerexe0);
			result0 = nospquoteShell(LOC35);
		}
		LA29: ;
		{
			if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0)) goto LA38;
			buildgui0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field7);
		}
		goto LA36;
		LA38: ;
		{
			buildgui0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		}
		LA36: ;
		exefile0 = (NimStringDesc*)0;
		builddll0 = (NimStringDesc*)0;
		{
			TY_7q7q3E6Oj24ZNVJb9aonhAg LOC45;
			if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 8))&63U)))!=0)) goto LA43;
			memset((void*)(&LOC45), 0, sizeof(LOC45));
			nossplitFile(projectfile0, (&LOC45));
			exefile0 = nsuFormatSingleElem(Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field2, LOC45.Field1);
			builddll0 = copyString(Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field8);
		}
		goto LA41;
		LA43: ;
		{
			NimStringDesc* LOC47;
			TY_7q7q3E6Oj24ZNVJb9aonhAg LOC48;
			LOC47 = (NimStringDesc*)0;
			memset((void*)(&LOC48), 0, sizeof(LOC48));
			nossplitFile(projectfile0, (&LOC48));
			LOC47 = rawNewString(LOC48.Field1->Sup.len + Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field10->Sup.len + 0);
appendString(LOC47, LOC48.Field1);
appendString(LOC47, Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field10);
			exefile0 = LOC47;
			builddll0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		}
		LA41: ;
		{
			if (!(((NI) 0) < (outfile_LiHKjDVrUS85u6xbuNvgxA ? outfile_LiHKjDVrUS85u6xbuNvgxA->Sup.len : 0))) goto LA51;
			exefile0 = expandtilde_bY3FvgrWj5mj9cB3I89cRWxg(outfile_LiHKjDVrUS85u6xbuNvgxA);
			{
				NIM_BOOL LOC55;
				NimStringDesc* LOC58;
				LOC55 = (NIM_BOOL)0;
				LOC55 = nosisAbsolute(exefile0);
				if (!!(LOC55)) goto LA56;
				LOC58 = (NimStringDesc*)0;
				LOC58 = nosgetCurrentDir();
				exefile0 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(LOC58, exefile0);
			}
			LA56: ;
		}
		LA51: ;
		{
			NIM_BOOL LOC61;
			LOC61 = (NIM_BOOL)0;
			LOC61 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
			if (!!(LOC61)) goto LA62;
			{
				NIM_BOOL LOC66;
				TY_7q7q3E6Oj24ZNVJb9aonhAg LOC69;
				LOC66 = (NIM_BOOL)0;
				LOC66 = nosisAbsolute(exefile0);
				if (!!(LOC66)) goto LA67;
				memset((void*)(&LOC69), 0, sizeof(LOC69));
				nossplitFile(projectfile0, (&LOC69));
				exefile0 = nosjoinPath(LOC69.Field0, exefile0);
			}
			LA67: ;
		}
		LA62: ;
		exefile0 = nospquoteShell(exefile0);
		LOC70 = (NimStringDesc*)0;
		LOC71 = (NimStringDesc*)0;
		LOC71 = getlinkoptions_5miaX9cEY77uVmI2vxeZy2g_2();
		LOC72 = (NimStringDesc*)0;
		LOC72 = getconfigvar_ywjPNrTW5bjhEYLzemb3Mg(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_137));
		LOC70 = rawNewString(LOC71->Sup.len + LOC72->Sup.len + 1);
appendString(LOC70, LOC71);
appendString(LOC70, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_109));
appendString(LOC70, LOC72);
		linkoptions0 = LOC70;
		memset((void*)LOC73, 0, sizeof(LOC73));
		LOC73[0] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_153));
		LOC73[1] = copyString(builddll0);
		LOC73[2] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_154));
		LOC73[3] = copyString(buildgui0);
		LOC73[4] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_123));
		LOC73[5] = copyString(linkoptions0);
		LOC73[6] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_151));
		LOC73[7] = copyString(objfiles0);
		LOC73[8] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_155));
		LOC73[9] = copyString(exefile0);
		LOC73[10] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
		LOC73[11] = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
		LOC73[12] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_126));
		LOC73[13] = copyString(libpath_sniQ2ei4mGD9av6vrH9bfUgg);
		LOC74 = (NimStringDesc*)0;
		LOC74 = nsuFormatOpenArray(result0, LOC73, 14);
		result0 = nospquoteShell(LOC74);
		result0 = addChar(result0, 32);
		memset((void*)LOC75, 0, sizeof(LOC75));
		LOC75[0] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_153));
		LOC75[1] = copyString(builddll0);
		LOC75[2] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_154));
		LOC75[3] = copyString(buildgui0);
		LOC75[4] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_123));
		LOC75[5] = copyString(linkoptions0);
		LOC75[6] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_151));
		LOC75[7] = copyString(objfiles0);
		LOC75[8] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_155));
		LOC75[9] = copyString(exefile0);
		LOC75[10] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_125));
		LOC76 = (NimStringDesc*)0;
		LOC76 = getprefixdir_rMpbw4SUmKCJTTifDPvxAg();
		LOC75[11] = nospquoteShell(LOC76);
		LOC75[12] = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_126));
		LOC75[13] = nospquoteShell(libpath_sniQ2ei4mGD9av6vrH9bfUgg);
		nsuAddf((&result0), Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field11, LOC75, 14);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, execexternalprogram_Pv5NVuLJkhqF9a3uo9aKpTxw)(NimStringDesc* cmd0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0) {
	{
		NI LOC3;
		LOC3 = (NI)0;
		LOC3 = execwithecho_Q3fRR7YvMU9b1M1n6VNgPJw(cmd0, msg0);
		if (!!((LOC3 == ((NI) 0)))) goto LA4;
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 68), cmd0);
	}
	LA4: ;
}

N_NIMCALL(void, generatescript_QL3snCtTFT6tKKTCrK3qjQ)(NimStringDesc* projectfile0, Ropeobj_HF4qJnb6xiOddgPmsxodtQ* script0) {
	TY_7q7q3E6Oj24ZNVJb9aonhAg LOC1;
	NimStringDesc* dir0;
	NimStringDesc* name0;
	NimStringDesc* ext0;
	NimStringDesc* LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	nossplitFile(projectfile0, (&LOC1));
	dir0 = (NimStringDesc*)0;
	dir0 = LOC1.Field0;
	name0 = (NimStringDesc*)0;
	name0 = LOC1.Field1;
	ext0 = (NimStringDesc*)0;
	ext0 = LOC1.Field2;
	LOC2 = (NimStringDesc*)0;
	LOC2 = rawNewString(name0->Sup.len + 8);
appendString(LOC2, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_156));
appendString(LOC2, name0);
	LOC3 = (NimStringDesc*)0;
	LOC3 = nosaddFileExt(LOC2, Os_Jx0qy9c9bSo4fGkMxUfUaAaw[(targetos_PyF9cBkuAlI8I7Y7KiZHIYQ)- 1].Field8);
	LOC4 = (NimStringDesc*)0;
	LOC4 = HEX2F_BsTQv9c9anbxt9bKmR0aN1elQ(dir0, LOC3);
	writerope_BleoID9btBn4KgpblZYx8nQ(script0, LOC4, NIM_FALSE);
}

N_NIMCALL(void, callccompiler_FNFIsWVCNYRMyc5FzqPYbw)(NimStringDesc* projectfile0) {
	EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q* HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA;
	NimStringDesc* linkcmd0;
	Ropeobj_HF4qJnb6xiOddgPmsxodtQ* script0;
	TY_kElEuvYkhDcTHhB3d89aMYA prettycb0;
	TY_kElEuvYkhDcTHhB3d89aMYA LOC5;
	TY_SfW5itioRNR8yop8fOJeNg runcb0;
	TY_SfW5itioRNR8yop8fOJeNg LOC6;
{	HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA = (EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*)0;
	HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA = (EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*) newObj((&NTI_9aChhsmkAU9a60Y9c9aFsT3atQ), sizeof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q));
	linkcmd0 = (NimStringDesc*)0;
	{
		if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg & 2064) == 16)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	filecounter_3nT1Go5iGDTfu9a9ce7EP5nA = ((NI) 0);
	script0 = NIM_NIL;
	if ((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456) nimGCunrefNoCycle((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456);
	(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeqRC1((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0);
	if ((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).prettycmds210473) nimGCunrefNoCycle((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).prettycmds210473);
	(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).prettycmds210473 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeqRC1((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0);
	memset((void*)(&prettycb0), 0, sizeof(prettycb0));
	memset((void*)(&LOC5), 0, sizeof(LOC5));
	LOC5.ClPrc = HEX3Aanonymous_9cSjoUlUYDNot4s7i9bLxYiQ; LOC5.ClEnv = HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA;
	prettycb0.ClEnv = LOC5.ClEnv;
	prettycb0.ClPrc = LOC5.ClPrc;
	memset((void*)(&runcb0), 0, sizeof(runcb0));
	memset((void*)(&LOC6), 0, sizeof(LOC6));
	LOC6.ClPrc = HEX3Aanonymous_YP9ahzb0Rcs2sp4Xv6rkRsg; LOC6.ClEnv = HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA;
	runcb0.ClEnv = LOC6.ClEnv;
	runcb0.ClPrc = LOC6.ClPrc;
	compilecfile_r9burVls9cOfnyg34xPEky9cQ(tocompile_QgvLCcExXad2kOS8K9bBYAw, &script0, (&(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456), (&(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).prettycmds210473), NIM_FALSE);
	compilecfile_r9burVls9cOfnyg34xPEky9cQ(externaltocompile_DJFi7MHlt09aTcu8XkKgD8w, &script0, (&(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456), (&(*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).prettycmds210473), NIM_TRUE);
	{
		NI res0;
		if (!!(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA9;
		{
			if (!(gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw == ((NI) 0))) goto LA13;
			gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw = nospcountProcessors();
		}
		LA13: ;
		res0 = ((NI) 0);
		{
			if (!(gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw <= ((NI) 1))) goto LA17;
			{
				NI i_VsvCIbjMbkYnbgkIZx4XNg;
				NI HEX3Atmp_9aItVDptgH6M3sayojC7KSA;
				NI res_pbv79bJELsSAOKixlLrrF1g;
				i_VsvCIbjMbkYnbgkIZx4XNg = (NI)0;
				HEX3Atmp_9aItVDptgH6M3sayojC7KSA = (NI)0;
				HEX3Atmp_9aItVDptgH6M3sayojC7KSA = ((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456 ? ((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->Sup.len-1) : -1);
				res_pbv79bJELsSAOKixlLrrF1g = ((NI) 0);
				{
					while (1) {
						if (!(res_pbv79bJELsSAOKixlLrrF1g <= HEX3Atmp_9aItVDptgH6M3sayojC7KSA)) goto LA21;
						i_VsvCIbjMbkYnbgkIZx4XNg = res_pbv79bJELsSAOKixlLrrF1g;
						res0 = execwithecho_Q3fRR7YvMU9b1M1n6VNgPJw((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data[i_VsvCIbjMbkYnbgkIZx4XNg], ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 283));
						{
							if (!!((res0 == ((NI) 0)))) goto LA24;
							rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 68), (*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data[i_VsvCIbjMbkYnbgkIZx4XNg]);
						}
						LA24: ;
						res_pbv79bJELsSAOKixlLrrF1g += ((NI) 1);
					} LA21: ;
				}
			}
		}
		goto LA15;
		LA17: ;
		{
			NIM_BOOL LOC27;
			LOC27 = (NIM_BOOL)0;
			LOC27 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
			if (LOC27) goto LA28;
			LOC27 = (((NI) 1) < gverbosity_BhOkdHk9bv1VGWSLnxRNYpw);
			LA28: ;
			if (!LOC27) goto LA29;
			res0 = nospexecProcesses((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data, (*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->Sup.len, 27, gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw, T_OyL9acDBDoBfMwa5zb1Y88w_147, runcb0);
		}
		goto LA15;
		LA29: ;
		{
			if (!(gverbosity_BhOkdHk9bv1VGWSLnxRNYpw == ((NI) 1))) goto LA32;
			res0 = nospexecProcesses((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data, (*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->Sup.len, 26, gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw, prettycb0, runcb0);
		}
		goto LA15;
		LA32: ;
		{
			res0 = nospexecProcesses((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data, (*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->Sup.len, 26, gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw, T_OyL9acDBDoBfMwa5zb1Y88w_147, runcb0);
		}
		LA15: ;
		{
			if (!!((res0 == ((NI) 0)))) goto LA37;
			{
				NimStringDesc* LOC43;
				if (!(gnumberofprocessors_Ab3cIDiiQ4afbp9cf9agSElw <= ((NI) 1))) goto LA41;
				LOC43 = (NimStringDesc*)0;
				LOC43 = nsuJoinSep((*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->data, (*HEX3Aenv_ZvKKJTIRofgxnjukbAFXBA).cmds210456->Sup.len, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
				rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 68), LOC43);
			}
			LA41: ;
		}
		LA37: ;
	}
	LA9: ;
	{
		Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it0;
		NimStringDesc* objfiles0;
		if (!!(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 5))&63U)))!=0))) goto LA46;
		it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (tolink_P39ccjNBba2vD89cd69cIoDOQ.head));
		objfiles0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		{
			while (1) {
				NimStringDesc* objfile0;
				NimStringDesc* LOC56;
				NimStringDesc* LOC57;
				if (!!((it0 == NIM_NIL))) goto LA49;
				{
					NIM_BOOL LOC52;
					LOC52 = (NIM_BOOL)0;
					LOC52 = noabsolutepaths_C5l4vVCJon3kksAqgEQvow_2extccomp();
					if (!LOC52) goto LA53;
					objfile0 = nosextractFilename((*it0).data);
				}
				goto LA50;
				LA53: ;
				{
					objfile0 = (*it0).data;
				}
				LA50: ;
				objfiles0 = addChar(objfiles0, 32);
				LOC56 = (NimStringDesc*)0;
				LOC56 = nosaddFileExt(objfile0, Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field1);
				LOC57 = (NimStringDesc*)0;
				LOC57 = nospquoteShell(LOC56);
				objfiles0 = resizeString(objfiles0, LOC57->Sup.len + 0);
appendString(objfiles0, LOC57);
				it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it0).Sup.next));
			} LA49: ;
		}
		linkcmd0 = getlinkcmd_v9a6FEDbxacHfPBrcAN0hog(projectfile0, objfiles0);
		{
			Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw LOC62;
			if (!!(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0))) goto LA60;
			LOC62 = (Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw)0;
			{
				NIM_BOOL LOC65;
				LOC65 = (NIM_BOOL)0;
				LOC65 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 3))&63U)))!=0);
				if (LOC65) goto LA66;
				LOC65 = (((NI) 1) < gverbosity_BhOkdHk9bv1VGWSLnxRNYpw);
				LA66: ;
				if (!LOC65) goto LA67;
				LOC62 = ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 283);
			}
			goto LA63;
			LA67: ;
			{
				LOC62 = ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 284);
			}
			LA63: ;
			execexternalprogram_Pv5NVuLJkhqF9a3uo9aKpTxw(linkcmd0, LOC62);
		}
		LA60: ;
	}
	goto LA44;
	LA46: ;
	{
		linkcmd0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	}
	LA44: ;
	{
		if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 11))&63U)))!=0)) goto LA73;
		add_UJnSY21g59awhvSFBxJ9a9aPg(&script0, linkcmd0);
		add_UJnSY21g59awhvSFBxJ9a9aPg(&script0, tnl_Gp8EwkcsAP9am1klnCCHM4w);
		generatescript_QL3snCtTFT6tKKTCrK3qjQ(projectfile0, script0);
	}
	LA73: ;
	}BeforeRet: ;
}

N_NIMCALL(void, cfiles_vv40xh9cbR2Q1jEfJ9bw7ySg)(FILE* f0, NimStringDesc** buf0, Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, NIM_BOOL isexternal0) {
	Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it0;
	it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (list0.head));
	{
		while (1) {
			NimStringDesc* compilecmd0;
			if (!!((it0 == NIM_NIL))) goto LA2;
			compilecmd0 = getcompilecfilecmd_l2Q119afH4uGC6OCNvc9bDLA((*it0).data, isexternal0);
			write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_159));
			(*buf0) = setLengthStr((*buf0), ((NI) 0));
			escapejson_xxovtptDIL7ctJosN3ocbA((*it0).data, buf0);
			write_c4mGyJBvK73pdM22jiweKQ(f0, (*buf0));
			write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_160));
			(*buf0) = setLengthStr((*buf0), ((NI) 0));
			escapejson_xxovtptDIL7ctJosN3ocbA(compilecmd0, buf0);
			write_c4mGyJBvK73pdM22jiweKQ(f0, (*buf0));
			it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it0).Sup.next));
			{
				if (!(it0 == NIM_NIL)) goto LA5;
				write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_161));
			}
			goto LA3;
			LA5: ;
			{
				write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_162));
			}
			LA3: ;
		} LA2: ;
	}
}

N_NIMCALL(void, linkfiles_5lU4IZ8F6J5GGWbFj32dZQ)(FILE* f0, NimStringDesc** buf0, NimStringDesc** objfiles0, Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw tolink0) {
	Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it0;
	it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (tolink0.head));
	{
		while (1) {
			NimStringDesc* objfile0;
			NimStringDesc* LOC3;
			if (!!((it0 == NIM_NIL))) goto LA2;
			objfile0 = nosaddFileExt((*it0).data, Cc_78I18QZNZFIv9ah7oETc0jg[(ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw)- 1].Field1);
			(*buf0) = setLengthStr((*buf0), ((NI) 0));
			escapejson_xxovtptDIL7ctJosN3ocbA(objfile0, buf0);
			write_c4mGyJBvK73pdM22jiweKQ(f0, (*buf0));
			(*objfiles0) = addChar((*objfiles0), 32);
			LOC3 = (NimStringDesc*)0;
			LOC3 = nospquoteShell(objfile0);
			(*objfiles0) = resizeString((*objfiles0), LOC3->Sup.len + 0);
appendString((*objfiles0), LOC3);
			it0 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it0).Sup.next));
			{
				if (!(it0 == NIM_NIL)) goto LA6;
				write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_165));
			}
			goto LA4;
			LA6: ;
			{
				write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_166));
			}
			LA4: ;
		} LA2: ;
	}
}

N_NIMCALL(void, writejsonbuildinstructions_FNFIsWVCNYRMyc5FzqPYbw_2)(NimStringDesc* projectfile0) {
	NimStringDesc* buf0;
	NimStringDesc* file0;
	TY_7q7q3E6Oj24ZNVJb9aonhAg LOC1;
	NimStringDesc* jsonfile0;
	FILE* f0;
	buf0 = rawNewString(((NI) 50));
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	nossplitFile(projectfile0, (&LOC1));
	file0 = LOC1.Field1;
	jsonfile0 = togeneratedfile_J4Y3N49axROg3CvCZ1jF3QQ(file0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_157));
	f0 = (FILE*)0;
	{
		NIM_BOOL LOC4;
		NimStringDesc* objfiles0;
		NimStringDesc* LOC7;
		LOC4 = (NIM_BOOL)0;
		LOC4 = open_sEp0GH2306oGo9bqBpj5oTQ(&f0, jsonfile0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 1), ((NI) -1));
		if (!LOC4) goto LA5;
		write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_158));
		cfiles_vv40xh9cbR2Q1jEfJ9bw7ySg(f0, (&buf0), tocompile_QgvLCcExXad2kOS8K9bBYAw, NIM_FALSE);
		write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_163));
		cfiles_vv40xh9cbR2Q1jEfJ9bw7ySg(f0, (&buf0), externaltocompile_DJFi7MHlt09aTcu8XkKgD8w, NIM_TRUE);
		write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_164));
		objfiles0 = copyString(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
		linkfiles_5lU4IZ8F6J5GGWbFj32dZQ(f0, (&buf0), (&objfiles0), tolink_P39ccjNBba2vD89cd69cIoDOQ);
		write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_167));
		buf0 = setLengthStr(buf0, ((NI) 0));
		LOC7 = (NimStringDesc*)0;
		LOC7 = getlinkcmd_v9a6FEDbxacHfPBrcAN0hog(projectfile0, objfiles0);
		escapejson_xxovtptDIL7ctJosN3ocbA(LOC7, (&buf0));
		write_c4mGyJBvK73pdM22jiweKQ(f0, buf0);
		write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_168));
		close_BWnr8V7RERYno9bIdPmw8Hw_2(f0);
	}
	LA5: ;
}
NIM_EXTERNC N_NOINLINE(void, compiler_extccompInit000)(void) {
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	NimStringDesc* LOC3;
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_2);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_3);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_4);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_5);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_6);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_7);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_8);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_10);
nimRegisterGlobalMarker(T_OyL9acDBDoBfMwa5zb1Y88w_11);
	ccompiler_Dz9bRorQ2m6cBt9awpi4iwPw = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 1);
	cassembler_HYbVaPu57kPHl65OWUT3sA = ((Tsystemcc_Y42JhQFLdjkIirjI3TJjww) 0);
	if (cincludes_FZW9aIIOh2UqSj3VPYryDKA) nimGCunrefNoCycle(cincludes_FZW9aIIOh2UqSj3VPYryDKA);
	cincludes_FZW9aIIOh2UqSj3VPYryDKA = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeqRC1((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0);
	if (clibs_h23mOD5l0EcFk9abMopaQqA) nimGCunrefNoCycle(clibs_h23mOD5l0EcFk9abMopaQqA);
	clibs_h23mOD5l0EcFk9abMopaQqA = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeqRC1((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0);
	if (clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ) nimGCunrefNoCycle(clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ);
	clinkedlibs_ISyI9cuH9cPHBzE0TTNhJ59aQ = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeqRC1((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0);
	LOC1 = (NimStringDesc*)0;
	LOC1 = linkoptions_qMsYVghVJtlGadp1XLIhwg; linkoptions_qMsYVghVJtlGadp1XLIhwg = copyStringRC1(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	if (LOC1) nimGCunrefNoCycle(LOC1);
	LOC2 = (NimStringDesc*)0;
	LOC2 = compileoptions_EWeodjT9aTQEOH9bwCynLGLg; compileoptions_EWeodjT9aTQEOH9bwCynLGLg = copyStringRC1(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	if (LOC2) nimGCunrefNoCycle(LOC2);
	LOC3 = (NimStringDesc*)0;
	LOC3 = ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw; ccompilerpath_YcwDcQJwyAUGTyMVEGx9cHw = copyStringRC1(((NimStringDesc*) &T_OyL9acDBDoBfMwa5zb1Y88w_9));
	if (LOC3) nimGCunrefNoCycle(LOC3);
}

NIM_EXTERNC N_NOINLINE(void, compiler_extccompDatInit000)(void) {
static TNimNode* T_OyL9acDBDoBfMwa5zb1Y88w_141[3];
static TNimNode T_OyL9acDBDoBfMwa5zb1Y88w_0[4];
NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q.size = sizeof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q);
NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q.kind = 18;
NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q.base = 0;
NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q.flags = 2;
T_OyL9acDBDoBfMwa5zb1Y88w_141[0] = &T_OyL9acDBDoBfMwa5zb1Y88w_0[1];
T_OyL9acDBDoBfMwa5zb1Y88w_0[1].kind = 1;
T_OyL9acDBDoBfMwa5zb1Y88w_0[1].offset = offsetof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q, HEX3Astate);
T_OyL9acDBDoBfMwa5zb1Y88w_0[1].typ = (&NTI_xHTZrq9aYs6boc9bCba0JbpQ);
T_OyL9acDBDoBfMwa5zb1Y88w_0[1].name = ":state";
T_OyL9acDBDoBfMwa5zb1Y88w_141[1] = &T_OyL9acDBDoBfMwa5zb1Y88w_0[2];
T_OyL9acDBDoBfMwa5zb1Y88w_0[2].kind = 1;
T_OyL9acDBDoBfMwa5zb1Y88w_0[2].offset = offsetof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q, prettycmds210473);
T_OyL9acDBDoBfMwa5zb1Y88w_0[2].typ = (&NTI_sM4lkSb7zS6F7OVMvW9cffQ);
T_OyL9acDBDoBfMwa5zb1Y88w_0[2].name = "prettyCmds210473";
T_OyL9acDBDoBfMwa5zb1Y88w_141[2] = &T_OyL9acDBDoBfMwa5zb1Y88w_0[3];
T_OyL9acDBDoBfMwa5zb1Y88w_0[3].kind = 1;
T_OyL9acDBDoBfMwa5zb1Y88w_0[3].offset = offsetof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q, cmds210456);
T_OyL9acDBDoBfMwa5zb1Y88w_0[3].typ = (&NTI_sM4lkSb7zS6F7OVMvW9cffQ);
T_OyL9acDBDoBfMwa5zb1Y88w_0[3].name = "cmds210456";
T_OyL9acDBDoBfMwa5zb1Y88w_0[0].len = 3; T_OyL9acDBDoBfMwa5zb1Y88w_0[0].kind = 2; T_OyL9acDBDoBfMwa5zb1Y88w_0[0].sons = &T_OyL9acDBDoBfMwa5zb1Y88w_141[0];
NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q.node = &T_OyL9acDBDoBfMwa5zb1Y88w_0[0];
NTI_9aChhsmkAU9a60Y9c9aFsT3atQ.size = sizeof(EnvextccompHEX2Enim720_vWbi9b6Jd14y77Z9ayYU9cE7Q*);
NTI_9aChhsmkAU9a60Y9c9aFsT3atQ.kind = 22;
NTI_9aChhsmkAU9a60Y9c9aFsT3atQ.base = (&NTI_vWbi9b6Jd14y77Z9ayYU9cE7Q);
NTI_9aChhsmkAU9a60Y9c9aFsT3atQ.flags = 2;
NTI_9aChhsmkAU9a60Y9c9aFsT3atQ.marker = Marker_TY_9aChhsmkAU9a60Y9c9aFsT3atQ;
}

