1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
23 typedef struct TGenericSeq TGenericSeq;
24 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
25 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
26 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
27 typedef struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw tyObject_Con__eFhkbMY30pSTdER2YWz9cRw;
28 typedef struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
29 typedef struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA;
30 typedef struct tySequence__m6h1zim2DFUPFJioFj0P9cg tySequence__m6h1zim2DFUPFJioFj0P9cg;
31 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
32 typedef struct TNimType TNimType;
33 typedef struct TNimNode TNimNode;
34 typedef struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ tyTuple__tFiYBoaBrKZKt1Te12yKUQ;
35 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
36 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
37 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
40 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
41 typedef struct RootObj RootObj;
42 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
43 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
44 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
45 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
46 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
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 struct TGenericSeq {
64 NI len;
65 NI reserved;
66 };
67 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
68 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
69 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
70 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
71 union{
72 NI dest;
73 };
74 };
75 struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw {
76 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* code;
77 NI inTryStmt;
78 tySequence__bZP29c0SHT9aMkbSl4EFvgCg* blocks;
79 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
80 };
81 struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA {
82 NIM_BOOL isTryBlock;
83 union{
84 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
85 tySequence__m6h1zim2DFUPFJioFj0P9cg* breakFixups;
86 } _isTryBlock_1;
87 struct {tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finale;
88 tySequence__qwqHTkRvwhrRyENtudHQ7g* raiseFixups;
89 } _isTryBlock_2;
90 };
91 };
92 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
93 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
94 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
95 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
96 struct TNimType {
97 NI size;
98 NI align;
99 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
100 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
101 TNimType* base;
102 TNimNode* node;
103 void* finalizer;
104 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
105 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
106 };
107 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
108 struct TNimNode {
109 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
110 NI offset;
111 TNimType* typ;
112 NCSTRING name;
113 NI len;
114 TNimNode** sons;
115 };
116 struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ {
117 NI Field0;
118 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* Field1;
119 };
120 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
121 NU16 line;
122 NI16 col;
123 NI32 fileIndex;
124 };
125 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
126 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
127 struct NimStringDesc {
128   TGenericSeq Sup;
129 NIM_CHAR data[SEQ_DECL_SIZE];
130 };
131 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
132 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
133 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
134 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
135 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
136 union{
137 struct {NI64 intVal;
138 } _kind_1;
139 struct {NF floatVal;
140 } _kind_2;
141 struct {NimStringDesc* strVal;
142 } _kind_3;
143 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
144 } _kind_4;
145 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
146 } _kind_5;
147 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
148 } _kind_6;
149 };
150 };
151 struct RootObj {
152 TNimType* m_type;
153 };
154 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
155 NI32 module;
156 NI32 item;
157 };
158 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
159   RootObj Sup;
160 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
161 };
162 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
163 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
164 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
165 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
166 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
167 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
168 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
169 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
170 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
171 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
172 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
173 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
174 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
175 };
176 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
177   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
178 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
179 union{
180 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
181 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
182 } _kind_1;
183 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
184 NI bitsize;
185 NI alignment;
186 } _kind_2;
187 };
188 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
189 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
190 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
191 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
193 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
194 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
195 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
196 NI position;
197 NI offset;
198 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
199 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
200 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
201 };
202 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
203 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
204 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
205 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
206   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
207 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
208 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
209 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
210 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
211 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
212 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
213 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
214 NI64 size;
215 NI16 align;
216 NI16 paddingAtEnd;
217 NI16 lockLevel;
218 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
219 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
220 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
221 };
222 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
223 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
224 NI refcount;
225 TNimType* typ;
226 };
227 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
228 void* bottom;
229 };
230 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
231 NI len;
232 NI cap;
233 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
234 };
235 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
236 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
237 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
238 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
239 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
240 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
241 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
242 };
243 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
244 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
245 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
246 NI key;
247 NI upperBound;
248 NI level;
249 };
250 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
251 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
252 NI Field1;
253 };
254 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
255 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
256 NI len;
257 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
258 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
259 };
260 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
261 NI minLargeObj;
262 NI maxLargeObj;
263 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
264 NU32 flBitmap;
265 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
266 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
267 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
268 NI currMem;
269 NI maxMem;
270 NI freeMem;
271 NI occ;
272 NI lastSize;
273 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
274 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
275 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
276 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
277 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
278 NIM_BOOL locked;
279 NIM_BOOL blockChunkSizeIncrease;
280 NI nextChunkSize;
281 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
282 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
283 };
284 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
285 NI stackScans;
286 NI cycleCollections;
287 NI maxThreshold;
288 NI maxStackSize;
289 NI maxStackCells;
290 NI cycleTableSize;
291 NI64 maxPause;
292 };
293 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
294 NI counter;
295 NI max;
296 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
297 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
298 };
299 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
300 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
301 NI cycleThreshold;
302 NI zctThreshold;
303 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
304 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
305 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
306 NI recGcLock;
307 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
308 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
309 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
310 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
311 NI gcThreadId;
312 };
313 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
314 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
315 typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2];
316 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
317 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
318 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
319   TGenericSeq Sup;
320   tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
321 };
322 struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg {
323   TGenericSeq Sup;
324   tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA data[SEQ_DECL_SIZE];
325 };
326 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
327   TGenericSeq Sup;
328   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
329 };
330 struct tySequence__m6h1zim2DFUPFJioFj0P9cg {
331   TGenericSeq Sup;
332   tyTuple__tFiYBoaBrKZKt1Te12yKUQ data[SEQ_DECL_SIZE];
333 };
334 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
335   TGenericSeq Sup;
336   NI data[SEQ_DECL_SIZE];
337 };
338 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
339   TGenericSeq Sup;
340   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
341 };
342 static N_INLINE(void, nimZeroMem)(void* p, NI size);
343 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
344 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
345 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
346 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op);
347 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op);
348 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
349 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
350 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
351 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
352 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op);
353 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
354 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
355 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
356 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
357 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p);
358 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
359 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
360 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
361 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
362 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
363 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseConservative__ast_5076)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
364 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
365 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
366 static N_INLINE(void, asgnRef)(void** dest, void* src);
367 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
368 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
369 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
370 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
371 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
372 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
373 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
374 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
375 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
376 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
377 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
378 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
379 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i);
380 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
381 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
382 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen);
383 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
384 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
385 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
386 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
387 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c);
388 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
389 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
390 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
391 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
392 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
393 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i);
394 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
395 N_LIB_PRIVATE TNimType NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_;
396 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
397 TNimNode* NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[3];
398 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
399 N_LIB_PRIVATE TNimType NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_;
400 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
401 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
402 N_LIB_PRIVATE TNimType NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_;
403 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
404 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
405 N_LIB_PRIVATE TNimType NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_;
406 N_LIB_PRIVATE TNimType NTIinstr__Iclb1njvAJfjjEpCLzUzZg_;
407 N_LIB_PRIVATE TNimType NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_;
408 TNimNode* NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[5];
409 N_LIB_PRIVATE TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
410 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_9, "dfa.nim(272, 12) `low(int) div 2 + 1 < c.code.len - p.int and c.code.len - p.int < high(int) div 2` ", 100);
411 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_10 = {
412 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
413 0x00}
414 ;
415 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rmUZTUif19aNVU5raHE2xtA_11 = {
416 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x80,
417 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
418 0x00, 0x00, 0x00, 0x00, 0x00}
419 ;
420 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_12 = {
421 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
422 0x00}
423 ;
424 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_13, "dfa.nim(809, 24) `false` dfa construction pass requires the elimination of \'defer\'", 82);
425 N_LIB_PRIVATE TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
426 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_17 = {
427 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
428 0x00}
429 ;
430 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
N_INLINE(void,nimSetMem__systemZmemory_7)431 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
432 	void* T1_;
433 	T1_ = (void*)0;
434 	T1_ = memset(a, v, ((size_t) (size)));
435 }
N_INLINE(void,nimZeroMem)436 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
437 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
438 }
N_NIMCALL(void,Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)439 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op) {
440 	tySequence__m6h1zim2DFUPFJioFj0P9cg* a;
441 	NI T1_;
442 	a = (tySequence__m6h1zim2DFUPFJioFj0P9cg*)p;
443 	T1_ = (NI)0;
444 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
445 	nimGCvisit((void*)a->data[T1_].Field1, op);
446 	}
447 }
N_NIMCALL(void,Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)448 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op) {
449 	tySequence__bZP29c0SHT9aMkbSl4EFvgCg* a;
450 	NI T1_;
451 	a = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*)p;
452 	T1_ = (NI)0;
453 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
454 	switch (a->data[T1_].isTryBlock) {
455 	case NIM_FALSE:
456 	nimGCvisit((void*)a->data[T1_]._isTryBlock_1.label, op);
457 	nimGCvisit((void*)a->data[T1_]._isTryBlock_1.breakFixups, op);
458 	break;
459 	case NIM_TRUE:
460 	nimGCvisit((void*)a->data[T1_]._isTryBlock_2.finale, op);
461 	nimGCvisit((void*)a->data[T1_]._isTryBlock_2.raiseFixups, op);
462 	break;
463 	}
464 	}
465 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipTrivials__dfa_951)466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
467 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
468 	result = NIM_NIL;
469 	result = n;
470 	{
471 		while (1) {
472 			switch ((*result).kind) {
473 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
474 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
475 			{
476 				result = (*result)._kind_6.sons->data[((NI) 0)];
477 			}
478 			break;
479 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
480 			{
481 				gen__dfa_198(c, (*result)._kind_6.sons->data[((NI) 1)]);
482 				result = (*result)._kind_6.sons->data[((NI) 0)];
483 			}
484 			break;
485 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
486 			{
487 				result = (*result)._kind_6.sons->data[((NI) 1)];
488 			}
489 			break;
490 			default:
491 			{
492 				goto LA1;
493 			}
494 			break;
495 			}
496 		}
497 	} LA1: ;
498 	return result;
499 }
N_NIMCALL(void,Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)500 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op) {
501 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* a;
502 	NI T1_;
503 	a = (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*)p;
504 	T1_ = (NI)0;
505 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
506 	nimGCvisit((void*)a->data[T1_].n, op);
507 	switch (a->data[T1_].kind) {
508 	case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
509 	case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
510 	break;
511 	default:
512 	break;
513 	}
514 	}
515 }
N_NIMCALL(void,genUse__dfa_963)516 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
517 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
518 	n = skipTrivials__dfa_951(c, orig);
519 	{
520 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
521 		{
522 			tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T9_;
523 			NI T10_;
524 			if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA7_;
525 			nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
526 			nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
527 			T9_.n = orig;
528 			T9_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3);
529 			unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
530 			T10_ = (*c).code->Sup.len++;
531 			genericAssign((void*)(&(*c).code->data[T10_]), (void*)(&T9_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
532 		}
533 		LA7_: ;
534 	}
535 	goto LA1_;
536 	LA3_: ;
537 	{
538 		gen__dfa_198(c, n);
539 	}
540 	LA1_: ;
541 }
N_NIMCALL(NI,forkI__dfa_83)542 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
543 	NI result;
544 	NI T1_;
545 	tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
546 	NI T3_;
547 	result = (NI)0;
548 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
549 	result = T1_;
550 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
551 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
552 	T2_.n = n;
553 	T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1);
554 	T2_.dest = ((NI) 0);
555 	unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
556 	T3_ = (*c).code->Sup.len++;
557 	genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
558 	return result;
559 }
N_NIMCALL(void,patch__dfa_173)560 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p) {
561 	NI T9_;
562 	{
563 		NIM_BOOL T3_;
564 		NI T4_;
565 		NI T6_;
566 		T3_ = (NIM_BOOL)0;
567 		T4_ = ((*c).code ? (*c).code->Sup.len : 0);
568 		T3_ = (((NI) -1073741823) < (NI)(T4_ - p));
569 		if (!(T3_)) goto LA5_;
570 		T6_ = ((*c).code ? (*c).code->Sup.len : 0);
571 		T3_ = ((NI)(T6_ - p) < ((NI) 1073741823));
572 		LA5_: ;
573 		if (!!(T3_)) goto LA7_;
574 		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_9));
575 	}
576 	LA7_: ;
577 	T9_ = ((*c).code ? (*c).code->Sup.len : 0);
578 	(*c).code->data[p].dest = (NI)(T9_ - p);
579 }
N_NIMCALL(void,genAndOr__dfa_444)580 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
581 	NI lab1X60gensym28_;
582 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
583 	lab1X60gensym28_ = forkI__dfa_83(c, n);
584 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 2)]);
585 	patch__dfa_173(c, lab1X60gensym28_);
586 }
N_NIMCALL(void,genDef__dfa_979)587 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
588 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
589 	n = skipTrivials__dfa_951(c, orig);
590 	{
591 		NIM_BOOL T3_;
592 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T7_;
593 		NI T8_;
594 		T3_ = (NIM_BOOL)0;
595 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
596 		if (!(T3_)) goto LA4_;
597 		T3_ = ((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
598 		LA4_: ;
599 		if (!T3_) goto LA5_;
600 		nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
601 		nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
602 		T7_.n = orig;
603 		T7_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2);
604 		unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
605 		T8_ = (*c).code->Sup.len++;
606 		genericAssign((void*)(&(*c).code->data[T8_]), (void*)(&T7_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
607 	}
608 	LA5_: ;
609 }
N_INLINE(NI,len__ast_3198)610 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
611 	NI result;
612 	NI T1_;
613 	result = (NI)0;
614 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
615 	result = T1_;
616 	return result;
617 }
N_NIMCALL(NI,gotoI__dfa_124)618 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
619 	NI result;
620 	NI T1_;
621 	tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
622 	NI T3_;
623 	result = (NI)0;
624 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
625 	result = T1_;
626 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
627 	nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
628 	T2_.n = n;
629 	T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
630 	T2_.dest = ((NI) 0);
631 	unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
632 	T3_ = (*c).code->Sup.len++;
633 	genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
634 	return result;
635 }
N_INLINE(NI,pluspercent___system_696)636 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
637 	NI result;
638 	result = (NI)0;
639 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
640 	return result;
641 }
N_INLINE(void,incRef__system_5329)642 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
643 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
644 }
N_INLINE(NI,minuspercent___system_716)645 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
646 	NI result;
647 	result = (NI)0;
648 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
649 	return result;
650 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)651 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
652 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
653 	NI T1_;
654 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
655 	T1_ = (NI)0;
656 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
657 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
658 	return result;
659 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)660 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
661 	NIM_BOOL result;
662 	result = (NIM_BOOL)0;
663 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
664 	return result;
665 }
N_INLINE(void,rtlAddZCT__system_5334)666 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
667 	addZCT__system_5285((&gch__system_5238.zct), c);
668 }
N_INLINE(void,decRef__system_5336)669 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
670 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
671 	{
672 		NIM_BOOL T3_;
673 		T3_ = (NIM_BOOL)0;
674 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
675 		if (!T3_) goto LA4_;
676 		rtlAddZCT__system_5334(c);
677 	}
678 	LA4_: ;
679 }
N_INLINE(void,asgnRef)680 static N_INLINE(void, asgnRef)(void** dest, void* src) {
681 	{
682 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
683 		if (!!((src == NIM_NIL))) goto LA3_;
684 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
685 		T5_ = usrToCell__system_5291(src);
686 		incRef__system_5329(T5_);
687 	}
688 	LA3_: ;
689 	{
690 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
691 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
692 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
693 		T10_ = usrToCell__system_5291((*dest));
694 		decRef__system_5336(T10_);
695 	}
696 	LA8_: ;
697 	(*dest) = src;
698 }
N_NIMCALL(void,genBreakOrRaiseAux__dfa_555)699 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
700 	NI lab1;
701 	lab1 = gotoI__dfa_124(c, n);
702 	{
703 		NI T5_;
704 		if (!(*c).blocks->data[i].isTryBlock) goto LA3_;
705 		asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_2.raiseFixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_2.raiseFixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
706 		T5_ = (*c).blocks->data[i]._isTryBlock_2.raiseFixups->Sup.len++;
707 		(*c).blocks->data[i]._isTryBlock_2.raiseFixups->data[T5_] = lab1;
708 	}
709 	goto LA1_;
710 	LA3_: ;
711 	{
712 		tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* trailingFinales;
713 		tyTuple__tFiYBoaBrKZKt1Te12yKUQ T20_;
714 		NI T21_;
715 		trailingFinales = NIM_NIL;
716 		{
717 			if (!(((NI) 0) < (*c).inTryStmt)) goto LA9_;
718 			{
719 				NI b;
720 				NI colontmp_;
721 				NI T12_;
722 				NI res;
723 				b = (NI)0;
724 				colontmp_ = (NI)0;
725 				T12_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
726 				colontmp_ = T12_;
727 				res = colontmp_;
728 				{
729 					while (1) {
730 						if (!(i <= res)) goto LA14;
731 						b = res;
732 						{
733 							NI T19_;
734 							if (!(*c).blocks->data[b].isTryBlock) goto LA17_;
735 							trailingFinales = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(trailingFinales), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
736 							T19_ = trailingFinales->Sup.len++;
737 							asgnRef((void**) (&trailingFinales->data[T19_]), (*c).blocks->data[b]._isTryBlock_2.finale);
738 						}
739 						LA17_: ;
740 						res -= ((NI) 1);
741 					} LA14: ;
742 				}
743 			}
744 		}
745 		LA9_: ;
746 		nimZeroMem((void*)(&T20_), sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ));
747 		T20_.Field0 = lab1;
748 		genericSeqAssign((&T20_.Field1), trailingFinales, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
749 		asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_1.breakFixups), (tySequence__m6h1zim2DFUPFJioFj0P9cg*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_1.breakFixups), (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_)));
750 		T21_ = (*c).blocks->data[i]._isTryBlock_1.breakFixups->Sup.len++;
751 		(*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field0 = T20_.Field0;
752 		genericSeqAssign((&(*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field1), T20_.Field1, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
753 	}
754 	LA1_: ;
755 }
N_NIMCALL(void,genCall__dfa_995)756 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
757 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
758 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
759 	t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
760 	{
761 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
762 		t = skipTypes__ast_3735(t, TM__rmUZTUif19aNVU5raHE2xtA_10);
763 	}
764 	LA3_: ;
765 	{
766 		NI i;
767 		NI colontmp_;
768 		NI i_2;
769 		i = (NI)0;
770 		colontmp_ = (NI)0;
771 		colontmp_ = len__ast_3198(n);
772 		i_2 = ((NI) 1);
773 		{
774 			while (1) {
775 				if (!(i_2 < colontmp_)) goto LA7;
776 				i = i_2;
777 				gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
778 				i_2 += ((NI) 1);
779 			} LA7: ;
780 		}
781 	}
782 	{
783 		NIM_BOOL T10_;
784 		NI lab1X60gensym114_;
785 		T10_ = (NIM_BOOL)0;
786 		T10_ = (((NI) 0) < (*c).inTryStmt);
787 		if (!(T10_)) goto LA11_;
788 		T10_ = canRaiseConservative__ast_5076((*n)._kind_6.sons->data[((NI) 0)]);
789 		LA11_: ;
790 		if (!T10_) goto LA12_;
791 		lab1X60gensym114_ = forkI__dfa_83(c, n);
792 		{
793 			NI i_3;
794 			NI colontmp__2;
795 			NI T15_;
796 			NI res;
797 			i_3 = (NI)0;
798 			colontmp__2 = (NI)0;
799 			T15_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
800 			colontmp__2 = T15_;
801 			res = colontmp__2;
802 			{
803 				while (1) {
804 					if (!(((NI) 0) <= res)) goto LA17;
805 					i_3 = res;
806 					{
807 						if (!(*c).blocks->data[i_3].isTryBlock) goto LA20_;
808 						genBreakOrRaiseAux__dfa_555(c, i_3, n);
809 						goto LA14;
810 					}
811 					LA20_: ;
812 					res -= ((NI) 1);
813 				} LA17: ;
814 			}
815 		} LA14: ;
816 		patch__dfa_173(c, lab1X60gensym114_);
817 	}
818 	LA12_: ;
819 }
N_NIMCALL(void,genMagic__dfa_1026)820 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
821 	switch (m) {
822 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
823 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
824 	{
825 		genAndOr__dfa_444(c, n);
826 	}
827 	break;
828 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
829 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
830 	{
831 		genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 1)]);
832 		{
833 			NI i;
834 			NI colontmp_;
835 			NI i_2;
836 			i = (NI)0;
837 			colontmp_ = (NI)0;
838 			colontmp_ = len__ast_3198(n);
839 			i_2 = ((NI) 2);
840 			{
841 				while (1) {
842 					if (!(i_2 < colontmp_)) goto LA5;
843 					i = i_2;
844 					gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
845 					i_2 += ((NI) 1);
846 				} LA5: ;
847 			}
848 		}
849 	}
850 	break;
851 	default:
852 	{
853 		genCall__dfa_995(c, n);
854 	}
855 	break;
856 	}
857 }
N_NIMCALL(void,genIf__dfa_395)858 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
859 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
860 	endings = NIM_NIL;
861 	{
862 		NI i;
863 		NI colontmp_;
864 		NI i_2;
865 		i = (NI)0;
866 		colontmp_ = (NI)0;
867 		colontmp_ = len__ast_3198(n);
868 		i_2 = ((NI) 0);
869 		{
870 			while (1) {
871 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
872 				if (!(i_2 < colontmp_)) goto LA3;
873 				i = i_2;
874 				it = (*n)._kind_6.sons->data[i];
875 				gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 0)]);
876 				{
877 					NI T6_;
878 					NI lab1X60gensym23_;
879 					NI T9_;
880 					NI T10_;
881 					T6_ = (NI)0;
882 					T6_ = len__ast_3198(it);
883 					if (!(T6_ == ((NI) 2))) goto LA7_;
884 					lab1X60gensym23_ = forkI__dfa_83(c, (*it)._kind_6.sons->data[((NI) 1)]);
885 					gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 1)]);
886 					T9_ = (NI)0;
887 					T9_ = gotoI__dfa_124(c, (*it)._kind_6.sons->data[((NI) 1)]);
888 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
889 					T10_ = endings->Sup.len++;
890 					endings->data[T10_] = T9_;
891 					patch__dfa_173(c, lab1X60gensym23_);
892 				}
893 				LA7_: ;
894 				i_2 += ((NI) 1);
895 			} LA3: ;
896 		}
897 	}
898 	{
899 		NI i_3;
900 		NI colontmp__2;
901 		NI T12_;
902 		NI res;
903 		i_3 = (NI)0;
904 		colontmp__2 = (NI)0;
905 		T12_ = ((endings ? endings->Sup.len : 0)-1);
906 		colontmp__2 = T12_;
907 		res = colontmp__2;
908 		{
909 			while (1) {
910 				if (!(((NI) 0) <= res)) goto LA14;
911 				i_3 = res;
912 				patch__dfa_173(c, endings->data[i_3]);
913 				res -= ((NI) 1);
914 			} LA14: ;
915 		}
916 	}
917 }
N_INLINE(NI *,X5BX5D___dfa_492)918 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i) {
919 	NI* result;
920 	result = (NI*)0;
921 	result = (&s[(NI)(sLen_0 - i)]);
922 	return result;
923 }
N_NIMCALL(void,genCase__dfa_451)924 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
925 	NIM_BOOL isExhaustive;
926 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
927 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
928 	T1_ = NIM_NIL;
929 	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rmUZTUif19aNVU5raHE2xtA_12);
930 	isExhaustive = !(((*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
931 	endings = NIM_NIL;
932 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
933 	{
934 		NI i;
935 		NI colontmp_;
936 		NI i_2;
937 		i = (NI)0;
938 		colontmp_ = (NI)0;
939 		colontmp_ = len__ast_3198(n);
940 		i_2 = ((NI) 1);
941 		{
942 			while (1) {
943 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
944 				if (!(i_2 < colontmp_)) goto LA4;
945 				i = i_2;
946 				it = (*n)._kind_6.sons->data[i];
947 				{
948 					NIM_BOOL T7_;
949 					NI T8_;
950 					NIM_BOOL T10_;
951 					NI T11_;
952 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
953 					T7_ = (NIM_BOOL)0;
954 					T8_ = (NI)0;
955 					T8_ = len__ast_3198(it);
956 					T7_ = (T8_ == ((NI) 1));
957 					if (T7_) goto LA9_;
958 					T10_ = (NIM_BOOL)0;
959 					T11_ = (NI)0;
960 					T11_ = len__ast_3198(n);
961 					T10_ = (i == (NI)(T11_ - ((NI) 1)));
962 					if (!(T10_)) goto LA12_;
963 					T10_ = isExhaustive;
964 					LA12_: ;
965 					T7_ = T10_;
966 					LA9_: ;
967 					if (!T7_) goto LA13_;
968 					T15_ = NIM_NIL;
969 					T15_ = lastSon__ast_4832(it);
970 					gen__dfa_198(c, T15_);
971 					{
972 						NI T18_;
973 						NI* T21_;
974 						T18_ = (endings ? endings->Sup.len : 0);
975 						if (!!((T18_ == ((NI) 0)))) goto LA19_;
976 						T21_ = (NI*)0;
977 						T21_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
978 						patch__dfa_173(c, (*T21_));
979 					}
980 					LA19_: ;
981 				}
982 				goto LA5_;
983 				LA13_: ;
984 				{
985 					NI lab1X60gensym36_;
986 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
987 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
988 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
989 					NI T32_;
990 					NI T33_;
991 					T23_ = NIM_NIL;
992 					T23_ = lastSon__ast_4832(it);
993 					lab1X60gensym36_ = forkI__dfa_83(c, T23_);
994 					T24_ = NIM_NIL;
995 					T24_ = lastSon__ast_4832(it);
996 					gen__dfa_198(c, T24_);
997 					{
998 						NI T27_;
999 						NI* T30_;
1000 						T27_ = (endings ? endings->Sup.len : 0);
1001 						if (!!((T27_ == ((NI) 0)))) goto LA28_;
1002 						T30_ = (NI*)0;
1003 						T30_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
1004 						patch__dfa_173(c, (*T30_));
1005 					}
1006 					LA28_: ;
1007 					T31_ = NIM_NIL;
1008 					T31_ = lastSon__ast_4832(it);
1009 					T32_ = (NI)0;
1010 					T32_ = gotoI__dfa_124(c, T31_);
1011 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1012 					T33_ = endings->Sup.len++;
1013 					endings->data[T33_] = T32_;
1014 					patch__dfa_173(c, lab1X60gensym36_);
1015 				}
1016 				LA5_: ;
1017 				i_2 += ((NI) 1);
1018 			} LA4: ;
1019 		}
1020 	}
1021 }
N_NIMCALL(NIM_BOOL,isTrue__dfa_301)1022 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1023 	NIM_BOOL result;
1024 	NIM_BOOL T1_;
1025 	NIM_BOOL T2_;
1026 	NIM_BOOL T3_;
1027 	NIM_BOOL T7_;
1028 	result = (NIM_BOOL)0;
1029 	T1_ = (NIM_BOOL)0;
1030 	T2_ = (NIM_BOOL)0;
1031 	T3_ = (NIM_BOOL)0;
1032 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1033 	if (!(T3_)) goto LA4_;
1034 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
1035 	LA4_: ;
1036 	T2_ = T3_;
1037 	if (!(T2_)) goto LA5_;
1038 	T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
1039 	LA5_: ;
1040 	T1_ = T2_;
1041 	if (T1_) goto LA6_;
1042 	T7_ = (NIM_BOOL)0;
1043 	T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
1044 	if (!(T7_)) goto LA8_;
1045 	T7_ = !(((*n)._kind_1.intVal == IL64(0)));
1046 	LA8_: ;
1047 	T1_ = T7_;
1048 	LA6_: ;
1049 	result = T1_;
1050 	return result;
1051 }
N_NIMCALL(void,popBlock__dfa_201)1052 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen) {
1053 	tySequence__qwqHTkRvwhrRyENtudHQ7g* exits;
1054 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1055 	NI T2_;
1056 	NI T3_;
1057 	exits = NIM_NIL;
1058 	T1_ = NIM_NIL;
1059 	T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1060 	T2_ = (NI)0;
1061 	T2_ = gotoI__dfa_124(c, T1_);
1062 	exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1063 	T3_ = exits->Sup.len++;
1064 	exits->data[T3_] = T2_;
1065 	{
1066 		tyTuple__tFiYBoaBrKZKt1Te12yKUQ* f;
1067 		tySequence__m6h1zim2DFUPFJioFj0P9cg* colontmp_;
1068 		NI i;
1069 		NI L;
1070 		NI T5_;
1071 		f = (tyTuple__tFiYBoaBrKZKt1Te12yKUQ*)0;
1072 		colontmp_ = NIM_NIL;
1073 		colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_1.breakFixups;
1074 		i = ((NI) 0);
1075 		T5_ = (colontmp_ ? colontmp_->Sup.len : 0);
1076 		L = T5_;
1077 		{
1078 			while (1) {
1079 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1080 				NI T13_;
1081 				NI T14_;
1082 				if (!(i < L)) goto LA7;
1083 				f = (&colontmp_->data[i]);
1084 				patch__dfa_173(c, (*f).Field0);
1085 				{
1086 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** finale;
1087 					tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
1088 					NI i_2;
1089 					NI L_2;
1090 					NI T9_;
1091 					finale = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1092 					colontmp__2 = NIM_NIL;
1093 					colontmp__2 = (*f).Field1;
1094 					i_2 = ((NI) 0);
1095 					T9_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
1096 					L_2 = T9_;
1097 					{
1098 						while (1) {
1099 							if (!(i_2 < L_2)) goto LA11;
1100 							finale = &colontmp__2->data[i_2];
1101 							gen__dfa_198(c, (*finale));
1102 							i_2 += ((NI) 1);
1103 						} LA11: ;
1104 					}
1105 				}
1106 				T12_ = NIM_NIL;
1107 				T12_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1108 				T13_ = (NI)0;
1109 				T13_ = gotoI__dfa_124(c, T12_);
1110 				exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1111 				T14_ = exits->Sup.len++;
1112 				exits->data[T14_] = T13_;
1113 				i += ((NI) 1);
1114 			} LA7: ;
1115 		}
1116 	}
1117 	{
1118 		NI* e;
1119 		NI i_3;
1120 		NI L_3;
1121 		NI T16_;
1122 		e = (NI*)0;
1123 		i_3 = ((NI) 0);
1124 		T16_ = (exits ? exits->Sup.len : 0);
1125 		L_3 = T16_;
1126 		{
1127 			while (1) {
1128 				if (!(i_3 < L_3)) goto LA18;
1129 				e = (&exits->data[i_3]);
1130 				patch__dfa_173(c, (*e));
1131 				i_3 += ((NI) 1);
1132 			} LA18: ;
1133 		}
1134 	}
1135 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1136 }
N_NIMCALL(void,genWhile__dfa_316)1137 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1138 	{
1139 		NIM_BOOL T3_;
1140 		NI oldLenX60gensym16_;
1141 		NI T6_;
1142 		tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T7_;
1143 		NI T8_;
1144 		T3_ = (NIM_BOOL)0;
1145 		T3_ = isTrue__dfa_301((*n)._kind_6.sons->data[((NI) 0)]);
1146 		if (!T3_) goto LA4_;
1147 		T6_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1148 		oldLenX60gensym16_ = T6_;
1149 		nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1150 		nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1151 		T7_.isTryBlock = NIM_FALSE;
1152 		T7_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1153 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1154 		T8_ = (*c).blocks->Sup.len++;
1155 		genericAssign((void*)(&(*c).blocks->data[T8_]), (void*)(&T7_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1156 		{
1157 			NI i;
1158 			NI res;
1159 			i = (NI)0;
1160 			res = ((NI) 0);
1161 			{
1162 				while (1) {
1163 					if (!(res <= ((NI) 1))) goto LA11;
1164 					i = res;
1165 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1166 					res += ((NI) 1);
1167 				} LA11: ;
1168 			}
1169 		}
1170 		popBlock__dfa_201(c, oldLenX60gensym16_);
1171 	}
1172 	goto LA1_;
1173 	LA4_: ;
1174 	{
1175 		NI oldLenX60gensym18_;
1176 		NI T13_;
1177 		tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T14_;
1178 		NI T15_;
1179 		tyArray__HU7qaqKu9czJLT84iCBJnsA endings;
1180 		T13_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1181 		oldLenX60gensym18_ = T13_;
1182 		nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1183 		nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1184 		T14_.isTryBlock = NIM_FALSE;
1185 		T14_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1186 		unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1187 		T15_ = (*c).blocks->Sup.len++;
1188 		genericAssign((void*)(&(*c).blocks->data[T15_]), (void*)(&T14_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1189 		nimZeroMem((void*)endings, sizeof(tyArray__HU7qaqKu9czJLT84iCBJnsA));
1190 		{
1191 			NI i_2;
1192 			NI res_2;
1193 			i_2 = (NI)0;
1194 			res_2 = ((NI) 0);
1195 			{
1196 				while (1) {
1197 					if (!(res_2 <= ((NI) 1))) goto LA18;
1198 					i_2 = res_2;
1199 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1200 					endings[(i_2)- 0] = forkI__dfa_83(c, n);
1201 					gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1202 					res_2 += ((NI) 1);
1203 				} LA18: ;
1204 			}
1205 		}
1206 		{
1207 			NI i_3;
1208 			NI res_3;
1209 			i_3 = (NI)0;
1210 			res_3 = ((NI) 1);
1211 			{
1212 				while (1) {
1213 					if (!(((NI) 0) <= res_3)) goto LA21;
1214 					i_3 = ((NI) (res_3));
1215 					patch__dfa_173(c, endings[(i_3)- 0]);
1216 					res_3 -= ((NI) 1);
1217 				} LA21: ;
1218 			}
1219 		}
1220 		popBlock__dfa_201(c, oldLenX60gensym18_);
1221 	}
1222 	LA1_: ;
1223 }
N_NIMCALL(void,genBlock__dfa_541)1224 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1225 	NI oldLenX60gensym40_;
1226 	NI T1_;
1227 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1228 	NI T3_;
1229 	T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1230 	oldLenX60gensym40_ = T1_;
1231 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1232 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1233 	T2_.isTryBlock = NIM_FALSE;
1234 	T2_._isTryBlock_1.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1235 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1236 	T3_ = (*c).blocks->Sup.len++;
1237 	genericAssign((void*)(&(*c).blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1238 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1239 	popBlock__dfa_201(c, oldLenX60gensym40_);
1240 }
N_NIMCALL(void,genImplicitReturn__dfa_758)1241 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c) {
1242 	{
1243 		NIM_BOOL T3_;
1244 		NI T5_;
1245 		T3_ = (NIM_BOOL)0;
1246 		T3_ = ((126976 &((NU32)1<<((NU)((*(*c).owner).kind)&31U)))!=0);
1247 		if (!(T3_)) goto LA4_;
1248 		T5_ = (NI)0;
1249 		T5_ = len__ast_3198((*(*c).owner).ast);
1250 		T3_ = (((NI) 7) < T5_);
1251 		LA4_: ;
1252 		if (!T3_) goto LA6_;
1253 		gen__dfa_198(c, (*(*(*c).owner).ast)._kind_6.sons->data[((NI) 7)]);
1254 	}
1255 	LA6_: ;
1256 }
N_NIMCALL(void,genReturn__dfa_768)1257 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1258 	{
1259 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
1260 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1261 	}
1262 	goto LA1_;
1263 	LA3_: ;
1264 	{
1265 		genImplicitReturn__dfa_758(c);
1266 	}
1267 	LA1_: ;
1268 	genBreakOrRaiseAux__dfa_555(c, ((NI) 0), n);
1269 }
N_NIMCALL(void,genRaise__dfa_731)1270 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1271 {	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1272 	{
1273 		if (!(((NI) 0) < (*c).inTryStmt)) goto LA3_;
1274 		{
1275 			NI i;
1276 			NI colontmp_;
1277 			NI T6_;
1278 			NI res;
1279 			i = (NI)0;
1280 			colontmp_ = (NI)0;
1281 			T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1282 			colontmp_ = T6_;
1283 			res = colontmp_;
1284 			{
1285 				while (1) {
1286 					if (!(((NI) 0) <= res)) goto LA8;
1287 					i = res;
1288 					{
1289 						if (!(*c).blocks->data[i].isTryBlock) goto LA11_;
1290 						genBreakOrRaiseAux__dfa_555(c, i, n);
1291 						goto BeforeRet_;
1292 					}
1293 					LA11_: ;
1294 					res -= ((NI) 1);
1295 				} LA8: ;
1296 			}
1297 		}
1298 	}
1299 	goto LA1_;
1300 	LA3_: ;
1301 	{
1302 		tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T14_;
1303 		NI T15_;
1304 		NI T16_;
1305 		nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1306 		nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1307 		T14_.n = n;
1308 		T14_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1309 		T15_ = ((*c).code ? (*c).code->Sup.len : 0);
1310 		T14_.dest = (NI)(((NI) 2147483647) - T15_);
1311 		unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1312 		T16_ = (*c).code->Sup.len++;
1313 		genericAssign((void*)(&(*c).code->data[T16_]), (void*)(&T14_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1314 	}
1315 	LA1_: ;
1316 	}BeforeRet_: ;
1317 }
N_NIMCALL(void,genBreak__dfa_609)1318 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1319 {	{
1320 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
1321 		{
1322 			NI i;
1323 			NI colontmp_;
1324 			NI T6_;
1325 			NI res;
1326 			i = (NI)0;
1327 			colontmp_ = (NI)0;
1328 			T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1329 			colontmp_ = T6_;
1330 			res = colontmp_;
1331 			{
1332 				while (1) {
1333 					if (!(((NI) 0) <= res)) goto LA8;
1334 					i = res;
1335 					{
1336 						NIM_BOOL T11_;
1337 						T11_ = (NIM_BOOL)0;
1338 						T11_ = !((*c).blocks->data[i].isTryBlock);
1339 						if (!(T11_)) goto LA12_;
1340 						T11_ = ((*c).blocks->data[i]._isTryBlock_1.label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
1341 						LA12_: ;
1342 						if (!T11_) goto LA13_;
1343 						genBreakOrRaiseAux__dfa_555(c, i, n);
1344 						goto BeforeRet_;
1345 					}
1346 					LA13_: ;
1347 					res -= ((NI) 1);
1348 				} LA8: ;
1349 			}
1350 		}
1351 	}
1352 	goto LA1_;
1353 	LA3_: ;
1354 	{
1355 		{
1356 			NI i_2;
1357 			NI colontmp__2;
1358 			NI T17_;
1359 			NI res_2;
1360 			i_2 = (NI)0;
1361 			colontmp__2 = (NI)0;
1362 			T17_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1363 			colontmp__2 = T17_;
1364 			res_2 = colontmp__2;
1365 			{
1366 				while (1) {
1367 					if (!(((NI) 0) <= res_2)) goto LA19;
1368 					i_2 = res_2;
1369 					{
1370 						if (!!((*c).blocks->data[i_2].isTryBlock)) goto LA22_;
1371 						genBreakOrRaiseAux__dfa_555(c, i_2, n);
1372 						goto BeforeRet_;
1373 					}
1374 					LA22_: ;
1375 					res_2 -= ((NI) 1);
1376 				} LA19: ;
1377 			}
1378 		}
1379 	}
1380 	LA1_: ;
1381 	}BeforeRet_: ;
1382 }
N_NIMCALL(void,genTry__dfa_640)1383 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1384 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
1385 	NI oldLen;
1386 	NI T1_;
1387 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1388 	NI T10_;
1389 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
1390 	endings = NIM_NIL;
1391 	T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1392 	oldLen = T1_;
1393 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1394 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1395 	T2_.isTryBlock = NIM_TRUE;
1396 	{
1397 		NI T5_;
1398 		NI T8_;
1399 		T5_ = (NI)0;
1400 		T5_ = len__ast_3198(n);
1401 		if (!((*(*n)._kind_6.sons->data[(NI)(T5_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA6_;
1402 		T8_ = (NI)0;
1403 		T8_ = len__ast_3198(n);
1404 		T2_._isTryBlock_2.finale = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))];
1405 	}
1406 	goto LA3_;
1407 	LA6_: ;
1408 	{
1409 		T2_._isTryBlock_2.finale = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1410 	}
1411 	LA3_: ;
1412 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1413 	T10_ = (*c).blocks->Sup.len++;
1414 	genericAssign((void*)(&(*c).blocks->data[T10_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1415 	(*c).inTryStmt += ((NI) 1);
1416 	gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1417 	(*c).inTryStmt -= ((NI) 1);
1418 	{
1419 		NI* f;
1420 		tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
1421 		NI i;
1422 		NI L;
1423 		NI T12_;
1424 		f = (NI*)0;
1425 		colontmp_ = NIM_NIL;
1426 		colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_2.raiseFixups;
1427 		i = ((NI) 0);
1428 		T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
1429 		L = T12_;
1430 		{
1431 			while (1) {
1432 				if (!(i < L)) goto LA14;
1433 				f = (&colontmp_->data[i]);
1434 				patch__dfa_173(c, (*f));
1435 				i += ((NI) 1);
1436 			} LA14: ;
1437 		}
1438 	}
1439 	unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1440 	{
1441 		NI i_2;
1442 		NI colontmp__2;
1443 		NI i_3;
1444 		i_2 = (NI)0;
1445 		colontmp__2 = (NI)0;
1446 		colontmp__2 = len__ast_3198(n);
1447 		i_3 = ((NI) 1);
1448 		{
1449 			while (1) {
1450 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1451 				if (!(i_3 < colontmp__2)) goto LA17;
1452 				i_2 = i_3;
1453 				it = (*n)._kind_6.sons->data[i_2];
1454 				{
1455 					NI lab1X60gensym54_;
1456 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
1457 					NI T23_;
1458 					NI T24_;
1459 					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA20_;
1460 					lab1X60gensym54_ = forkI__dfa_83(c, it);
1461 					T22_ = NIM_NIL;
1462 					T22_ = lastSon__ast_4832(it);
1463 					gen__dfa_198(c, T22_);
1464 					T23_ = (NI)0;
1465 					T23_ = gotoI__dfa_124(c, it);
1466 					endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1467 					T24_ = endings->Sup.len++;
1468 					endings->data[T24_] = T23_;
1469 					patch__dfa_173(c, lab1X60gensym54_);
1470 				}
1471 				LA20_: ;
1472 				i_3 += ((NI) 1);
1473 			} LA17: ;
1474 		}
1475 	}
1476 	{
1477 		NI i_4;
1478 		NI colontmp__3;
1479 		NI T26_;
1480 		NI res;
1481 		i_4 = (NI)0;
1482 		colontmp__3 = (NI)0;
1483 		T26_ = ((endings ? endings->Sup.len : 0)-1);
1484 		colontmp__3 = T26_;
1485 		res = colontmp__3;
1486 		{
1487 			while (1) {
1488 				if (!(((NI) 0) <= res)) goto LA28;
1489 				i_4 = res;
1490 				patch__dfa_173(c, endings->data[i_4]);
1491 				res -= ((NI) 1);
1492 			} LA28: ;
1493 		}
1494 	}
1495 	fin = lastSon__ast_4832(n);
1496 	{
1497 		if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA31_;
1498 		gen__dfa_198(c, (*fin)._kind_6.sons->data[((NI) 0)]);
1499 	}
1500 	LA31_: ;
1501 }
N_INLINE(NI,safeLen__ast_3191)1502 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1503 	NI result;
1504 	result = (NI)0;
1505 	{
1506 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1507 		result = ((NI) 0);
1508 	}
1509 	goto LA1_;
1510 	LA3_: ;
1511 	{
1512 		result = len__ast_3198(n);
1513 	}
1514 	LA1_: ;
1515 	return result;
1516 }
N_NIMCALL(void,genVarSection__dfa_1040)1517 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1518 	{
1519 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1520 		a = NIM_NIL;
1521 		{
1522 			NI i;
1523 			NI colontmp_;
1524 			NI i_2;
1525 			i = (NI)0;
1526 			colontmp_ = (NI)0;
1527 			colontmp_ = safeLen__ast_3191(n);
1528 			i_2 = ((NI) 0);
1529 			{
1530 				while (1) {
1531 					if (!(i_2 < colontmp_)) goto LA4;
1532 					i = i_2;
1533 					a = (*n)._kind_6.sons->data[i];
1534 					{
1535 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
1536 					}
1537 					goto LA5_;
1538 					LA7_: ;
1539 					{
1540 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1541 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA10_;
1542 						T12_ = NIM_NIL;
1543 						T12_ = lastSon__ast_4832(a);
1544 						gen__dfa_198(c, T12_);
1545 						{
1546 							NI i_3;
1547 							NI colontmp__2;
1548 							NI T14_;
1549 							NI i_4;
1550 							i_3 = (NI)0;
1551 							colontmp__2 = (NI)0;
1552 							T14_ = (NI)0;
1553 							T14_ = len__ast_3198(a);
1554 							colontmp__2 = (NI)(T14_ - ((NI) 2));
1555 							i_4 = ((NI) 0);
1556 							{
1557 								while (1) {
1558 									if (!(i_4 < colontmp__2)) goto LA16;
1559 									i_3 = i_4;
1560 									genDef__dfa_979(c, (*a)._kind_6.sons->data[i_3]);
1561 									i_4 += ((NI) 1);
1562 								} LA16: ;
1563 							}
1564 						}
1565 					}
1566 					goto LA5_;
1567 					LA10_: ;
1568 					{
1569 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
1570 						T18_ = NIM_NIL;
1571 						T18_ = lastSon__ast_4832(a);
1572 						gen__dfa_198(c, T18_);
1573 						{
1574 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
1575 							T21_ = NIM_NIL;
1576 							T21_ = lastSon__ast_4832(a);
1577 							if (!!(((*T21_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22_;
1578 							genDef__dfa_979(c, (*a)._kind_6.sons->data[((NI) 0)]);
1579 						}
1580 						LA22_: ;
1581 					}
1582 					LA5_: ;
1583 					i_2 += ((NI) 1);
1584 				} LA4: ;
1585 			}
1586 		}
1587 	}
1588 }
N_NIMCALL(void,gen__dfa_198)1589 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1590 	switch ((*n).kind) {
1591 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1592 	{
1593 		genUse__dfa_963(c, n);
1594 	}
1595 	break;
1596 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
1597 	{
1598 		{
1599 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
1600 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA5_;
1601 			s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1602 			{
1603 				if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA9_;
1604 				genMagic__dfa_1026(c, n, (*s).magic);
1605 			}
1606 			goto LA7_;
1607 			LA9_: ;
1608 			{
1609 				genCall__dfa_995(c, n);
1610 			}
1611 			LA7_: ;
1612 			{
1613 				tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T16_;
1614 				NI T17_;
1615 				NI T18_;
1616 				if (!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0)) goto LA14_;
1617 				nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1618 				nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1619 				T16_.n = n;
1620 				T16_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1621 				T17_ = ((*c).code ? (*c).code->Sup.len : 0);
1622 				T16_.dest = (NI)(((NI) 2147483647) - T17_);
1623 				unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1624 				T18_ = (*c).code->Sup.len++;
1625 				genericAssign((void*)(&(*c).code->data[T18_]), (void*)(&T16_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1626 			}
1627 			LA14_: ;
1628 		}
1629 		goto LA3_;
1630 		LA5_: ;
1631 		{
1632 			genCall__dfa_995(c, n);
1633 		}
1634 		LA3_: ;
1635 	}
1636 	break;
1637 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1638 	{
1639 	}
1640 	break;
1641 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
1642 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
1643 	{
1644 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1645 		{
1646 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1647 			if (!((TM__rmUZTUif19aNVU5raHE2xtA_11[(NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0)) goto LA24_;
1648 			a = skipTrivials__dfa_951(c, (*n)._kind_6.sons->data[((NI) 0)]);
1649 			{
1650 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA28_;
1651 				gen__dfa_198(c, a);
1652 			}
1653 			LA28_: ;
1654 		}
1655 		LA24_: ;
1656 		genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 0)]);
1657 	}
1658 	break;
1659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
1662 	{
1663 		genUse__dfa_963(c, n);
1664 	}
1665 	break;
1666 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
1667 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
1668 	{
1669 		genIf__dfa_395(c, n);
1670 	}
1671 	break;
1672 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
1673 	{
1674 		gen__dfa_198(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
1675 	}
1676 	break;
1677 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
1678 	{
1679 		genCase__dfa_451(c, n);
1680 	}
1681 	break;
1682 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1683 	{
1684 		genWhile__dfa_316(c, n);
1685 	}
1686 	break;
1687 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
1688 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
1689 	{
1690 		genBlock__dfa_541(c, n);
1691 	}
1692 	break;
1693 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
1694 	{
1695 		genReturn__dfa_768(c, n);
1696 	}
1697 	break;
1698 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1699 	{
1700 		genRaise__dfa_731(c, n);
1701 	}
1702 	break;
1703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
1704 	{
1705 		genBreak__dfa_609(c, n);
1706 	}
1707 	break;
1708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1709 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
1710 	{
1711 		genTry__dfa_640(c, n);
1712 	}
1713 	break;
1714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
1715 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
1716 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
1717 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
1718 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
1719 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
1720 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
1721 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
1722 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
1723 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
1724 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
1725 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
1726 	{
1727 		{
1728 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
1729 			x = NIM_NIL;
1730 			{
1731 				NI i;
1732 				NI colontmp_;
1733 				NI i_2;
1734 				i = (NI)0;
1735 				colontmp_ = (NI)0;
1736 				colontmp_ = safeLen__ast_3191(n);
1737 				i_2 = ((NI) 0);
1738 				{
1739 					while (1) {
1740 						if (!(i_2 < colontmp_)) goto LA44;
1741 						i = i_2;
1742 						x = (*n)._kind_6.sons->data[i];
1743 						gen__dfa_198(c, x);
1744 						i_2 += ((NI) 1);
1745 					} LA44: ;
1746 				}
1747 			}
1748 		}
1749 	}
1750 	break;
1751 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
1752 	{
1753 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T46_;
1754 		T46_ = NIM_NIL;
1755 		T46_ = lastSon__ast_4832(n);
1756 		gen__dfa_198(c, T46_);
1757 	}
1758 	break;
1759 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
1760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
1761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
1763 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
1764 	{
1765 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1766 	}
1767 	break;
1768 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
1769 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
1770 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
1771 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
1772 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1773 	{
1774 		gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1775 	}
1776 	break;
1777 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1778 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1779 	{
1780 		genVarSection__dfa_1040(c, n);
1781 	}
1782 	break;
1783 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
1784 	{
1785 		{
1786 			if (!NIM_TRUE) goto LA53_;
1787 			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_13));
1788 		}
1789 		LA53_: ;
1790 	}
1791 	break;
1792 	default:
1793 	{
1794 	}
1795 	break;
1796 	}
1797 }
N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ *,constructCfg__dfa_1135)1798 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body) {
1799 	tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* result;
1800 	tyObject_Con__eFhkbMY30pSTdER2YWz9cRw c;
1801 	NI oldLenX60gensym138_;
1802 	NI T1_;
1803 	tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1804 	NI T3_;
1805 	result = NIM_NIL;
1806 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1807 	nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1808 	c.code = NIM_NIL;
1809 	c.blocks = NIM_NIL;
1810 	c.owner = s;
1811 	T1_ = (c.blocks ? c.blocks->Sup.len : 0);
1812 	oldLenX60gensym138_ = T1_;
1813 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1814 	nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1815 	T2_.isTryBlock = NIM_FALSE;
1816 	T2_._isTryBlock_1.label = s;
1817 	c.blocks = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)(c.blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_));
1818 	T3_ = c.blocks->Sup.len++;
1819 	genericAssign((void*)(&c.blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1820 	gen__dfa_198((&c), body);
1821 	genImplicitReturn__dfa_758((&c));
1822 	popBlock__dfa_201((&c), oldLenX60gensym138_);
1823 	result = c.code;
1824 	return result;
1825 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw **,X5BX5D___ast_4836)1826 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i) {
1827 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
1828 	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1829 	result = &s[(NI)(sLen_0 - i)];
1830 	return result;
1831 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliases__dfa_792)1832 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
1833 	tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
1834 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* objImportantNodes;
1835 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj_2;
1836 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* fieldImportantNodes;
1837 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
1838 {	result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
1839 	objImportantNodes = NIM_NIL;
1840 	obj_2 = obj;
1841 	{
1842 		while (1) {
1843 			switch ((*obj_2).kind) {
1844 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1845 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1846 			{
1847 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1848 			}
1849 			break;
1850 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1851 			{
1852 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 1)];
1853 			}
1854 			break;
1855 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1856 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1857 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1858 			{
1859 				NI T6_;
1860 				objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1861 				T6_ = objImportantNodes->Sup.len++;
1862 				asgnRef((void**) (&objImportantNodes->data[T6_]), obj_2);
1863 				obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1864 			}
1865 			break;
1866 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1867 			{
1868 				NI T8_;
1869 				objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1870 				T8_ = objImportantNodes->Sup.len++;
1871 				asgnRef((void**) (&objImportantNodes->data[T8_]), obj_2);
1872 				goto LA1;
1873 			}
1874 			break;
1875 			default:
1876 			{
1877 				result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1878 				goto BeforeRet_;
1879 			}
1880 			break;
1881 			}
1882 		}
1883 	} LA1: ;
1884 	fieldImportantNodes = NIM_NIL;
1885 	field_2 = field;
1886 	{
1887 		while (1) {
1888 			switch ((*field_2).kind) {
1889 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1890 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1891 			{
1892 				field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1893 			}
1894 			break;
1895 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1896 			{
1897 				field_2 = (*field_2)._kind_6.sons->data[((NI) 1)];
1898 			}
1899 			break;
1900 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1901 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1902 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1903 			{
1904 				NI T15_;
1905 				fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1906 				T15_ = fieldImportantNodes->Sup.len++;
1907 				asgnRef((void**) (&fieldImportantNodes->data[T15_]), field_2);
1908 				field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1909 			}
1910 			break;
1911 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1912 			{
1913 				NI T17_;
1914 				fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1915 				T17_ = fieldImportantNodes->Sup.len++;
1916 				asgnRef((void**) (&fieldImportantNodes->data[T17_]), field_2);
1917 				goto LA10;
1918 			}
1919 			break;
1920 			default:
1921 			{
1922 				result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1923 				goto BeforeRet_;
1924 			}
1925 			break;
1926 			}
1927 		}
1928 	} LA10: ;
1929 	{
1930 		NI T21_;
1931 		NI T22_;
1932 		T21_ = (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0);
1933 		T22_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1934 		if (!(T21_ < T22_)) goto LA23_;
1935 		result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1936 		goto BeforeRet_;
1937 	}
1938 	LA23_: ;
1939 	result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0);
1940 	{
1941 		NI i;
1942 		NI colontmp_;
1943 		NI T26_;
1944 		NI res;
1945 		i = (NI)0;
1946 		colontmp_ = (NI)0;
1947 		T26_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1948 		colontmp_ = T26_;
1949 		res = ((NI) 1);
1950 		{
1951 			while (1) {
1952 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currFieldPath;
1953 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T29_;
1954 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currObjPath;
1955 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T30_;
1956 				if (!(res <= colontmp_)) goto LA28;
1957 				i = res;
1958 				T29_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1959 				T29_ = X5BX5D___ast_4836(fieldImportantNodes->data, (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0), i);
1960 				currFieldPath = (*T29_);
1961 				T30_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1962 				T30_ = X5BX5D___ast_4836(objImportantNodes->data, (objImportantNodes ? objImportantNodes->Sup.len : 0), i);
1963 				currObjPath = (*T30_);
1964 				{
1965 					if (!!(((*currFieldPath).kind == (*currObjPath).kind))) goto LA33_;
1966 					result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1967 					goto BeforeRet_;
1968 				}
1969 				LA33_: ;
1970 				switch ((*currFieldPath).kind) {
1971 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1972 				{
1973 					{
1974 						if (!!(((*currFieldPath)._kind_4.sym == (*currObjPath)._kind_4.sym))) goto LA38_;
1975 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1976 						goto BeforeRet_;
1977 					}
1978 					LA38_: ;
1979 				}
1980 				break;
1981 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1982 				{
1983 					{
1984 						if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA43_;
1985 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1986 						goto BeforeRet_;
1987 					}
1988 					LA43_: ;
1989 				}
1990 				break;
1991 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1992 				{
1993 					{
1994 						if (!!(((*(*(*currFieldPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*(*currObjPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA48_;
1995 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1996 						goto BeforeRet_;
1997 					}
1998 					LA48_: ;
1999 				}
2000 				break;
2001 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2002 				{
2003 					{
2004 						NIM_BOOL T53_;
2005 						T53_ = (NIM_BOOL)0;
2006 						T53_ = ((*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2007 						if (!(T53_)) goto LA54_;
2008 						T53_ = ((*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2009 						LA54_: ;
2010 						if (!T53_) goto LA55_;
2011 						{
2012 							if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal))) goto LA59_;
2013 							result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
2014 							goto BeforeRet_;
2015 						}
2016 						LA59_: ;
2017 					}
2018 					goto LA51_;
2019 					LA55_: ;
2020 					{
2021 						result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 2);
2022 					}
2023 					LA51_: ;
2024 				}
2025 				break;
2026 				default:
2027 				{
2028 				}
2029 				break;
2030 				}
2031 				res += ((NI) 1);
2032 			} LA28: ;
2033 		}
2034 	}
2035 	}BeforeRet_: ;
2036 	return result;
2037 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)2038 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2039 	NIM_BOOL result;
2040 	NIM_BOOL T1_;
2041 	NIM_BOOL T3_;
2042 	result = (NIM_BOOL)0;
2043 	T1_ = (NIM_BOOL)0;
2044 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2045 	if (!(T1_)) goto LA2_;
2046 	T3_ = (NIM_BOOL)0;
2047 	T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
2048 	if (T3_) goto LA4_;
2049 	T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
2050 	LA4_: ;
2051 	T1_ = T3_;
2052 	LA2_: ;
2053 	result = T1_;
2054 	return result;
2055 }
N_NIMCALL(NIM_BOOL,isAnalysableFieldAccess__dfa_903)2056 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
2057 	NIM_BOOL result;
2058 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2059 	NIM_BOOL T12_;
2060 	NIM_BOOL T13_;
2061 	NIM_BOOL T14_;
2062 	NIM_BOOL T18_;
2063 {	result = (NIM_BOOL)0;
2064 	n = orig;
2065 	{
2066 		while (1) {
2067 			switch ((*n).kind) {
2068 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2069 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
2070 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
2071 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2072 			{
2073 				n = (*n)._kind_6.sons->data[((NI) 0)];
2074 			}
2075 			break;
2076 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2077 			{
2078 				n = (*n)._kind_6.sons->data[((NI) 1)];
2079 			}
2080 			break;
2081 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
2082 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
2083 			{
2084 				NIM_BOOL T6_;
2085 				NIM_BOOL T7_;
2086 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
2087 				n = (*n)._kind_6.sons->data[((NI) 0)];
2088 				T6_ = (NIM_BOOL)0;
2089 				T7_ = (NIM_BOOL)0;
2090 				T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2091 				if (!(T7_)) goto LA8_;
2092 				T7_ = ((*(*n)._kind_4.sym).owner == owner);
2093 				LA8_: ;
2094 				T6_ = T7_;
2095 				if (!(T6_)) goto LA9_;
2096 				T10_ = NIM_NIL;
2097 				T10_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__rmUZTUif19aNVU5raHE2xtA_17);
2098 				T6_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
2099 				LA9_: ;
2100 				result = T6_;
2101 				goto BeforeRet_;
2102 			}
2103 			break;
2104 			default:
2105 			{
2106 				goto LA1;
2107 			}
2108 			break;
2109 			}
2110 		}
2111 	} LA1: ;
2112 	T12_ = (NIM_BOOL)0;
2113 	T13_ = (NIM_BOOL)0;
2114 	T14_ = (NIM_BOOL)0;
2115 	T14_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2116 	if (!(T14_)) goto LA15_;
2117 	T14_ = ((*(*n)._kind_4.sym).owner == owner);
2118 	LA15_: ;
2119 	T13_ = T14_;
2120 	if (!(T13_)) goto LA16_;
2121 	T13_ = ((IL64(2199090364424) & (*(*n)._kind_4.sym).flags) == 0);
2122 	LA16_: ;
2123 	T12_ = T13_;
2124 	if (!(T12_)) goto LA17_;
2125 	T18_ = (NIM_BOOL)0;
2126 	T18_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
2127 	if (T18_) goto LA19_;
2128 	T18_ = isSinkParam__ast_5030((*n)._kind_4.sym);
2129 	LA19_: ;
2130 	T12_ = T18_;
2131 	LA17_: ;
2132 	result = T12_;
2133 	}BeforeRet_: ;
2134 	return result;
2135 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvDfa__dfa_780)2136 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2137 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2138 	result = NIM_NIL;
2139 	result = n;
2140 	{
2141 		while (1) {
2142 			switch ((*result).kind) {
2143 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
2144 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2145 			{
2146 				result = (*result)._kind_6.sons->data[((NI) 0)];
2147 			}
2148 			break;
2149 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2150 			{
2151 				result = (*result)._kind_6.sons->data[((NI) 1)];
2152 			}
2153 			break;
2154 			default:
2155 			{
2156 				goto LA1;
2157 			}
2158 			break;
2159 			}
2160 		}
2161 	} LA1: ;
2162 	return result;
2163 }
N_NIMCALL(void,compiler_dfaDatInit000)2164 N_LIB_PRIVATE N_NIMCALL(void, compiler_dfaDatInit000)(void) {
2165 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_2_2[2];
2166 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_3_2[2];
2167 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_4_2[2];
2168 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_5_2[2];
2169 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_6_4[4];
2170 NI TM__rmUZTUif19aNVU5raHE2xtA_8;
2171 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_7[4] = {
2172 "goto",
2173 "fork",
2174 "def",
2175 "use"};
2176 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_14_3[3];
2177 NI TM__rmUZTUif19aNVU5raHE2xtA_16;
2178 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_15[3] = {
2179 "yes",
2180 "no",
2181 "maybe"};
2182 static TNimNode TM__rmUZTUif19aNVU5raHE2xtA_0[24];
2183 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.size = sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2184 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.align = NIM_ALIGNOF(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2185 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.kind = 18;
2186 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.base = 0;
2187 TM__rmUZTUif19aNVU5raHE2xtA_0[0].kind = 3;
2188 TM__rmUZTUif19aNVU5raHE2xtA_0[0].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, isTryBlock);
2189 TM__rmUZTUif19aNVU5raHE2xtA_0[0].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2190 TM__rmUZTUif19aNVU5raHE2xtA_0[0].name = "isTryBlock";
2191 TM__rmUZTUif19aNVU5raHE2xtA_0[0].sons = &NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0];
2192 TM__rmUZTUif19aNVU5raHE2xtA_0[0].len = 2;
2193 TM__rmUZTUif19aNVU5raHE2xtA_2_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[2];
2194 TM__rmUZTUif19aNVU5raHE2xtA_0[2].kind = 1;
2195 TM__rmUZTUif19aNVU5raHE2xtA_0[2].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.label);
2196 TM__rmUZTUif19aNVU5raHE2xtA_0[2].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
2197 TM__rmUZTUif19aNVU5raHE2xtA_0[2].name = "label";
2198 TM__rmUZTUif19aNVU5raHE2xtA_2_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[3];
2199 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.size = sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2200 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.align = NIM_ALIGNOF(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2201 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.kind = 18;
2202 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.base = 0;
2203 TM__rmUZTUif19aNVU5raHE2xtA_3_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[5];
2204 TM__rmUZTUif19aNVU5raHE2xtA_0[5].kind = 1;
2205 TM__rmUZTUif19aNVU5raHE2xtA_0[5].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field0);
2206 TM__rmUZTUif19aNVU5raHE2xtA_0[5].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2207 TM__rmUZTUif19aNVU5raHE2xtA_0[5].name = "Field0";
2208 TM__rmUZTUif19aNVU5raHE2xtA_3_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[6];
2209 TM__rmUZTUif19aNVU5raHE2xtA_0[6].kind = 1;
2210 TM__rmUZTUif19aNVU5raHE2xtA_0[6].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field1);
2211 TM__rmUZTUif19aNVU5raHE2xtA_0[6].typ = (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_);
2212 TM__rmUZTUif19aNVU5raHE2xtA_0[6].name = "Field1";
2213 TM__rmUZTUif19aNVU5raHE2xtA_0[4].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].sons = &TM__rmUZTUif19aNVU5raHE2xtA_3_2[0];
2214 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[4];
2215 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.size = sizeof(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2216 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.align = NIM_ALIGNOF(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2217 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.kind = 24;
2218 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.base = (&NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_);
2219 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.marker = Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg;
2220 TM__rmUZTUif19aNVU5raHE2xtA_0[3].kind = 1;
2221 TM__rmUZTUif19aNVU5raHE2xtA_0[3].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.breakFixups);
2222 TM__rmUZTUif19aNVU5raHE2xtA_0[3].typ = (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_);
2223 TM__rmUZTUif19aNVU5raHE2xtA_0[3].name = "breakFixups";
2224 TM__rmUZTUif19aNVU5raHE2xtA_0[1].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].sons = &TM__rmUZTUif19aNVU5raHE2xtA_2_2[0];
2225 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[1];
2226 TM__rmUZTUif19aNVU5raHE2xtA_4_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[8];
2227 TM__rmUZTUif19aNVU5raHE2xtA_0[8].kind = 1;
2228 TM__rmUZTUif19aNVU5raHE2xtA_0[8].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.finale);
2229 TM__rmUZTUif19aNVU5raHE2xtA_0[8].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2230 TM__rmUZTUif19aNVU5raHE2xtA_0[8].name = "finale";
2231 TM__rmUZTUif19aNVU5raHE2xtA_4_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[9];
2232 TM__rmUZTUif19aNVU5raHE2xtA_0[9].kind = 1;
2233 TM__rmUZTUif19aNVU5raHE2xtA_0[9].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.raiseFixups);
2234 TM__rmUZTUif19aNVU5raHE2xtA_0[9].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
2235 TM__rmUZTUif19aNVU5raHE2xtA_0[9].name = "raiseFixups";
2236 TM__rmUZTUif19aNVU5raHE2xtA_0[7].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].sons = &TM__rmUZTUif19aNVU5raHE2xtA_4_2[0];
2237 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[7];
2238 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[0];
2239 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.size = sizeof(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2240 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.align = NIM_ALIGNOF(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2241 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.kind = 24;
2242 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.base = (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_);
2243 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.marker = Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
2244 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.size = sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2245 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.align = NIM_ALIGNOF(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2246 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.kind = 18;
2247 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.base = 0;
2248 TM__rmUZTUif19aNVU5raHE2xtA_5_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[11];
2249 TM__rmUZTUif19aNVU5raHE2xtA_0[11].kind = 1;
2250 TM__rmUZTUif19aNVU5raHE2xtA_0[11].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, n);
2251 TM__rmUZTUif19aNVU5raHE2xtA_0[11].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2252 TM__rmUZTUif19aNVU5raHE2xtA_0[11].name = "n";
2253 TM__rmUZTUif19aNVU5raHE2xtA_5_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[12];
2254 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.size = sizeof(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2255 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.align = NIM_ALIGNOF(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2256 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.kind = 14;
2257 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.base = 0;
2258 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.flags = 3;
2259 for (TM__rmUZTUif19aNVU5raHE2xtA_8 = 0; TM__rmUZTUif19aNVU5raHE2xtA_8 < 4; TM__rmUZTUif19aNVU5raHE2xtA_8++) {
2260 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].kind = 1;
2261 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].offset = TM__rmUZTUif19aNVU5raHE2xtA_8;
2262 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].name = TM__rmUZTUif19aNVU5raHE2xtA_7[TM__rmUZTUif19aNVU5raHE2xtA_8];
2263 TM__rmUZTUif19aNVU5raHE2xtA_6_4[TM__rmUZTUif19aNVU5raHE2xtA_8] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13];
2264 }
2265 TM__rmUZTUif19aNVU5raHE2xtA_0[17].len = 4; TM__rmUZTUif19aNVU5raHE2xtA_0[17].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[17].sons = &TM__rmUZTUif19aNVU5raHE2xtA_6_4[0];
2266 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[17];
2267 TM__rmUZTUif19aNVU5raHE2xtA_0[12].kind = 3;
2268 TM__rmUZTUif19aNVU5raHE2xtA_0[12].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, kind);
2269 TM__rmUZTUif19aNVU5raHE2xtA_0[12].typ = (&NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_);
2270 TM__rmUZTUif19aNVU5raHE2xtA_0[12].name = "kind";
2271 TM__rmUZTUif19aNVU5raHE2xtA_0[12].sons = &NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0];
2272 TM__rmUZTUif19aNVU5raHE2xtA_0[12].len = 4;
2273 TM__rmUZTUif19aNVU5raHE2xtA_0[18].kind = 1;
2274 TM__rmUZTUif19aNVU5raHE2xtA_0[18].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, dest);
2275 TM__rmUZTUif19aNVU5raHE2xtA_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2276 TM__rmUZTUif19aNVU5raHE2xtA_0[18].name = "dest";
2277 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2278 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2279 TM__rmUZTUif19aNVU5raHE2xtA_0[19].len = 0; TM__rmUZTUif19aNVU5raHE2xtA_0[19].kind = 2;
2280 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[4] = &TM__rmUZTUif19aNVU5raHE2xtA_0[19];
2281 TM__rmUZTUif19aNVU5raHE2xtA_0[10].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].sons = &TM__rmUZTUif19aNVU5raHE2xtA_5_2[0];
2282 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[10];
2283 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.size = sizeof(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2284 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.align = NIM_ALIGNOF(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2285 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.kind = 24;
2286 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.base = (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_);
2287 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.marker = Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
2288 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.size = sizeof(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2289 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.align = NIM_ALIGNOF(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2290 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.kind = 14;
2291 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.base = 0;
2292 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.flags = 3;
2293 for (TM__rmUZTUif19aNVU5raHE2xtA_16 = 0; TM__rmUZTUif19aNVU5raHE2xtA_16 < 3; TM__rmUZTUif19aNVU5raHE2xtA_16++) {
2294 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].kind = 1;
2295 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].offset = TM__rmUZTUif19aNVU5raHE2xtA_16;
2296 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].name = TM__rmUZTUif19aNVU5raHE2xtA_15[TM__rmUZTUif19aNVU5raHE2xtA_16];
2297 TM__rmUZTUif19aNVU5raHE2xtA_14_3[TM__rmUZTUif19aNVU5raHE2xtA_16] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20];
2298 }
2299 TM__rmUZTUif19aNVU5raHE2xtA_0[23].len = 3; TM__rmUZTUif19aNVU5raHE2xtA_0[23].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[23].sons = &TM__rmUZTUif19aNVU5raHE2xtA_14_3[0];
2300 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[23];
2301 }
2302 
2303