1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #include <dirent.h>
7 #include <setjmp.h>
8 #include <sys/types.h>
9 #include <sys/stat.h>
10 #include <time.h>
11 #include <glob.h>
12 #undef LANGUAGE_C
13 #undef MIPSEB
14 #undef MIPSEL
15 #undef PPC
16 #undef R3000
17 #undef R4000
18 #undef i386
19 #undef linux
20 #undef mips
21 #undef near
22 #undef far
23 #undef powerpc
24 #undef unix
25 #define nimfr_(x, y)
26 #define nimln_(x, y)
27 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
28 typedef struct NimStringDesc NimStringDesc;
29 typedef struct TGenericSeq TGenericSeq;
30 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
31 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
32 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
33 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
34 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
35 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
36 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
37 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
38 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
39 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
40 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
41 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
42 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
43 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
44 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
45 typedef struct TNimType TNimType;
46 typedef struct TNimNode TNimNode;
47 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
48 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
49 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
50 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
51 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
52 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
53 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
54 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
55 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
56 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
57 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
58 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
59 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
60 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
61 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
62 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
63 typedef struct tyObject_Table__d05ldtnZIkg8hVpY02dsdA tyObject_Table__d05ldtnZIkg8hVpY02dsdA;
64 typedef struct tySequence__6j25whH7XTBoIXcM0x1T7A tySequence__6j25whH7XTBoIXcM0x1T7A;
65 typedef struct Exception Exception;
66 typedef struct RootObj RootObj;
67 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
68 typedef struct TSafePoint TSafePoint;
69 typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
70 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
71 typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
72 typedef struct tyTuple__9cdgeqdY7FRioNKBoD6G66A tyTuple__9cdgeqdY7FRioNKBoD6G66A;
73 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
74 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
75 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
76 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
77 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
78 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
79 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
80 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
81 struct TGenericSeq {
82 NI len;
83 NI reserved;
84 };
85 struct NimStringDesc {
86 TGenericSeq Sup;
87 NIM_CHAR data[SEQ_DECL_SIZE];
88 };
89 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
90 NU16 line;
91 NI16 col;
92 NI32 fileIndex;
93 };
94 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
95 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
96 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
97 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
98 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
99 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
100 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
101 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
102 NI intSize;
103 NI floatSize;
104 NI ptrSize;
105 NimStringDesc* tnl;
106 };
107 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
108 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
109 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
110 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
111 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
112 NI counter;
113 };
114 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
115 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
116 NIM_BOOL trackPosAttached;
117 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
118 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
119 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
120 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
121 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
122 NI32 systemFileIdx;
123 };
124 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
125 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
126 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
127 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
128 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
129 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
130 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
131 NI counter;
132 };
133 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
134 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
135 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
136 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
137 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
138 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
139 NI Field0;
140 NI Field1;
141 NI Field2;
142 };
143 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
144 typedef struct {
145 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
146 void* ClE_0;
147 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
148 typedef struct {
149 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
150 void* ClE_0;
151 } tyProc__k2HFjxisIgDALbEUFojxaQ;
152 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
153 typedef struct {
154 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
155 void* ClE_0;
156 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
157 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
158 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
159 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
160 NI linesCompiled;
161 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
162 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
163 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
164 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
165 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
166 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
167 NimStringDesc* unitSep;
168 NI evalTemplateCounter;
169 NI evalMacroCounter;
170 NI8 exitcode;
171 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
172 NimStringDesc* cmdInput;
173 NIM_BOOL projectIsCmd;
174 NIM_BOOL implicitCmd;
175 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
176 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
177 NIM_BOOL hintProcessingDots;
178 NI verbosity;
179 NI numberOfProcessors;
180 NF lastCmdTime;
181 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
182 NI spellSuggestMax;
183 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
184 NimStringDesc* headerFile;
185 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
186 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
187 NimStringDesc* arguments;
188 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
189 NIM_BOOL oldNewlines;
190 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
191 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
192 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
193 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
194 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
195 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
196 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
197 NI mainPackageId;
198 NI errorCounter;
199 NI hintCounter;
200 NI warnCounter;
201 NI errorMax;
202 NI maxLoopIterationsVM;
203 NIM_BOOL isVmTrace;
204 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
205 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
206 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
207 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
208 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
209 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
210 NimStringDesc* outFile;
211 NimStringDesc* outDir;
212 NimStringDesc* jsonBuildFile;
213 NimStringDesc* prefixDir;
214 NimStringDesc* libpath;
215 NimStringDesc* nimcacheDir;
216 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
217 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
218 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
219 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
220 NimStringDesc* projectName;
221 NimStringDesc* projectPath;
222 NimStringDesc* projectFull;
223 NIM_BOOL projectIsStdin;
224 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
225 NI32 projectMainIdx;
226 NI32 projectMainIdx2;
227 NimStringDesc* command;
228 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
229 NimStringDesc* commandLine;
230 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
231 NIM_BOOL keepComments;
232 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
233 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
234 NimStringDesc* docSeeSrcUrl;
235 NimStringDesc* docRoot;
236 NimStringDesc* docCmd;
237 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
238 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
239 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
240 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
241 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
242 NimStringDesc* linkOptionsCmd;
243 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
244 NimStringDesc* linkOptions;
245 NimStringDesc* compileOptions;
246 NimStringDesc* cCompilerPath;
247 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
248 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
249 NI suggestVersion;
250 NI suggestMaxResults;
251 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
252 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
253 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
254 NimStringDesc* cppCustomNamespace;
255 NimStringDesc* nimMainPrefix;
256 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
257 };
258 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
259 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
260 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
261 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
262 struct TNimType {
263 NI size;
264 NI align;
265 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
266 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
267 TNimType* base;
268 TNimNode* node;
269 void* finalizer;
270 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
271 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
272 };
273 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
274 struct TNimNode {
275 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
276 NI offset;
277 TNimType* typ;
278 NCSTRING name;
279 NI len;
280 TNimNode** sons;
281 };
282 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
283 NI refcount;
284 TNimType* typ;
285 };
286 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
287 void* bottom;
288 };
289 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
290 NI len;
291 NI cap;
292 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
293 };
294 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
295 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
296 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
297 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
298 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
299 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
300 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
301 };
302 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
303 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
304 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
305 NI key;
306 NI upperBound;
307 NI level;
308 };
309 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
310 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
311 NI Field1;
312 };
313 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
314 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
315 NI len;
316 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
317 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
318 };
319 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
320 NI minLargeObj;
321 NI maxLargeObj;
322 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
323 NU32 flBitmap;
324 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
325 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
326 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
327 NI currMem;
328 NI maxMem;
329 NI freeMem;
330 NI occ;
331 NI lastSize;
332 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
333 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
334 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
335 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
336 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
337 NIM_BOOL locked;
338 NIM_BOOL blockChunkSizeIncrease;
339 NI nextChunkSize;
340 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
341 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
342 };
343 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
344 NI stackScans;
345 NI cycleCollections;
346 NI maxThreshold;
347 NI maxStackSize;
348 NI maxStackCells;
349 NI cycleTableSize;
350 NI64 maxPause;
351 };
352 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
353 NI counter;
354 NI max;
355 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
356 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
357 };
358 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
359 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
360 NI cycleThreshold;
361 NI zctThreshold;
362 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
363 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
364 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
365 NI recGcLock;
366 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
367 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
368 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
369 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
370 NI gcThreadId;
371 };
372 struct tyObject_Table__d05ldtnZIkg8hVpY02dsdA {
373 tySequence__6j25whH7XTBoIXcM0x1T7A* data;
374 NI counter;
375 };
376 typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
377 struct RootObj {
378 TNimType* m_type;
379 };
380 struct Exception {
381 RootObj Sup;
382 Exception* parent;
383 NCSTRING name;
384 NimStringDesc* message;
385 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
386 Exception* up;
387 };
388 struct TSafePoint {
389 TSafePoint* prev;
390 NI status;
391 jmp_buf context;
392 };
393 typedef NIM_CHAR tyArray__dTlC27m9c9aWd5dvuePYanug[256];
394 struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
395 NimStringDesc* Field0;
396 NimStringDesc* Field1;
397 NimStringDesc* Field2;
398 };
399 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
400 NI a;
401 NI b;
402 };
403 struct tyTuple__UV3llMMYFckfui8YMBuUZA {
404 NimStringDesc* Field0;
405 NimStringDesc* Field1;
406 };
407 struct tyTuple__9cdgeqdY7FRioNKBoD6G66A {
408 NI Field0;
409 NimStringDesc* Field1;
410 tyTuple__UV3llMMYFckfui8YMBuUZA Field2;
411 };
412 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
413 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
414 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
415 NimStringDesc* Field0;
416 NI Field1;
417 NI Field2;
418 };
419 typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
420 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
421 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
422 NimStringDesc* Field1;
423 };
424 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
425 NI Field0;
426 NimStringDesc* Field1;
427 NI32 Field2;
428 };
429 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
430 NimStringDesc* fullPath;
431 NimStringDesc* projPath;
432 NimStringDesc* shortName;
433 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
434 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
435 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
436 NimStringDesc* dirtyFile;
437 NimStringDesc* hash;
438 NIM_BOOL dirty;
439 };
440 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
441 NI Field0;
442 NimStringDesc* Field1;
443 };
444 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
445 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
446 NimStringDesc* nimname;
447 NimStringDesc* cname;
448 NimStringDesc* obj;
449 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
450 NimStringDesc* customArgs;
451 };
452 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
453 NCSTRING procname;
454 NI line;
455 NCSTRING filename;
456 };
457 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
458 TGenericSeq Sup;
459 NimStringDesc* data[SEQ_DECL_SIZE];
460 };
461 struct tySequence__6j25whH7XTBoIXcM0x1T7A {
462 TGenericSeq Sup;
463 tyTuple__9cdgeqdY7FRioNKBoD6G66A data[SEQ_DECL_SIZE];
464 };
465 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
466 TGenericSeq Sup;
467 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
468 };
469 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
470 TGenericSeq Sup;
471 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
472 };
473 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
474 TGenericSeq Sup;
475 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
476 };
477 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
478 TGenericSeq Sup;
479 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
480 };
481 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
482 TGenericSeq Sup;
483 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
484 };
485 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
486 TGenericSeq Sup;
487 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
488 };
489 static N_INLINE(NIM_BOOL, contains__nimblecmd_15)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
490 static N_INLINE(NI, find__nimblecmd_20)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
491 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___options_4073)(NimStringDesc* x, NimStringDesc* y);
492 N_LIB_PRIVATE N_NIMCALL(void, insert__nimblecmd_47)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i);
493 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
494 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
495 static N_INLINE(void, asgnRef)(void** dest, void* src);
496 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
497 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
498 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr);
499 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
500 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
501 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
502 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
503 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
504 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
505 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
506 N_LIB_PRIVATE N_NIMCALL(void, addPathRec__nimblecmd_2087)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* dir, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
507 static N_INLINE(void, nimZeroMem)(void* p, NI size);
508 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
509 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
510 N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo);
511 N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void);
512 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
513 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
514 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
515 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
516 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
517 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
518 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
519 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
520 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
521 N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1233)(NimStringDesc* path);
522 N_LIB_PRIVATE N_NIMCALL(void, addPackage__nimblecmd_206)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Table__d05ldtnZIkg8hVpY02dsdA* packages, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
523 N_LIB_PRIVATE N_NIMCALL(void, getPathVersionChecksum__nimblecmd_171)(NimStringDesc* p, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
524 N_LIB_PRIVATE N_NIMCALL(NI, nsuRFindChar)(NimStringDesc* s, NIM_CHAR sub, NI start, NI last);
525 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7747)(NimStringDesc* s, NI first);
526 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidSha1Hash__stdZsha49_949)(NimStringDesc* s);
527 N_LIB_PRIVATE N_NIMCALL(NI, nsuRFindStr)(NimStringDesc* s, NimStringDesc* sub, NI start, NI last);
528 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7735)(NimStringDesc* s, NI first, NI last);
529 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
530 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
531 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
532 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidVersion__nimblecmd_135)(NimStringDesc* v);
533 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, newVersion__nimblecmd_107)(NimStringDesc* ver);
534 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
535 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
536 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
537 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
538 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
539 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nimblecmd_146)(NimStringDesc* ver, NimStringDesc* ver2);
540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSpecial__nimblecmd_132)(NimStringDesc* ver);
541 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
542 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
543 N_LIB_PRIVATE N_NIMCALL(NI, npuParseInt)(NimStringDesc* s, NI* number, NI start);
544 N_LIB_PRIVATE N_NIMCALL(void, getOrDefault__nimblecmd_281)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
545 static N_INLINE(NI, rawGet__nimblecmd_290)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI* hc);
546 N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_279)(NimStringDesc* x);
547 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
548 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
549 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nimblecmd_623)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key);
550 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nimblecmd_676)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val);
551 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
552 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_177)(NI x);
553 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
554 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
555 static N_NIMCALL(void, Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)(void* p, NI op);
556 static N_INLINE(NIM_BOOL, mustRehash__nimblecmd_849)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t);
557 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nimblecmd_1002)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t);
558 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nimblecmd_1306)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, tySequence__6j25whH7XTBoIXcM0x1T7A** data, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val, NI hc, NI h);
559 static N_INLINE(NI, rawGetKnownHC__nimblecmd_1475)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI hc);
560 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
561 static N_INLINE(void, popSafePoint)(void);
562 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
563 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
564 N_LIB_PRIVATE N_NIMCALL(NI, len__nimblecmd_1808)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t);
565 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
566 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
567 N_LIB_PRIVATE N_NIMCALL(void, addNimblePath__nimblecmd_2053)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
568 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
569 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitLines)(NimStringDesc* s, NIM_BOOL keepEol);
570 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_469)(NimStringDesc* filename);
571 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
572 static N_INLINE(NI, find__nimblecmd_2112)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, NimStringDesc* item);
573 N_LIB_PRIVATE N_NIMCALL(void, delete__nimblecmd_2131)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NI i);
574 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
575 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_3, ".", 1);
576 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_4, "..", 2);
577 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_5, "-#", 2);
578 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_6, "nimblecmd.nim(26, 11) `ver.len == 0 or ver[0] in {\'#\', \'\\x00\'} + Digits` Wrong version: ", 88);
579 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_7, "#head", 5);
580 N_LIB_PRIVATE TNimType NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_;
581 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
582 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
583 N_LIB_PRIVATE TNimType NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_;
584 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_;
585 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_10, "invalid package name: ", 22);
586 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_12, "/home/runner/work/nightlies/nightlies/nim/compiler/nimblecmd.nim", 64);
587 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__asNQM9aynXXg9ccUABbReyew_11 = {((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_12),
588 ((NI) 113),
589 ((NI) 14)}
590 ;
591 STRING_LITERAL(TM__asNQM9aynXXg9ccUABbReyew_13, "*.nimble-link", 13);
592 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__asNQM9aynXXg9ccUABbReyew_15 = {((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_12),
593 ((NI) 139),
594 ((NI) 11)}
595 ;
596 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5209;
597 extern TSafePoint* excHandler__system_2565;
598 extern TSafePoint* excHandler__system_2565;
599 extern TSafePoint* excHandler__system_2565;
600 extern TSafePoint* excHandler__system_2565;
N_INLINE(NI,find__nimblecmd_20)601 static N_INLINE(NI, find__nimblecmd_20)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
602 NI result;
603 { result = (NI)0;
604 result = ((NI) 0);
605 {
606 NimStringDesc** i;
607 NI i_2;
608 i = (NimStringDesc**)0;
609 i_2 = ((NI) 0);
610 {
611 while (1) {
612 if (!(i_2 < aLen_0)) goto LA3;
613 i = (&a[i_2]);
614 {
615 NIM_BOOL T6_;
616 T6_ = (NIM_BOOL)0;
617 T6_ = eqeq___options_4073((*i), item);
618 if (!T6_) goto LA7_;
619 goto BeforeRet_;
620 }
621 LA7_: ;
622 result += ((NI) 1);
623 i_2 += ((NI) 1);
624 } LA3: ;
625 }
626 }
627 result = ((NI) -1);
628 }BeforeRet_: ;
629 return result;
630 }
N_INLINE(NIM_BOOL,contains__nimblecmd_15)631 static N_INLINE(NIM_BOOL, contains__nimblecmd_15)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
632 NIM_BOOL result;
633 NI T1_;
634 { result = (NIM_BOOL)0;
635 T1_ = (NI)0;
636 T1_ = find__nimblecmd_20(a, aLen_0, item);
637 result = (((NI) 0) <= T1_);
638 goto BeforeRet_;
639 }BeforeRet_: ;
640 return result;
641 }
N_INLINE(NI,pluspercent___system_696)642 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
643 NI result;
644 result = (NI)0;
645 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
646 return result;
647 }
N_INLINE(void,incRef__system_5300)648 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
649 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
650 }
N_INLINE(NI,minuspercent___system_716)651 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
652 NI result;
653 result = (NI)0;
654 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
655 return result;
656 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5262)657 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr) {
658 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
659 NI T1_;
660 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
661 T1_ = (NI)0;
662 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
663 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
664 return result;
665 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)666 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
667 NIM_BOOL result;
668 result = (NIM_BOOL)0;
669 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
670 return result;
671 }
N_INLINE(void,rtlAddZCT__system_5305)672 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
673 addZCT__system_5256((&gch__system_5209.zct), c);
674 }
N_INLINE(void,decRef__system_5307)675 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
676 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
677 {
678 NIM_BOOL T3_;
679 T3_ = (NIM_BOOL)0;
680 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
681 if (!T3_) goto LA4_;
682 rtlAddZCT__system_5305(c);
683 }
684 LA4_: ;
685 }
N_INLINE(void,asgnRef)686 static N_INLINE(void, asgnRef)(void** dest, void* src) {
687 {
688 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
689 if (!!((src == NIM_NIL))) goto LA3_;
690 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
691 T5_ = usrToCell__system_5262(src);
692 incRef__system_5300(T5_);
693 }
694 LA3_: ;
695 {
696 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
697 if (!!(((*dest) == NIM_NIL))) goto LA8_;
698 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
699 T10_ = usrToCell__system_5262((*dest));
700 decRef__system_5307(T10_);
701 }
702 LA8_: ;
703 (*dest) = src;
704 }
N_INLINE(void,nimGCunrefNoCycle)705 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
706 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
707 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
708 T1_ = usrToCell__system_5262(p);
709 decRef__system_5307(T1_);
710 }
N_NIMCALL(void,insert__nimblecmd_47)711 N_LIB_PRIVATE N_NIMCALL(void, insert__nimblecmd_47)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NimStringDesc* item, NI i) {
712 NI xlX60gensym1_;
713 NI T1_;
714 NI jX60gensym1_;
715 NimStringDesc* T4_;
716 T1_ = ((*x) ? (*x)->Sup.len : 0);
717 xlX60gensym1_ = T1_;
718 unsureAsgnRef((void**) (&(*x)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) ((NI)(xlX60gensym1_ + ((NI) 1))))));
719 jX60gensym1_ = (NI)(xlX60gensym1_ - ((NI) 1));
720 {
721 while (1) {
722 if (!(((NI) (i)) <= jX60gensym1_)) goto LA3;
723 asgnRef((void**) (&(*x)->data[(NI)(jX60gensym1_ + ((NI) 1))]), (*x)->data[jX60gensym1_]);
724 jX60gensym1_ -= ((NI) 1);
725 } LA3: ;
726 }
727 T4_ = NIM_NIL;
728 T4_ = (*x)->data[i]; (*x)->data[i] = copyStringRC1(item);
729 if (T4_) nimGCunrefNoCycle(T4_);
730 }
N_NIMCALL(void,addPath__nimblecmd_11)731 N_LIB_PRIVATE N_NIMCALL(void, addPath__nimblecmd_11)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
732 {
733 NIM_BOOL T3_;
734 T3_ = (NIM_BOOL)0;
735 T3_ = contains__nimblecmd_15((*conf).searchPaths->data, ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0), path);
736 if (!!(T3_)) goto LA4_;
737 insert__nimblecmd_47((&(*conf).searchPaths), path, ((NI) 0));
738 }
739 LA4_: ;
740 }
N_INLINE(void,nimSetMem__systemZmemory_7)741 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
742 void* T1_;
743 T1_ = (void*)0;
744 T1_ = memset(a, v, ((size_t) (size)));
745 }
N_INLINE(void,nimZeroMem)746 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
747 nimSetMem__systemZmemory_7(p, ((int) 0), size);
748 }
N_INLINE(NCSTRING,nimToCStringConv)749 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
750 NCSTRING result;
751 result = (NCSTRING)0;
752 {
753 NIM_BOOL T3_;
754 T3_ = (NIM_BOOL)0;
755 T3_ = (s == ((NimStringDesc*) NIM_NIL));
756 if (T3_) goto LA4_;
757 T3_ = ((*s).Sup.len == ((NI) 0));
758 LA4_: ;
759 if (!T3_) goto LA5_;
760 result = "";
761 }
762 goto LA1_;
763 LA5_: ;
764 {
765 result = ((NCSTRING) ((*s).data));
766 }
767 LA1_: ;
768 return result;
769 }
N_INLINE(void,pushSafePoint)770 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
771 (*s).prev = excHandler__system_2565;
772 excHandler__system_2565 = s;
773 }
N_INLINE(int,nimCmpMem)774 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
775 int result;
776 result = (int)0;
777 result = memcmp(a, b, ((size_t) (size)));
778 return result;
779 }
N_INLINE(NIM_BOOL,equalMem__system_1735)780 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
781 NIM_BOOL result;
782 int T1_;
783 result = (NIM_BOOL)0;
784 T1_ = (int)0;
785 T1_ = nimCmpMem(a, b, size);
786 result = (T1_ == ((NI32) 0));
787 return result;
788 }
N_INLINE(NIM_BOOL,eqStrings)789 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
790 NIM_BOOL result;
791 NI alen;
792 NI blen;
793 { result = (NIM_BOOL)0;
794 alen = (a ? a->Sup.len : 0);
795 blen = (b ? b->Sup.len : 0);
796 {
797 if (!(alen == blen)) goto LA3_;
798 {
799 if (!(alen == ((NI) 0))) goto LA7_;
800 result = NIM_TRUE;
801 goto BeforeRet_;
802 }
803 LA7_: ;
804 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
805 goto BeforeRet_;
806 }
807 LA3_: ;
808 }BeforeRet_: ;
809 return result;
810 }
N_INLINE(NimStringDesc *,slash___pureZos_121)811 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
812 NimStringDesc* result;
813 result = NIM_NIL;
814 result = nosjoinPath(head, tail);
815 return result;
816 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_865)817 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
818 NimStringDesc* result;
819 NI a;
820 NI L;
821 result = NIM_NIL;
822 a = x.a;
823 L = (NI)((NI)(x.b - a) + ((NI) 1));
824 result = mnewString(((NI) (L)));
825 {
826 NI i;
827 NI i_2;
828 i = (NI)0;
829 i_2 = ((NI) 0);
830 {
831 while (1) {
832 if (!(i_2 < L)) goto LA3;
833 i = i_2;
834 result->data[i] = s->data[(NI)(i + a)];
835 i_2 += ((NI) 1);
836 } LA3: ;
837 }
838 }
839 return result;
840 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)841 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
842 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
843 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
844 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
845 result.a = a;
846 result.b = b;
847 return result;
848 }
N_NIMCALL(void,getPathVersionChecksum__nimblecmd_171)849 N_LIB_PRIVATE N_NIMCALL(void, getPathVersionChecksum__nimblecmd_171)(NimStringDesc* p, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
850 NI checksumSeparatorIndex;
851 NI versionSeparatorIndex;
852 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T21_;
853 unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
854 unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
855 unsureAsgnRef((void**)&(*Result).Field2, NIM_NIL);
856 checksumSeparatorIndex = nsuRFindChar(p, 45, ((NI) 0), ((NI) -1));
857 {
858 if (!!((checksumSeparatorIndex == ((NI) -1)))) goto LA3_;
859 unsureAsgnRef((void**) (&(*Result).Field2), substr__system_7747(p, (NI)(checksumSeparatorIndex + ((NI) 1))));
860 {
861 NIM_BOOL T7_;
862 T7_ = (NIM_BOOL)0;
863 T7_ = isValidSha1Hash__stdZsha49_949((*Result).Field2);
864 if (!!(T7_)) goto LA8_;
865 unsureAsgnRef((void**) (&(*Result).Field2), ((NimStringDesc*) NIM_NIL));
866 checksumSeparatorIndex = (p ? p->Sup.len : 0);
867 }
868 LA8_: ;
869 }
870 goto LA1_;
871 LA3_: ;
872 {
873 checksumSeparatorIndex = (p ? p->Sup.len : 0);
874 }
875 LA1_: ;
876 versionSeparatorIndex = nsuRFindStr(p, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_5), ((NI) 0), (NI)(checksumSeparatorIndex - ((NI) 1)));
877 {
878 if (!!((versionSeparatorIndex == ((NI) -1)))) goto LA13_;
879 unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7735(p, (NI)(versionSeparatorIndex + ((NI) 1)), (NI)(checksumSeparatorIndex - ((NI) 1))));
880 }
881 goto LA11_;
882 LA13_: ;
883 {
884 versionSeparatorIndex = nsuRFindChar(p, 45, ((NI) 0), (NI)(checksumSeparatorIndex - ((NI) 1)));
885 {
886 if (!!((versionSeparatorIndex == ((NI) -1)))) goto LA18_;
887 unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7735(p, (NI)(versionSeparatorIndex + ((NI) 1)), (NI)(checksumSeparatorIndex - ((NI) 1))));
888 }
889 goto LA16_;
890 LA18_: ;
891 {
892 versionSeparatorIndex = checksumSeparatorIndex;
893 }
894 LA16_: ;
895 }
896 LA11_: ;
897 T21_ = dotdot___pureZunicode_840(((NI) 0), (NI)(versionSeparatorIndex - ((NI) 1)));
898 unsureAsgnRef((void**) (&(*Result).Field0), X5BX5D___pureZunicode_865(p, T21_));
899 }
N_NIMCALL(NIM_BOOL,isValidVersion__nimblecmd_135)900 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidVersion__nimblecmd_135)(NimStringDesc* v) {
901 NIM_BOOL result;
902 { result = (NIM_BOOL)0;
903 {
904 if (!(((NI) 0) < (v ? v->Sup.len : 0))) goto LA3_;
905 {
906 if (!(((NU8)(v->data[((NI) 0)])) == ((NU8)(35)) || ((NU8)(v->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(v->data[((NI) 0)])) <= ((NU8)(57)))) goto LA7_;
907 result = NIM_TRUE;
908 goto BeforeRet_;
909 }
910 LA7_: ;
911 }
912 LA3_: ;
913 }BeforeRet_: ;
914 return result;
915 }
N_INLINE(void,nimCopyMem)916 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
917 void* T1_;
918 T1_ = (void*)0;
919 T1_ = memcpy(dest, source, ((size_t) (size)));
920 }
N_INLINE(void,copyMem__system_1727)921 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
922 nimCopyMem(dest, source, size);
923 }
N_INLINE(void,appendString)924 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
925 {
926 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
927 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
928 (*dest).Sup.len += (*src).Sup.len;
929 }
930 LA3_: ;
931 }
N_NIMCALL(NimStringDesc *,newVersion__nimblecmd_107)932 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, newVersion__nimblecmd_107)(NimStringDesc* ver) {
933 NimStringDesc* result;
934 { result = NIM_NIL;
935 {
936 NIM_BOOL T3_;
937 NimStringDesc* T7_;
938 T3_ = (NIM_BOOL)0;
939 T3_ = ((ver ? ver->Sup.len : 0) == ((NI) 0));
940 if (T3_) goto LA4_;
941 T3_ = (((NU8)(ver->data[((NI) 0)])) == ((NU8)(0)) || ((NU8)(ver->data[((NI) 0)])) == ((NU8)(35)) || ((NU8)(ver->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ver->data[((NI) 0)])) <= ((NU8)(57)));
942 LA4_: ;
943 if (!!(T3_)) goto LA5_;
944 T7_ = NIM_NIL;
945 T7_ = rawNewString((ver ? ver->Sup.len : 0) + 88);
946 appendString(T7_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_6));
947 appendString(T7_, ver);
948 failedAssertImpl__systemZassertions_56(T7_);
949 }
950 LA5_: ;
951 result = copyString(ver);
952 goto BeforeRet_;
953 }BeforeRet_: ;
954 return result;
955 }
N_NIMCALL(NIM_BOOL,isSpecial__nimblecmd_132)956 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSpecial__nimblecmd_132)(NimStringDesc* ver) {
957 NIM_BOOL result;
958 NIM_BOOL T1_;
959 { result = (NIM_BOOL)0;
960 T1_ = (NIM_BOOL)0;
961 T1_ = (((NI) 0) < (ver ? ver->Sup.len : 0));
962 if (!(T1_)) goto LA2_;
963 T1_ = ((NU8)(ver->data[((NI) 0)]) == (NU8)(35));
964 LA2_: ;
965 result = T1_;
966 goto BeforeRet_;
967 }BeforeRet_: ;
968 return result;
969 }
N_NIMCALL(NIM_BOOL,lt___nimblecmd_146)970 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nimblecmd_146)(NimStringDesc* ver, NimStringDesc* ver2) {
971 NIM_BOOL result;
972 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sVer;
973 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* sVer2;
974 { result = (NIM_BOOL)0;
975 {
976 NIM_BOOL T3_;
977 T3_ = (NIM_BOOL)0;
978 T3_ = isSpecial__nimblecmd_132(ver);
979 if (T3_) goto LA4_;
980 T3_ = isSpecial__nimblecmd_132(ver2);
981 LA4_: ;
982 if (!T3_) goto LA5_;
983 {
984 NIM_BOOL T9_;
985 NimStringDesc* T11_;
986 NimStringDesc* T14_;
987 T9_ = (NIM_BOOL)0;
988 T9_ = isSpecial__nimblecmd_132(ver2);
989 if (!(T9_)) goto LA10_;
990 T11_ = NIM_NIL;
991 T11_ = nsuNormalize(ver2);
992 T9_ = eqStrings(T11_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7));
993 LA10_: ;
994 if (!T9_) goto LA12_;
995 T14_ = NIM_NIL;
996 T14_ = nsuNormalize(ver);
997 result = !(eqStrings(T14_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7)));
998 goto BeforeRet_;
999 }
1000 LA12_: ;
1001 {
1002 NIM_BOOL T17_;
1003 NimStringDesc* T20_;
1004 T17_ = (NIM_BOOL)0;
1005 T17_ = isSpecial__nimblecmd_132(ver2);
1006 if (!!(T17_)) goto LA18_;
1007 T20_ = NIM_NIL;
1008 T20_ = nsuNormalize(ver);
1009 result = !(eqStrings(T20_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_7)));
1010 goto BeforeRet_;
1011 }
1012 LA18_: ;
1013 }
1014 LA5_: ;
1015 sVer = nsuSplitChar(ver, 46, ((NI) -1));
1016 sVer2 = nsuSplitChar(ver2, 46, ((NI) -1));
1017 {
1018 NI i;
1019 NI colontmp_;
1020 NI T22_;
1021 NI T23_;
1022 NI i_2;
1023 i = (NI)0;
1024 colontmp_ = (NI)0;
1025 T22_ = (sVer ? sVer->Sup.len : 0);
1026 T23_ = (sVer2 ? sVer2->Sup.len : 0);
1027 colontmp_ = ((T22_ >= T23_) ? T22_ : T23_);
1028 i_2 = ((NI) 0);
1029 {
1030 while (1) {
1031 NI sVerI;
1032 NI sVerI2;
1033 if (!(i_2 < colontmp_)) goto LA25;
1034 i = i_2;
1035 sVerI = ((NI) 0);
1036 {
1037 NI T28_;
1038 NI T31_;
1039 T28_ = (sVer ? sVer->Sup.len : 0);
1040 if (!(i < T28_)) goto LA29_;
1041 T31_ = (NI)0;
1042 T31_ = npuParseInt(sVer->data[i], (&sVerI), ((NI) 0));
1043 (void)(T31_);
1044 }
1045 LA29_: ;
1046 sVerI2 = ((NI) 0);
1047 {
1048 NI T34_;
1049 NI T37_;
1050 T34_ = (sVer2 ? sVer2->Sup.len : 0);
1051 if (!(i < T34_)) goto LA35_;
1052 T37_ = (NI)0;
1053 T37_ = npuParseInt(sVer2->data[i], (&sVerI2), ((NI) 0));
1054 (void)(T37_);
1055 }
1056 LA35_: ;
1057 {
1058 if (!(sVerI < sVerI2)) goto LA40_;
1059 result = NIM_TRUE;
1060 goto BeforeRet_;
1061 }
1062 goto LA38_;
1063 LA40_: ;
1064 {
1065 if (!(sVerI == sVerI2)) goto LA43_;
1066 }
1067 goto LA38_;
1068 LA43_: ;
1069 {
1070 result = NIM_FALSE;
1071 goto BeforeRet_;
1072 }
1073 LA38_: ;
1074 i_2 += ((NI) 1);
1075 } LA25: ;
1076 }
1077 }
1078 }BeforeRet_: ;
1079 return result;
1080 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1081 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1082 NIM_BOOL result;
1083 result = (NIM_BOOL)0;
1084 result = !((hcode == ((NI) 0)));
1085 return result;
1086 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1087 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1088 NI result;
1089 result = (NI)0;
1090 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1091 return result;
1092 }
N_INLINE(NI,rawGet__nimblecmd_290)1093 static N_INLINE(NI, rawGet__nimblecmd_290)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI* hc) {
1094 NI result;
1095 NI h;
1096 NI T10_;
1097 { result = (NI)0;
1098 (*hc) = hash__pureZhashes_279(key);
1099 {
1100 if (!((*hc) == ((NI) 0))) goto LA3_;
1101 (*hc) = ((NI) 314159265);
1102 }
1103 LA3_: ;
1104 {
1105 NI T7_;
1106 T7_ = (t.data ? t.data->Sup.len : 0);
1107 if (!(T7_ == ((NI) 0))) goto LA8_;
1108 result = ((NI) -1);
1109 goto BeforeRet_;
1110 }
1111 LA8_: ;
1112 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1113 h = (NI)((*hc) & T10_);
1114 {
1115 while (1) {
1116 NIM_BOOL T13_;
1117 NI T20_;
1118 T13_ = (NIM_BOOL)0;
1119 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1120 if (!T13_) goto LA12;
1121 {
1122 NIM_BOOL T16_;
1123 T16_ = (NIM_BOOL)0;
1124 T16_ = (t.data->data[h].Field0 == (*hc));
1125 if (!(T16_)) goto LA17_;
1126 T16_ = eqStrings(t.data->data[h].Field1, key);
1127 LA17_: ;
1128 if (!T16_) goto LA18_;
1129 result = h;
1130 goto BeforeRet_;
1131 }
1132 LA18_: ;
1133 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1134 h = nextTry__pureZcollectionsZtables_34(h, T20_);
1135 } LA12: ;
1136 }
1137 result = (NI)(((NI) -1) - h);
1138 }BeforeRet_: ;
1139 return result;
1140 }
N_NIMCALL(void,getOrDefault__nimblecmd_281)1141 N_LIB_PRIVATE N_NIMCALL(void, getOrDefault__nimblecmd_281)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
1142 NI hcX60gensym14_;
1143 NI indexX60gensym14_;
1144 unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
1145 unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
1146 hcX60gensym14_ = (NI)0;
1147 indexX60gensym14_ = rawGet__nimblecmd_290(t, key, (&hcX60gensym14_));
1148 {
1149 if (!(((NI) 0) <= indexX60gensym14_)) goto LA3_;
1150 unsureAsgnRef((void**) (&(*Result).Field0), copyString(t.data->data[indexX60gensym14_].Field2.Field0));
1151 unsureAsgnRef((void**) (&(*Result).Field1), copyString(t.data->data[indexX60gensym14_].Field2.Field1));
1152 }
1153 LA3_: ;
1154 }
N_NIMCALL(NIM_BOOL,hasKey__nimblecmd_623)1155 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nimblecmd_623)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key) {
1156 NIM_BOOL result;
1157 NI hc;
1158 NI T1_;
1159 result = (NIM_BOOL)0;
1160 hc = (NI)0;
1161 T1_ = (NI)0;
1162 T1_ = rawGet__nimblecmd_290(t, key, (&hc));
1163 result = (((NI) 0) <= T1_);
1164 return result;
1165 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1166 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1167 NI result;
1168 result = (NI)0;
1169 result = nextPowerOfTwo__pureZmath_177((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1170 return result;
1171 }
N_NIMCALL(void,Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)1172 static N_NIMCALL(void, Marker_tySequence__6j25whH7XTBoIXcM0x1T7A)(void* p, NI op) {
1173 tySequence__6j25whH7XTBoIXcM0x1T7A* a;
1174 NI T1_;
1175 a = (tySequence__6j25whH7XTBoIXcM0x1T7A*)p;
1176 T1_ = (NI)0;
1177 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1178 nimGCvisit((void*)a->data[T1_].Field1, op);
1179 nimGCvisit((void*)a->data[T1_].Field2.Field0, op);
1180 nimGCvisit((void*)a->data[T1_].Field2.Field1, op);
1181 }
1182 }
N_INLINE(NIM_BOOL,mustRehash__nimblecmd_849)1183 static N_INLINE(NIM_BOOL, mustRehash__nimblecmd_849)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t) {
1184 NIM_BOOL result;
1185 NIM_BOOL T1_;
1186 NI T2_;
1187 NI T4_;
1188 result = (NIM_BOOL)0;
1189 T1_ = (NIM_BOOL)0;
1190 T2_ = (t.data ? t.data->Sup.len : 0);
1191 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1192 if (T1_) goto LA3_;
1193 T4_ = (t.data ? t.data->Sup.len : 0);
1194 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1195 LA3_: ;
1196 result = T1_;
1197 return result;
1198 }
N_NIMCALL(void,rawInsert__nimblecmd_1306)1199 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nimblecmd_1306)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, tySequence__6j25whH7XTBoIXcM0x1T7A** data, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val, NI hc, NI h) {
1200 NimStringDesc* T1_;
1201 NimStringDesc* T2_;
1202 NimStringDesc* T3_;
1203 T1_ = NIM_NIL;
1204 T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
1205 if (T1_) nimGCunrefNoCycle(T1_);
1206 T2_ = NIM_NIL;
1207 T2_ = (*data)->data[h].Field2.Field0; (*data)->data[h].Field2.Field0 = copyStringRC1(val.Field0);
1208 if (T2_) nimGCunrefNoCycle(T2_);
1209 T3_ = NIM_NIL;
1210 T3_ = (*data)->data[h].Field2.Field1; (*data)->data[h].Field2.Field1 = copyStringRC1(val.Field1);
1211 if (T3_) nimGCunrefNoCycle(T3_);
1212 (*data)->data[h].Field0 = hc;
1213 }
N_NIMCALL(void,enlarge__nimblecmd_1002)1214 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nimblecmd_1002)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t) {
1215 tySequence__6j25whH7XTBoIXcM0x1T7A* n;
1216 NI T1_;
1217 tySequence__6j25whH7XTBoIXcM0x1T7A* T2_;
1218 n = NIM_NIL;
1219 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1220 n = (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1221 T2_ = NIM_NIL;
1222 T2_ = (*t).data;
1223 unsureAsgnRef((void**) (&(*t).data), n);
1224 n = T2_;
1225 {
1226 NI i;
1227 NI colontmp_;
1228 NI T4_;
1229 NI res;
1230 i = (NI)0;
1231 colontmp_ = (NI)0;
1232 T4_ = ((n ? n->Sup.len : 0)-1);
1233 colontmp_ = T4_;
1234 res = ((NI) 0);
1235 {
1236 while (1) {
1237 NI eh;
1238 if (!(res <= colontmp_)) goto LA6;
1239 i = res;
1240 eh = n->data[i].Field0;
1241 {
1242 NIM_BOOL T9_;
1243 NI j;
1244 NI T12_;
1245 NimStringDesc* T17_;
1246 tyTuple__UV3llMMYFckfui8YMBuUZA T18_;
1247 T9_ = (NIM_BOOL)0;
1248 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1249 if (!T9_) goto LA10_;
1250 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1251 j = (NI)(eh & T12_);
1252 {
1253 while (1) {
1254 NIM_BOOL T15_;
1255 NI T16_;
1256 T15_ = (NIM_BOOL)0;
1257 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1258 if (!T15_) goto LA14;
1259 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1260 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1261 } LA14: ;
1262 }
1263 T17_ = NIM_NIL;
1264 T17_ = n->data[i].Field1;
1265 asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
1266 nimZeroMem((void*)(&T18_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1267 T18_.Field0 = n->data[i].Field2.Field0;
1268 T18_.Field1 = n->data[i].Field2.Field1;
1269 unsureAsgnRef((void**)&n->data[i].Field2.Field0, NIM_NIL);
1270 unsureAsgnRef((void**)&n->data[i].Field2.Field1, NIM_NIL);
1271 rawInsert__nimblecmd_1306(t, (&(*t).data), T17_, T18_, eh, j);
1272 }
1273 LA10_: ;
1274 res += ((NI) 1);
1275 } LA6: ;
1276 }
1277 }
1278 }
N_INLINE(NI,rawGetKnownHC__nimblecmd_1475)1279 static N_INLINE(NI, rawGetKnownHC__nimblecmd_1475)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t, NimStringDesc* key, NI hc) {
1280 NI result;
1281 NI h;
1282 NI T6_;
1283 { result = (NI)0;
1284 {
1285 NI T3_;
1286 T3_ = (t.data ? t.data->Sup.len : 0);
1287 if (!(T3_ == ((NI) 0))) goto LA4_;
1288 result = ((NI) -1);
1289 goto BeforeRet_;
1290 }
1291 LA4_: ;
1292 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1293 h = (NI)(hc & T6_);
1294 {
1295 while (1) {
1296 NIM_BOOL T9_;
1297 NI T16_;
1298 T9_ = (NIM_BOOL)0;
1299 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1300 if (!T9_) goto LA8;
1301 {
1302 NIM_BOOL T12_;
1303 T12_ = (NIM_BOOL)0;
1304 T12_ = (t.data->data[h].Field0 == hc);
1305 if (!(T12_)) goto LA13_;
1306 T12_ = eqStrings(t.data->data[h].Field1, key);
1307 LA13_: ;
1308 if (!T12_) goto LA14_;
1309 result = h;
1310 goto BeforeRet_;
1311 }
1312 LA14_: ;
1313 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1314 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1315 } LA8: ;
1316 }
1317 result = (NI)(((NI) -1) - h);
1318 }BeforeRet_: ;
1319 return result;
1320 }
N_NIMCALL(void,X5BX5Deq___nimblecmd_676)1321 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nimblecmd_676)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA* t, NimStringDesc* key, tyTuple__UV3llMMYFckfui8YMBuUZA val) {
1322 NI hc;
1323 NI index;
1324 {
1325 NI T3_;
1326 NI correctSizeX60gensym19_;
1327 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1328 if (!(T3_ == ((NI) 0))) goto LA4_;
1329 correctSizeX60gensym19_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1330 (*t).counter = ((NI) 0);
1331 unsureAsgnRef((void**) (&(*t).data), (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) (correctSizeX60gensym19_))));
1332 }
1333 LA4_: ;
1334 hc = (NI)0;
1335 index = rawGet__nimblecmd_290((*t), key, (&hc));
1336 {
1337 NimStringDesc* T10_;
1338 NimStringDesc* T11_;
1339 if (!(((NI) 0) <= index)) goto LA8_;
1340 T10_ = NIM_NIL;
1341 T10_ = (*t).data->data[index].Field2.Field0; (*t).data->data[index].Field2.Field0 = copyStringRC1(val.Field0);
1342 if (T10_) nimGCunrefNoCycle(T10_);
1343 T11_ = NIM_NIL;
1344 T11_ = (*t).data->data[index].Field2.Field1; (*t).data->data[index].Field2.Field1 = copyStringRC1(val.Field1);
1345 if (T11_) nimGCunrefNoCycle(T11_);
1346 }
1347 goto LA6_;
1348 LA8_: ;
1349 {
1350 {
1351 NI T15_;
1352 NI correctSizeX60gensym22_;
1353 T15_ = ((*t).data ? (*t).data->Sup.len : 0);
1354 if (!(T15_ == ((NI) 0))) goto LA16_;
1355 correctSizeX60gensym22_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1356 (*t).counter = ((NI) 0);
1357 unsureAsgnRef((void**) (&(*t).data), (tySequence__6j25whH7XTBoIXcM0x1T7A*) newSeq((&NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_), ((NI) (correctSizeX60gensym22_))));
1358 }
1359 LA16_: ;
1360 {
1361 NIM_BOOL T20_;
1362 T20_ = (NIM_BOOL)0;
1363 T20_ = mustRehash__nimblecmd_849((*t));
1364 if (!T20_) goto LA21_;
1365 enlarge__nimblecmd_1002(t);
1366 index = rawGetKnownHC__nimblecmd_1475((*t), key, hc);
1367 }
1368 LA21_: ;
1369 index = (NI)(((NI) -1) - index);
1370 rawInsert__nimblecmd_1306(t, (&(*t).data), key, val, hc, index);
1371 (*t).counter += ((NI) 1);
1372 }
1373 LA6_: ;
1374 }
N_NIMCALL(void,addPackage__nimblecmd_206)1375 N_LIB_PRIVATE N_NIMCALL(void, addPackage__nimblecmd_206)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_Table__d05ldtnZIkg8hVpY02dsdA* packages, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1376 tyTuple__7q7q3E6Oj24ZNVJb9aonhAg T1_;
1377 NimStringDesc* name;
1378 NimStringDesc* ver;
1379 NimStringDesc* checksum;
1380 nimZeroMem((void*)(&T1_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
1381 getPathVersionChecksum__nimblecmd_171(p, (&T1_));
1382 name = NIM_NIL;
1383 name = T1_.Field0;
1384 ver = NIM_NIL;
1385 ver = T1_.Field1;
1386 checksum = NIM_NIL;
1387 checksum = T1_.Field2;
1388 {
1389 NIM_BOOL T4_;
1390 NimStringDesc* version;
1391 T4_ = (NIM_BOOL)0;
1392 T4_ = isValidVersion__nimblecmd_135(ver);
1393 if (!T4_) goto LA5_;
1394 version = newVersion__nimblecmd_107(ver);
1395 {
1396 NIM_BOOL T9_;
1397 tyTuple__UV3llMMYFckfui8YMBuUZA T10_;
1398 NimStringDesc* T11_;
1399 NIM_BOOL T13_;
1400 T9_ = (NIM_BOOL)0;
1401 nimZeroMem((void*)(&T10_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1402 getOrDefault__nimblecmd_281((*packages), name, (&T10_));
1403 T11_ = NIM_NIL;
1404 T11_ = newVersion__nimblecmd_107(T10_.Field0);
1405 T9_ = lt___nimblecmd_146(T11_, version);
1406 if (T9_) goto LA12_;
1407 T13_ = (NIM_BOOL)0;
1408 T13_ = hasKey__nimblecmd_623((*packages), name);
1409 T9_ = !(T13_);
1410 LA12_: ;
1411 if (!T9_) goto LA14_;
1412 {
1413 NIM_BOOL T18_;
1414 tyTuple__UV3llMMYFckfui8YMBuUZA T21_;
1415 T18_ = (NIM_BOOL)0;
1416 T18_ = isValidSha1Hash__stdZsha49_949(checksum);
1417 if (!T18_) goto LA19_;
1418 nimZeroMem((void*)(&T21_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1419 T21_.Field0 = copyString(version);
1420 T21_.Field1 = copyString(checksum);
1421 X5BX5Deq___nimblecmd_676(packages, name, T21_);
1422 }
1423 goto LA16_;
1424 LA19_: ;
1425 {
1426 tyTuple__UV3llMMYFckfui8YMBuUZA T23_;
1427 nimZeroMem((void*)(&T23_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1428 T23_.Field0 = copyString(version);
1429 T23_.Field1 = ((NimStringDesc*) NIM_NIL);
1430 X5BX5Deq___nimblecmd_676(packages, name, T23_);
1431 }
1432 LA16_: ;
1433 }
1434 LA14_: ;
1435 }
1436 goto LA2_;
1437 LA5_: ;
1438 {
1439 NimStringDesc* T25_;
1440 T25_ = NIM_NIL;
1441 T25_ = rawNewString((p ? p->Sup.len : 0) + 22);
1442 appendString(T25_, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_10));
1443 appendString(T25_, p);
1444 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__asNQM9aynXXg9ccUABbReyew_11, NIM_FALSE);
1445 }
1446 LA2_: ;
1447 }
N_INLINE(void,popSafePoint)1448 static N_INLINE(void, popSafePoint)(void) {
1449 excHandler__system_2565 = (*excHandler__system_2565).prev;
1450 }
N_NIMCALL(NI,len__nimblecmd_1808)1451 N_LIB_PRIVATE N_NIMCALL(NI, len__nimblecmd_1808)(tyObject_Table__d05ldtnZIkg8hVpY02dsdA t) {
1452 NI result;
1453 result = (NI)0;
1454 result = t.counter;
1455 return result;
1456 }
N_NIMCALL(void,addNimblePath__nimblecmd_2053)1457 N_LIB_PRIVATE N_NIMCALL(void, addNimblePath__nimblecmd_2053)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* p, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1458 NimStringDesc* path;
1459 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimbleLinks;
1460 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* resultX60gensym38_;
1461 path = copyString(p);
1462 resultX60gensym38_ = NIM_NIL;
1463 {
1464 NimStringDesc* xX60gensym38_;
1465 NimStringDesc* colontmp_;
1466 glob_t fX60gensym132_;
1467 NI resX60gensym132_;
1468 int T2_;
1469 TSafePoint TM__asNQM9aynXXg9ccUABbReyew_14;
1470 xX60gensym38_ = NIM_NIL;
1471 colontmp_ = NIM_NIL;
1472 colontmp_ = slash___pureZos_121(p, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_13));
1473 nimZeroMem((void*)(&fX60gensym132_), sizeof(glob_t));
1474 resX60gensym132_ = (NI)0;
1475 fX60gensym132_.gl_offs = ((NI) 0);
1476 fX60gensym132_.gl_pathc = ((NI) 0);
1477 fX60gensym132_.gl_pathv = ((NCSTRING*) NIM_NIL);
1478 T2_ = (int)0;
1479 T2_ = glob(nimToCStringConv(colontmp_), ((int) 0), NIM_NIL, (&fX60gensym132_));
1480 resX60gensym132_ = ((NI) (T2_));
1481 pushSafePoint(&TM__asNQM9aynXXg9ccUABbReyew_14);
1482 TM__asNQM9aynXXg9ccUABbReyew_14.status = setjmp(TM__asNQM9aynXXg9ccUABbReyew_14.context);
1483 if (TM__asNQM9aynXXg9ccUABbReyew_14.status == 0) {
1484 {
1485 if (!(resX60gensym132_ == ((NI) 0))) goto LA5_;
1486 {
1487 NI iX60gensym132_;
1488 NI colontmp__2;
1489 NI res;
1490 iX60gensym132_ = (NI)0;
1491 colontmp__2 = (NI)0;
1492 colontmp__2 = (NI)(fX60gensym132_.gl_pathc - ((NI) 1));
1493 res = ((NI) 0);
1494 {
1495 while (1) {
1496 NimStringDesc* pathX60gensym132_;
1497 if (!(res <= colontmp__2)) goto LA9;
1498 iX60gensym132_ = res;
1499 pathX60gensym132_ = cstrToNimstr(fX60gensym132_.gl_pathv[iX60gensym132_]);
1500 {
1501 NI T14_;
1502 NimStringDesc* T15_;
1503 if (!NIM_TRUE) goto LA12_;
1504 xX60gensym38_ = pathX60gensym132_;
1505 resultX60gensym38_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(resultX60gensym38_), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
1506 T14_ = resultX60gensym38_->Sup.len++;
1507 T15_ = NIM_NIL;
1508 T15_ = resultX60gensym38_->data[T14_]; resultX60gensym38_->data[T14_] = copyStringRC1(xX60gensym38_);
1509 if (T15_) nimGCunrefNoCycle(T15_);
1510 }
1511 LA12_: ;
1512 res += ((NI) 1);
1513 } LA9: ;
1514 }
1515 }
1516 }
1517 LA5_: ;
1518 popSafePoint();
1519 }
1520 else {
1521 popSafePoint();
1522 }
1523 {
1524 globfree((&fX60gensym132_));
1525 if (TM__asNQM9aynXXg9ccUABbReyew_14.status != 0) nimLeaveFinally();
1526 }
1527 if (TM__asNQM9aynXXg9ccUABbReyew_14.status != 0) reraiseException();
1528 }
1529 nimbleLinks = resultX60gensym38_;
1530 {
1531 NI T20_;
1532 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimbleLinkLines;
1533 NimStringDesc* T23_;
1534 T20_ = (nimbleLinks ? nimbleLinks->Sup.len : 0);
1535 if (!(((NI) 0) < T20_)) goto LA21_;
1536 T23_ = NIM_NIL;
1537 T23_ = readFile__systemZio_469(nimbleLinks->data[((NI) 0)]);
1538 nimbleLinkLines = nsuSplitLines(T23_, NIM_FALSE);
1539 path = copyString(nimbleLinkLines->data[((NI) 1)]);
1540 {
1541 NIM_BOOL T26_;
1542 T26_ = (NIM_BOOL)0;
1543 T26_ = nosisAbsolute(path);
1544 if (!!(T26_)) goto LA27_;
1545 path = slash___pureZos_121(p, path);
1546 }
1547 LA27_: ;
1548 }
1549 LA21_: ;
1550 {
1551 NIM_BOOL T31_;
1552 T31_ = (NIM_BOOL)0;
1553 T31_ = contains__nimblecmd_15((*conf).searchPaths->data, ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0), path);
1554 if (!!(T31_)) goto LA32_;
1555 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 84), path, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__asNQM9aynXXg9ccUABbReyew_15, NIM_FALSE);
1556 insert__nimblecmd_47((&(*conf).lazyPaths), path, ((NI) 0));
1557 }
1558 LA32_: ;
1559 }
N_NIMCALL(void,addPathRec__nimblecmd_2087)1560 N_LIB_PRIVATE N_NIMCALL(void, addPathRec__nimblecmd_2087)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* dir, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1561 tyObject_Table__d05ldtnZIkg8hVpY02dsdA packages;
1562 NI pos;
1563 nimZeroMem((void*)(&packages), sizeof(tyObject_Table__d05ldtnZIkg8hVpY02dsdA));
1564 pos = (NI)((dir ? dir->Sup.len : 0) - ((NI) 1));
1565 {
1566 if (!(((NU8)(dir->data[pos])) == ((NU8)(47)) || ((NU8)(dir->data[pos])) == ((NU8)(47)))) goto LA3_;
1567 pos += ((NI) 1);
1568 }
1569 LA3_: ;
1570 {
1571 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
1572 NimStringDesc* p;
1573 DIR* d;
1574 k = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
1575 p = NIM_NIL;
1576 d = opendir(nimToCStringConv(dir));
1577 {
1578 if (!(d == ((DIR*) NIM_NIL))) goto LA8_;
1579 {
1580 NI32 T14_;
1581 if (!NIM_FALSE) goto LA12_;
1582 T14_ = (NI32)0;
1583 T14_ = osLastError__pureZos_408();
1584 raiseOSError__pureZos_405(T14_, dir);
1585 }
1586 LA12_: ;
1587 }
1588 goto LA6_;
1589 LA8_: ;
1590 {
1591 TSafePoint TM__asNQM9aynXXg9ccUABbReyew_2;
1592 pushSafePoint(&TM__asNQM9aynXXg9ccUABbReyew_2);
1593 TM__asNQM9aynXXg9ccUABbReyew_2.status = setjmp(TM__asNQM9aynXXg9ccUABbReyew_2.context);
1594 if (TM__asNQM9aynXXg9ccUABbReyew_2.status == 0) {
1595 {
1596 while (1) {
1597 {
1598 struct dirent* x;
1599 NimStringDesc* y;
1600 x = readdir(d);
1601 {
1602 if (!(x == ((struct dirent*) NIM_NIL))) goto LA21_;
1603 goto LA16;
1604 }
1605 LA21_: ;
1606 y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
1607 {
1608 NIM_BOOL T25_;
1609 struct stat s;
1610 NimStringDesc* path;
1611 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k_2;
1612 T25_ = (NIM_BOOL)0;
1613 T25_ = !(eqStrings(y, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_3)));
1614 if (!(T25_)) goto LA26_;
1615 T25_ = !(eqStrings(y, ((NimStringDesc*) &TM__asNQM9aynXXg9ccUABbReyew_4)));
1616 LA26_: ;
1617 if (!T25_) goto LA27_;
1618 nimZeroMem((void*)(&s), sizeof(struct stat));
1619 path = slash___pureZos_121(dir, y);
1620 {
1621 if (!NIM_TRUE) goto LA31_;
1622 y = copyString(path);
1623 }
1624 LA31_: ;
1625 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
1626 switch ((*x).d_type) {
1627 case ((NI) 4):
1628 {
1629 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
1630 }
1631 break;
1632 case ((NI) 10):
1633 {
1634 {
1635 NIM_BOOL T37_;
1636 T37_ = (NIM_BOOL)0;
1637 T37_ = nosdirExists(path);
1638 if (!T37_) goto LA38_;
1639 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
1640 }
1641 goto LA35_;
1642 LA38_: ;
1643 {
1644 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
1645 }
1646 LA35_: ;
1647 }
1648 break;
1649 case ((NI) 0):
1650 {
1651 {
1652 int T44_;
1653 T44_ = (int)0;
1654 T44_ = lstat(nimToCStringConv(path), (&s));
1655 if (!(T44_ < ((NI32) 0))) goto LA45_;
1656 goto LA18;
1657 }
1658 goto LA42_;
1659 LA45_: ;
1660 {
1661 NIM_BOOL T48_;
1662 T48_ = (NIM_BOOL)0;
1663 T48_ = S_ISDIR(s.st_mode);
1664 if (!T48_) goto LA49_;
1665 k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
1666 }
1667 goto LA42_;
1668 LA49_: ;
1669 {
1670 NIM_BOOL T52_;
1671 T52_ = (NIM_BOOL)0;
1672 T52_ = S_ISLNK(s.st_mode);
1673 if (!T52_) goto LA53_;
1674 k_2 = getSymlinkFileKind__pureZos_1233(path);
1675 }
1676 goto LA42_;
1677 LA53_: ;
1678 LA42_: ;
1679 }
1680 break;
1681 default:
1682 {
1683 }
1684 break;
1685 }
1686 k = k_2;
1687 p = y;
1688 {
1689 NIM_BOOL T58_;
1690 T58_ = (NIM_BOOL)0;
1691 T58_ = (k == ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2));
1692 if (!(T58_)) goto LA59_;
1693 T58_ = !(((NU8)(p->data[pos]) == (NU8)(46)));
1694 LA59_: ;
1695 if (!T58_) goto LA60_;
1696 addPackage__nimblecmd_206(conf, (&packages), p, info);
1697 }
1698 LA60_: ;
1699 }
1700 LA27_: ;
1701 } LA18: ;
1702 }
1703 } LA16: ;
1704 popSafePoint();
1705 }
1706 else {
1707 popSafePoint();
1708 }
1709 {
1710 int T64_;
1711 T64_ = (int)0;
1712 T64_ = closedir(d);
1713 (void)(T64_);
1714 if (TM__asNQM9aynXXg9ccUABbReyew_2.status != 0) nimLeaveFinally();
1715 }
1716 if (TM__asNQM9aynXXg9ccUABbReyew_2.status != 0) reraiseException();
1717 }
1718 LA6_: ;
1719 }
1720 {
1721 NimStringDesc* p_2;
1722 p_2 = NIM_NIL;
1723 {
1724 NimStringDesc* key;
1725 tyTuple__UV3llMMYFckfui8YMBuUZA val;
1726 NI L;
1727 key = NIM_NIL;
1728 nimZeroMem((void*)(&val), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
1729 L = len__nimblecmd_1808(packages);
1730 {
1731 NI h;
1732 NI colontmp_;
1733 NI T68_;
1734 NI res;
1735 h = (NI)0;
1736 colontmp_ = (NI)0;
1737 T68_ = ((packages.data ? packages.data->Sup.len : 0)-1);
1738 colontmp_ = T68_;
1739 res = ((NI) 0);
1740 {
1741 while (1) {
1742 if (!(res <= colontmp_)) goto LA70;
1743 h = res;
1744 {
1745 NIM_BOOL T73_;
1746 NimStringDesc* res_2;
1747 T73_ = (NIM_BOOL)0;
1748 T73_ = isFilled__pureZcollectionsZtables_31(packages.data->data[h].Field0);
1749 if (!T73_) goto LA74_;
1750 key = packages.data->data[h].Field1;
1751 val.Field0 = packages.data->data[h].Field2.Field0;
1752 val.Field1 = packages.data->data[h].Field2.Field1;
1753 res_2 = copyString(key);
1754 {
1755 if (!!(((val.Field0 ? val.Field0->Sup.len : 0) == ((NI) 0)))) goto LA78_;
1756 res_2 = addChar(res_2, 45);
1757 res_2 = resizeString(res_2, (val.Field0 ? val.Field0->Sup.len : 0) + 0);
1758 appendString(res_2, val.Field0);
1759 }
1760 LA78_: ;
1761 {
1762 if (!!(((val.Field1 ? val.Field1->Sup.len : 0) == ((NI) 0)))) goto LA82_;
1763 res_2 = addChar(res_2, 45);
1764 res_2 = resizeString(res_2, (val.Field1 ? val.Field1->Sup.len : 0) + 0);
1765 appendString(res_2, val.Field1);
1766 }
1767 LA82_: ;
1768 p_2 = res_2;
1769 addNimblePath__nimblecmd_2053(conf, p_2, info);
1770 }
1771 LA74_: ;
1772 res += ((NI) 1);
1773 } LA70: ;
1774 }
1775 }
1776 }
1777 }
1778 }
N_INLINE(NI,find__nimblecmd_2112)1779 static N_INLINE(NI, find__nimblecmd_2112)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a, NimStringDesc* item) {
1780 NI result;
1781 { result = (NI)0;
1782 result = ((NI) 0);
1783 {
1784 NimStringDesc** i;
1785 NI i_2;
1786 NI L;
1787 NI T2_;
1788 i = (NimStringDesc**)0;
1789 i_2 = ((NI) 0);
1790 T2_ = (a ? a->Sup.len : 0);
1791 L = T2_;
1792 {
1793 while (1) {
1794 if (!(i_2 < L)) goto LA4;
1795 i = (&a->data[i_2]);
1796 {
1797 NIM_BOOL T7_;
1798 T7_ = (NIM_BOOL)0;
1799 T7_ = eqeq___options_4073((*i), item);
1800 if (!T7_) goto LA8_;
1801 goto BeforeRet_;
1802 }
1803 LA8_: ;
1804 result += ((NI) 1);
1805 i_2 += ((NI) 1);
1806 } LA4: ;
1807 }
1808 }
1809 result = ((NI) -1);
1810 }BeforeRet_: ;
1811 return result;
1812 }
N_NIMCALL(void,delete__nimblecmd_2131)1813 N_LIB_PRIVATE N_NIMCALL(void, delete__nimblecmd_2131)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ** x, NI i) {
1814 NI xlX60gensym46_;
1815 NI T1_;
1816 T1_ = ((*x) ? (*x)->Sup.len : 0);
1817 xlX60gensym46_ = T1_;
1818 {
1819 NI jX60gensym46_;
1820 NI colontmp_;
1821 NI colontmp__2;
1822 NI res;
1823 jX60gensym46_ = (NI)0;
1824 colontmp_ = (NI)0;
1825 colontmp__2 = (NI)0;
1826 colontmp_ = ((NI) (i));
1827 colontmp__2 = (NI)(xlX60gensym46_ - ((NI) 2));
1828 res = colontmp_;
1829 {
1830 while (1) {
1831 if (!(res <= colontmp__2)) goto LA4;
1832 jX60gensym46_ = res;
1833 asgnRef((void**) (&(*x)->data[jX60gensym46_]), (*x)->data[(NI)(jX60gensym46_ + ((NI) 1))]);
1834 res += ((NI) 1);
1835 } LA4: ;
1836 }
1837 }
1838 unsureAsgnRef((void**) (&(*x)), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_), ((NI) ((NI)(xlX60gensym46_ - ((NI) 1))))));
1839 }
N_NIMCALL(void,nimblePath__nimblecmd_2108)1840 N_LIB_PRIVATE N_NIMCALL(void, nimblePath__nimblecmd_2108)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* path, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1841 NI i;
1842 addPathRec__nimblecmd_2087(conf, path, info);
1843 addNimblePath__nimblecmd_2053(conf, path, info);
1844 i = find__nimblecmd_2112((*conf).nimblePaths, path);
1845 {
1846 if (!!((i == ((NI) -1)))) goto LA3_;
1847 delete__nimblecmd_2131((&(*conf).nimblePaths), ((NI) (i)));
1848 }
1849 LA3_: ;
1850 insert__nimblecmd_47((&(*conf).nimblePaths), path, ((NI) 0));
1851 }
N_NIMCALL(void,compiler_nimblecmdDatInit000)1852 N_LIB_PRIVATE N_NIMCALL(void, compiler_nimblecmdDatInit000)(void) {
1853 static TNimNode* TM__asNQM9aynXXg9ccUABbReyew_8_3[3];
1854 static TNimNode* TM__asNQM9aynXXg9ccUABbReyew_9_2[2];
1855 static TNimNode TM__asNQM9aynXXg9ccUABbReyew_0[7];
1856 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.size = sizeof(tyTuple__9cdgeqdY7FRioNKBoD6G66A);
1857 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.align = NIM_ALIGNOF(tyTuple__9cdgeqdY7FRioNKBoD6G66A);
1858 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.kind = 18;
1859 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.base = 0;
1860 TM__asNQM9aynXXg9ccUABbReyew_8_3[0] = &TM__asNQM9aynXXg9ccUABbReyew_0[1];
1861 TM__asNQM9aynXXg9ccUABbReyew_0[1].kind = 1;
1862 TM__asNQM9aynXXg9ccUABbReyew_0[1].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field0);
1863 TM__asNQM9aynXXg9ccUABbReyew_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
1864 TM__asNQM9aynXXg9ccUABbReyew_0[1].name = "Field0";
1865 TM__asNQM9aynXXg9ccUABbReyew_8_3[1] = &TM__asNQM9aynXXg9ccUABbReyew_0[2];
1866 TM__asNQM9aynXXg9ccUABbReyew_0[2].kind = 1;
1867 TM__asNQM9aynXXg9ccUABbReyew_0[2].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field1);
1868 TM__asNQM9aynXXg9ccUABbReyew_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1869 TM__asNQM9aynXXg9ccUABbReyew_0[2].name = "Field1";
1870 TM__asNQM9aynXXg9ccUABbReyew_8_3[2] = &TM__asNQM9aynXXg9ccUABbReyew_0[3];
1871 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.size = sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA);
1872 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.align = NIM_ALIGNOF(tyTuple__UV3llMMYFckfui8YMBuUZA);
1873 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.kind = 18;
1874 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.base = 0;
1875 TM__asNQM9aynXXg9ccUABbReyew_9_2[0] = &TM__asNQM9aynXXg9ccUABbReyew_0[5];
1876 TM__asNQM9aynXXg9ccUABbReyew_0[5].kind = 1;
1877 TM__asNQM9aynXXg9ccUABbReyew_0[5].offset = offsetof(tyTuple__UV3llMMYFckfui8YMBuUZA, Field0);
1878 TM__asNQM9aynXXg9ccUABbReyew_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1879 TM__asNQM9aynXXg9ccUABbReyew_0[5].name = "Field0";
1880 TM__asNQM9aynXXg9ccUABbReyew_9_2[1] = &TM__asNQM9aynXXg9ccUABbReyew_0[6];
1881 TM__asNQM9aynXXg9ccUABbReyew_0[6].kind = 1;
1882 TM__asNQM9aynXXg9ccUABbReyew_0[6].offset = offsetof(tyTuple__UV3llMMYFckfui8YMBuUZA, Field1);
1883 TM__asNQM9aynXXg9ccUABbReyew_0[6].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1884 TM__asNQM9aynXXg9ccUABbReyew_0[6].name = "Field1";
1885 TM__asNQM9aynXXg9ccUABbReyew_0[4].len = 2; TM__asNQM9aynXXg9ccUABbReyew_0[4].kind = 2; TM__asNQM9aynXXg9ccUABbReyew_0[4].sons = &TM__asNQM9aynXXg9ccUABbReyew_9_2[0];
1886 NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_.node = &TM__asNQM9aynXXg9ccUABbReyew_0[4];
1887 TM__asNQM9aynXXg9ccUABbReyew_0[3].kind = 1;
1888 TM__asNQM9aynXXg9ccUABbReyew_0[3].offset = offsetof(tyTuple__9cdgeqdY7FRioNKBoD6G66A, Field2);
1889 TM__asNQM9aynXXg9ccUABbReyew_0[3].typ = (&NTItupleLversion58string_checksum58stringT__UV3llMMYFckfui8YMBuUZA_);
1890 TM__asNQM9aynXXg9ccUABbReyew_0[3].name = "Field2";
1891 TM__asNQM9aynXXg9ccUABbReyew_0[0].len = 3; TM__asNQM9aynXXg9ccUABbReyew_0[0].kind = 2; TM__asNQM9aynXXg9ccUABbReyew_0[0].sons = &TM__asNQM9aynXXg9ccUABbReyew_8_3[0];
1892 NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_.node = &TM__asNQM9aynXXg9ccUABbReyew_0[0];
1893 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.size = sizeof(tySequence__6j25whH7XTBoIXcM0x1T7A*);
1894 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.align = NIM_ALIGNOF(tySequence__6j25whH7XTBoIXcM0x1T7A*);
1895 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.kind = 24;
1896 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.base = (&NTIkeyvaluepair__9cdgeqdY7FRioNKBoD6G66A_);
1897 NTIkeyvaluepairseq__6j25whH7XTBoIXcM0x1T7A_.marker = Marker_tySequence__6j25whH7XTBoIXcM0x1T7A;
1898 }
1899
1900