1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
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 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
23 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
24 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
25 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
26 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
27 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
28 typedef struct RootObj RootObj;
29 typedef struct TNimType TNimType;
30 typedef struct TNimNode TNimNode;
31 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
32 typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
33 typedef struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA tySequence__PJMRIt5QxCm6bRaVyQ5CGA;
34 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
35 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
36 typedef struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ;
37 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
38 typedef struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A tySequence__YWbgnI9b9a4j9aDYnupShIg3A;
39 typedef struct NimStringDesc NimStringDesc;
40 typedef struct TGenericSeq TGenericSeq;
41 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
42 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
43 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
44 typedef struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg;
45 typedef struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ;
46 typedef struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ tySequence__Q9atPKk5Xsv6h4rje4WzNLQ;
47 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
48 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
49 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
50 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
51 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
52 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
53 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
54 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
55 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
56 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
57 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
58 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
59 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
60 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
61 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
62 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
63 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
64 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
65 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
66 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
67 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
68 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
69 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
70 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
71 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
72 typedef struct tySequence__JokFGfUW6i9b6aeU7xu6xBw tySequence__JokFGfUW6i9b6aeU7xu6xBw;
73 typedef struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg;
74 typedef struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyTuple__SlmU1Ju0WFHUWkihyHMVYg;
75 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
76 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
77 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
78 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
79 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
80 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
81 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
82 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
83 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
84 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
85 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
86 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
87 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
88 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
89 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
90 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
91 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
92 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
93 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
94 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
95 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
96 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
97 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
98 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
99 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
100 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
101 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
102 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
103 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
104 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
105 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
106 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
107 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
108 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
109 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
110 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
111 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
112 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
113 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
114 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
115 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
116 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
117 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
118 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
119 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
120 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
121 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
122 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
123 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
124 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
125 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
126 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
127 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
128 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
129 typedef struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw tyTuple__C1iPjdrPjiQaUrcFhIp9aGw;
130 typedef struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA;
131 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
132 typedef struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ;
133 typedef struct tyTuple__4707W0MdkBgzyuDClNdLBQ tyTuple__4707W0MdkBgzyuDClNdLBQ;
134 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
135 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
136 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
137 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
138 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
139 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
140 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
141 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
142 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
143 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
144 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
145 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
146 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
147 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
148 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
149 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
150 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
151 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
152 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
153 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
154 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
155 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
156 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
157 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
158 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
159 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
160 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
161 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
162 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
163 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
164 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
165 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
166 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
167 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
168 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
169 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
170 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
171 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
172 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
173 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
174 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
175 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
176 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
177 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
178 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
179 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
180 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
181 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
182 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
183 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
184 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
185 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
186 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
187 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
188 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
189 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
190 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
191 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
192 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
193 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
194 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
195 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
196 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
197 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
198 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
199 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
200 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
201 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
202 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
203 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
204 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
205 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
206 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
207 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
208 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
209 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
210 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
211 NI counter;
212 };
213 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
214 NI Field0;
215 NI Field1;
216 NI Field2;
217 };
218 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
219 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
220 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
221 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
222 struct TNimType {
223 NI size;
224 NI align;
225 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
226 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
227 TNimType* base;
228 TNimNode* node;
229 void* finalizer;
230 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
231 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
232 };
233 struct RootObj {
234 TNimType* m_type;
235 };
236 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
237   RootObj Sup;
238 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
239 };
240 typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
241 typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
242 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
243 NU16 line;
244 NI16 col;
245 NI32 fileIndex;
246 };
247 struct TGenericSeq {
248 NI len;
249 NI reserved;
250 };
251 struct NimStringDesc {
252   TGenericSeq Sup;
253 NIM_CHAR data[SEQ_DECL_SIZE];
254 };
255 struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg {
256 NF tEnter;
257 tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
258 };
259 struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw {
260   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
261 tySequence__YdLNCDKYeipzJx3I8Xw82Q* code;
262 tySequence__PJMRIt5QxCm6bRaVyQ5CGA* debug;
263 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* globals;
264 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constants;
265 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionA;
267 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionB;
268 NI exceptionInstr;
269 tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* prc;
270 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
271 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callsite;
272 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode;
273 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A features;
274 NIM_BOOL traceActive;
275 NI loopIterations;
276 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q comesFromHeuristic;
277 tySequence__YWbgnI9b9a4j9aDYnupShIg3A* callbacks;
278 NimStringDesc* errorFlag;
279 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
280 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
281 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
282 NI oldErrorCount;
283 tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg profiler;
284 NI* templInstCounter;
285 tySequence__Q9atPKk5Xsv6h4rje4WzNLQ* vmstateDiff;
286 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w procToCodePos;
287 };
288 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
289 NI32 module;
290 NI32 item;
291 };
292 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
293   RootObj Sup;
294 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
295 };
296 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
297 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
298 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
299 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
300 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
301 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
302 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
303 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
304 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
305 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
306 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
307 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
308 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
309 };
310 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
311   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
312 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
313 union{
314 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
315 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
316 } _kind_1;
317 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
318 NI bitsize;
319 NI alignment;
320 } _kind_2;
321 };
322 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
323 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
324 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
325 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
326 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
327 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
328 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
329 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
330 NI position;
331 NI offset;
332 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
333 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
334 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
335 };
336 typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
337 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
338 struct TNimNode {
339 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
340 NI offset;
341 TNimType* typ;
342 NCSTRING name;
343 NI len;
344 TNimNode** sons;
345 };
346 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
347 NI refcount;
348 TNimType* typ;
349 };
350 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
351 void* bottom;
352 };
353 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
354 NI len;
355 NI cap;
356 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
357 };
358 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
359 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
360 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
361 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
362 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
363 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
364 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
365 };
366 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
367 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
368 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
369 NI key;
370 NI upperBound;
371 NI level;
372 };
373 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
374 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
375 NI Field1;
376 };
377 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
378 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
379 NI len;
380 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
381 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
382 };
383 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
384 NI minLargeObj;
385 NI maxLargeObj;
386 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
387 NU32 flBitmap;
388 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
389 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
390 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
391 NI currMem;
392 NI maxMem;
393 NI freeMem;
394 NI occ;
395 NI lastSize;
396 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
397 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
398 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
399 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
400 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
401 NIM_BOOL locked;
402 NIM_BOOL blockChunkSizeIncrease;
403 NI nextChunkSize;
404 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
405 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
406 };
407 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
408 NI stackScans;
409 NI cycleCollections;
410 NI maxThreshold;
411 NI maxStackSize;
412 NI maxStackCells;
413 NI cycleTableSize;
414 NI64 maxPause;
415 };
416 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
417 NI counter;
418 NI max;
419 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
420 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
421 };
422 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
423 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
424 NI cycleThreshold;
425 NI zctThreshold;
426 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
427 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
428 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
429 NI recGcLock;
430 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
431 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
432 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
433 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
434 NI gcThreadId;
435 };
436 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
437 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
438 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
439 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
440 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
441 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
442 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
443 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
444 union{
445 struct {NI64 intVal;
446 } _kind_1;
447 struct {NF floatVal;
448 } _kind_2;
449 struct {NimStringDesc* strVal;
450 } _kind_3;
451 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
452 } _kind_4;
453 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
454 } _kind_5;
455 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
456 } _kind_6;
457 };
458 };
459 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
460 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
461 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
462 NimStringDesc* Field0;
463 NI Field1;
464 NI Field2;
465 };
466 struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ {
467 tySequence__JokFGfUW6i9b6aeU7xu6xBw* blocks;
468 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
469 tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg* regInfo;
470 };
471 typedef NU8 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ;
472 struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg {
473 NIM_BOOL Field0;
474 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ Field1;
475 };
476 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
477 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
478 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
479 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
480   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
481 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
482 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
483 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
484 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
485 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
486 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
487 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
488 NI64 size;
489 NI16 align;
490 NI16 paddingAtEnd;
491 NI16 lockLevel;
492 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
493 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
494 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
495 };
496 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
497 typedef NU8 tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
498 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
499 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
500 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
501 NI counter;
502 };
503 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
504 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
505 NI counter;
506 };
507 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
508 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
509 NI counter;
510 };
511 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
512 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
513 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
514 NI counter;
515 };
516 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
517 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
518 NI counter;
519 };
520 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
521 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
522 NI counter;
523 };
524 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
525 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
526 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
527 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
528 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
529 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
530 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
531 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
532 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
533 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
534 };
535 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
536 NI counter;
537 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
538 };
539 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
540 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
541 NI counter;
542 };
543 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
544 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
545 NI elems;
546 NI counter;
547 NI max;
548 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
549 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
550 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
551 };
552 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
553 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
554 NI counter;
555 };
556 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
557 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
558 NI counter;
559 };
560 typedef struct {
561 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
562 void* ClE_0;
563 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
564 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
565 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
566 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
567 NI counter;
568 };
569 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
570 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
571 NI counter;
572 };
573 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
574 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
575 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
576 tySequence__23SMqauuRsbDANhthj9bWlA* data;
577 NI counter;
578 };
579 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
580 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
581 NI counter;
582 };
583 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
584 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
585 NI counter;
586 };
587 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
588 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
589 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
590 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
591 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
592 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
593 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
594 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
595 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
596 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
597 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
598 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
599 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
600 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
601 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
602 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
603 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
604 };
605 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
606 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
607 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
608 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
609 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
610 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
611 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
612 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
613 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
614 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
615 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
616 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
617 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
618 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
619 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
620 NIM_BOOL suggestMode;
621 NIM_BOOL invalidTransitiveClosure;
622 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
623 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
624 RootObj* backend;
625 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
626 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
627 RootObj* vm;
628 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
629 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
630 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
631 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
632 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
633 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
634 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
635 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
636 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
637 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
638 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
639 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
640 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
641 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
642 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
643 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
644 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
645 tySequence__MAQKEADohlpnXTModtugbQ* passes;
646 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
647 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
648 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
649 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
650 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
651 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
652 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
653 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
654 };
655 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
656 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
657 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
658 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
659 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
660 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
661 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
662 NI intSize;
663 NI floatSize;
664 NI ptrSize;
665 NimStringDesc* tnl;
666 };
667 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
668 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
669 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
670 NIM_BOOL trackPosAttached;
671 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
672 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
673 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
674 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
675 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
676 NI32 systemFileIdx;
677 };
678 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
679 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
680 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
681 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
682 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
683 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
684 NI counter;
685 };
686 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
687 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
688 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
689 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
690 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
691 typedef struct {
692 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
693 void* ClE_0;
694 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
695 typedef struct {
696 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
697 void* ClE_0;
698 } tyProc__k2HFjxisIgDALbEUFojxaQ;
699 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
700 typedef struct {
701 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
702 void* ClE_0;
703 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
704 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
705 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
706 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
707 NI linesCompiled;
708 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
709 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
710 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
711 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
712 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
713 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
714 NimStringDesc* unitSep;
715 NI evalTemplateCounter;
716 NI evalMacroCounter;
717 NI8 exitcode;
718 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
719 NimStringDesc* cmdInput;
720 NIM_BOOL projectIsCmd;
721 NIM_BOOL implicitCmd;
722 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
723 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
724 NIM_BOOL hintProcessingDots;
725 NI verbosity;
726 NI numberOfProcessors;
727 NF lastCmdTime;
728 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
729 NI spellSuggestMax;
730 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
731 NimStringDesc* headerFile;
732 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
733 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
734 NimStringDesc* arguments;
735 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
736 NIM_BOOL oldNewlines;
737 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
738 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
739 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
740 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
741 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
742 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
743 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
744 NI mainPackageId;
745 NI errorCounter;
746 NI hintCounter;
747 NI warnCounter;
748 NI errorMax;
749 NI maxLoopIterationsVM;
750 NIM_BOOL isVmTrace;
751 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
752 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
753 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
754 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
755 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
756 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
757 NimStringDesc* outFile;
758 NimStringDesc* outDir;
759 NimStringDesc* jsonBuildFile;
760 NimStringDesc* prefixDir;
761 NimStringDesc* libpath;
762 NimStringDesc* nimcacheDir;
763 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
764 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
765 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
766 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
767 NimStringDesc* projectName;
768 NimStringDesc* projectPath;
769 NimStringDesc* projectFull;
770 NIM_BOOL projectIsStdin;
771 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
772 NI32 projectMainIdx;
773 NI32 projectMainIdx2;
774 NimStringDesc* command;
775 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
776 NimStringDesc* commandLine;
777 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
778 NIM_BOOL keepComments;
779 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
780 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
781 NimStringDesc* docSeeSrcUrl;
782 NimStringDesc* docRoot;
783 NimStringDesc* docCmd;
784 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
785 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
786 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
787 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
788 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
789 NimStringDesc* linkOptionsCmd;
790 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
791 NimStringDesc* linkOptions;
792 NimStringDesc* compileOptions;
793 NimStringDesc* cCompilerPath;
794 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
795 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
796 NI suggestVersion;
797 NI suggestMaxResults;
798 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
799 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
800 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
801 NimStringDesc* cppCustomNamespace;
802 NimStringDesc* nimMainPrefix;
803 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
804 };
805 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
806 NI id;
807 NimStringDesc* s;
808 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
809 NI h;
810 };
811 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
812 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
813 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
814 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
815 };
816 typedef NU8 tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ;
817 typedef struct {
818 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
819 void* ClE_0;
820 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
821 struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw {
822 NimStringDesc* Field0;
823 tyProc__5QC9cKfPJmKuW0XbCTd8ylA Field1;
824 };
825 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
826 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
827 struct tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA {
828   RootObj Sup;
829 NI colonstate_;
830 tyObject_TType__facALICuu8zUj0hjvbTLFg* t21;
831 tyObject_TType__facALICuu8zUj0hjvbTLFg* targ22;
832 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n3;
833 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg4;
834 };
835 typedef N_CLOSURE_PTR(NIM_BOOL, TM__24XApAWKNvaMkcyklm8bNA_54) (void);
836 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
837 struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ {
838 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
839 tySequence__qwqHTkRvwhrRyENtudHQ7g* fixups;
840 };
841 typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
842 struct tyTuple__4707W0MdkBgzyuDClNdLBQ {
843 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
844 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
845 };
846 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
847 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
848 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
849 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
850 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
851 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
852 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
853 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
854 };
855 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
856 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
857 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
858 };
859 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
860 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
861 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
862 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
863 };
864 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
865 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
866 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
867 };
868 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
869 NimStringDesc* definedSymbols;
870 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
871 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
872 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
873 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
874 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
875 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
876 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
877 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
878 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
879 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
880 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
881 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
882 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
883 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
884 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
885 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
886 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
887 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
888 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
889 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
890 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
891 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
892 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
893 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
894 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
895 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
896 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
897 };
898 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
899 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
900 NI counter;
901 };
902 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
903 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
904 NIM_BOOL symsInit;
905 NIM_BOOL typesInit;
906 NIM_BOOL loadedButAliveSetChanged;
907 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
908 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
909 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
910 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
911 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
912 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
913 };
914 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
915 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
916 NI counter;
917 };
918 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
919 NI32 thisModule;
920 NI32 lastFile;
921 NU32 lastLit;
922 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
923 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
924 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
925 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
926 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
927 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
928 };
929 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
930 NU32 module;
931 NI32 item;
932 };
933 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
934 NI module;
935 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
936 };
937 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
938 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
939 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
940 };
941 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
942 NI Field0;
943 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
944 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
945 };
946 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
947 NI module;
948 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
949 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
950 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
951 };
952 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
953 NI Field0;
954 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
955 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
956 };
957 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
958 NI Field0;
959 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
960 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
961 };
962 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
963 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
964 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
965 };
966 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
967 NI Field0;
968 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
969 };
970 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
971 NI Field0;
972 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
973 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
974 };
975 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
976 NI Field0;
977 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
978 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
979 };
980 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
981 NI Field0;
982 NimStringDesc* Field1;
983 NI32 Field2;
984 };
985 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
986 NI Field0;
987 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
988 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
989 };
990 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
991 NI Field0;
992 NI32 Field1;
993 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
994 };
995 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
996 NI Field0;
997 NI32 Field1;
998 NI32 Field2;
999 };
1000 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1001 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1002 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1003 };
1004 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1005 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1006 NI Field0;
1007 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1008 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1009 };
1010 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1011 NI Field0;
1012 NI Field1;
1013 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1014 };
1015 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1016 NI Field0;
1017 NimStringDesc* Field1;
1018 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1019 };
1020 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1021 NI Field0;
1022 NimStringDesc* Field1;
1023 NI64 Field2;
1024 };
1025 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1026 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1027 NI entries;
1028 };
1029 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1030 NI Field0;
1031 NimStringDesc* Field1;
1032 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1033 };
1034 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1035 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1036 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1037 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1038 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1039 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1040 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1041 NIM_BOOL Field3;
1042 };
1043 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1044 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1045 NimStringDesc* Field1;
1046 };
1047 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1048 NimStringDesc* fullPath;
1049 NimStringDesc* projPath;
1050 NimStringDesc* shortName;
1051 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1052 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1053 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1054 NimStringDesc* dirtyFile;
1055 NimStringDesc* hash;
1056 NIM_BOOL dirty;
1057 };
1058 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1059 NI Field0;
1060 NimStringDesc* Field1;
1061 };
1062 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1063 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1064 NimStringDesc* nimname;
1065 NimStringDesc* cname;
1066 NimStringDesc* obj;
1067 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1068 NimStringDesc* customArgs;
1069 };
1070 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1071 NI ra;
1072 NI rb;
1073 NI rc;
1074 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1075 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1076 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1077 };
1078 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1079 NU32 Field0;
1080 NimStringDesc* Field1;
1081 };
1082 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1083 NU16 line;
1084 NI16 col;
1085 NU32 file;
1086 };
1087 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1088 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1089 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1090 NI32 operand;
1091 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1092 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1093 };
1094 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1095 NU32 Field0;
1096 NI32 Field1;
1097 };
1098 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1099 NU32 Field0;
1100 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1101 };
1102 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1103 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1104 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1105 };
1106 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1107 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1108 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1109 };
1110 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1111 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1112 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1113 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1114 };
1115 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
1116 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1117 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1118 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1119 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1120 };
1121 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1122 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1123 NI Field1;
1124 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1125 };
1126 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1127 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1128 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1129 NIM_BOOL generated;
1130 NIM_BOOL isOverriden;
1131 NU32 name;
1132 NI32 path;
1133 };
1134 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1135 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1136 NU32 name;
1137 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1138 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1139 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1140 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1141 NI32 ast;
1142 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1143 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1144 NI bitsize;
1145 NI alignment;
1146 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1147 NI position;
1148 NI offset;
1149 NU32 externalName;
1150 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1151 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1152 NI32 constraint;
1153 };
1154 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1155 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1156 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1157 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1158 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1159 NI32 n;
1160 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1161 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1162 NI64 size;
1163 NI16 align;
1164 NI16 paddingAtEnd;
1165 NI16 lockLevel;
1166 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1167 NI32 nonUniqueId;
1168 };
1169 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1170 NI Field0;
1171 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1172 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1173 };
1174 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1175 NI Field0;
1176 NI32 Field1;
1177 NU32 Field2;
1178 };
1179 struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
1180   TGenericSeq Sup;
1181   NU64 data[SEQ_DECL_SIZE];
1182 };
1183 struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA {
1184   TGenericSeq Sup;
1185   tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q data[SEQ_DECL_SIZE];
1186 };
1187 struct tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg {
1188   TGenericSeq Sup;
1189   tyTuple__SlmU1Ju0WFHUWkihyHMVYg data[SEQ_DECL_SIZE];
1190 };
1191 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1192   TGenericSeq Sup;
1193   NimStringDesc* data[SEQ_DECL_SIZE];
1194 };
1195 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1196   TGenericSeq Sup;
1197   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1198 };
1199 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
1200   TGenericSeq Sup;
1201   NI data[SEQ_DECL_SIZE];
1202 };
1203 struct tySequence__JokFGfUW6i9b6aeU7xu6xBw {
1204   TGenericSeq Sup;
1205   tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
1206 };
1207 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1208   TGenericSeq Sup;
1209   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1210 };
1211 struct tySequence__YWbgnI9b9a4j9aDYnupShIg3A {
1212   TGenericSeq Sup;
1213   tyTuple__C1iPjdrPjiQaUrcFhIp9aGw data[SEQ_DECL_SIZE];
1214 };
1215 struct tySequence__Q9atPKk5Xsv6h4rje4WzNLQ {
1216   TGenericSeq Sup;
1217   tyTuple__4707W0MdkBgzyuDClNdLBQ data[SEQ_DECL_SIZE];
1218 };
1219 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1220   TGenericSeq Sup;
1221   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1222 };
1223 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1224   TGenericSeq Sup;
1225   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1226 };
1227 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1228   TGenericSeq Sup;
1229   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1230 };
1231 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1232   TGenericSeq Sup;
1233   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1234 };
1235 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1236   TGenericSeq Sup;
1237   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1238 };
1239 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1240   TGenericSeq Sup;
1241   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1242 };
1243 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1244   TGenericSeq Sup;
1245   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1246 };
1247 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1248   TGenericSeq Sup;
1249   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1250 };
1251 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1252   TGenericSeq Sup;
1253   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1254 };
1255 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1256   TGenericSeq Sup;
1257   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1258 };
1259 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1260   TGenericSeq Sup;
1261   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1262 };
1263 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1264   TGenericSeq Sup;
1265   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1266 };
1267 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1268   TGenericSeq Sup;
1269   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1270 };
1271 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1272   TGenericSeq Sup;
1273   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1274 };
1275 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1276   TGenericSeq Sup;
1277   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1278 };
1279 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1280   TGenericSeq Sup;
1281   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1282 };
1283 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1284   TGenericSeq Sup;
1285   NI32 data[SEQ_DECL_SIZE];
1286 };
1287 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1288   TGenericSeq Sup;
1289   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1290 };
1291 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1292   TGenericSeq Sup;
1293   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1294 };
1295 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1296   TGenericSeq Sup;
1297   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1298 };
1299 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1300   TGenericSeq Sup;
1301   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1302 };
1303 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1304   TGenericSeq Sup;
1305   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1306 };
1307 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1308   TGenericSeq Sup;
1309   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1310 };
1311 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1312   TGenericSeq Sup;
1313   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1314 };
1315 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1316   TGenericSeq Sup;
1317   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1318 };
1319 struct tySequence__MAQKEADohlpnXTModtugbQ {
1320   TGenericSeq Sup;
1321   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1322 };
1323 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1324   TGenericSeq Sup;
1325   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1326 };
1327 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1328   TGenericSeq Sup;
1329   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1330 };
1331 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1332   TGenericSeq Sup;
1333   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1334 };
1335 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1336   TGenericSeq Sup;
1337   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1338 };
1339 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1340   TGenericSeq Sup;
1341   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1342 };
1343 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1344   TGenericSeq Sup;
1345   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1346 };
1347 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1348   TGenericSeq Sup;
1349   NU32 data[SEQ_DECL_SIZE];
1350 };
1351 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1352   TGenericSeq Sup;
1353   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1354 };
1355 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1356   TGenericSeq Sup;
1357   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1358 };
1359 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1360   TGenericSeq Sup;
1361   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1362 };
1363 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1364   TGenericSeq Sup;
1365   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1366 };
1367 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1368   TGenericSeq Sup;
1369   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1370 };
1371 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1372   TGenericSeq Sup;
1373   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1374 };
1375 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1376   TGenericSeq Sup;
1377   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1378 };
1379 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1380   TGenericSeq Sup;
1381   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1382 };
1383 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1384   TGenericSeq Sup;
1385   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1386 };
1387 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1388   TGenericSeq Sup;
1389   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1390 };
1391 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1392   TGenericSeq Sup;
1393   NI64 data[SEQ_DECL_SIZE];
1394 };
1395 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1396   TGenericSeq Sup;
1397   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1398 };
1399 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1400   TGenericSeq Sup;
1401   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1402 };
1403 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1404   TGenericSeq Sup;
1405   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1406 };
1407 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1408   TGenericSeq Sup;
1409   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1410 };
1411 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key);
1412 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1413 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1414 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1415 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1416 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1417 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1418 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1419 static N_INLINE(void, asgnRef)(void** dest, void* src);
1420 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1421 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1422 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1423 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1424 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1425 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1426 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1427 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1428 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___importer_2284)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w* t, NI key, NI val);
1429 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__transf_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, NIM_BOOL cache);
1430 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1431 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a);
1432 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx);
1433 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1434 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1435 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1436 static N_INLINE(void, nimGCunrefRC1)(void* p);
1437 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params);
1438 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1439 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1440 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1441 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1442 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp);
1443 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1444 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1445 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1446 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1447 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
1448 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1449 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1450 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1451 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1452 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1453 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1454 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1455 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1456 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1457 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadProcBody__icZic_8390)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1458 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1459 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1460 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1462 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1463 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1464 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition);
1465 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1467 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1468 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1469 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1470 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1471 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1472 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1473 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1474 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt);
1475 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1476 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1477 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start);
1478 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1479 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1480 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1481 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1482 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1483 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1484 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c);
1485 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy);
1486 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r);
1487 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1488 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
1489 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1490 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1491 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1492 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1493 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1494 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1495 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1496 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x);
1497 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s, NIM_CHAR sep, NI maxsplit);
1498 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1499 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i);
1500 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1501 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1502 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1503 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1504 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1505 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1506 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1507 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1508 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1509 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1510 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest);
1511 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
1512 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
1513 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest);
1514 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest);
1515 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1516 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p);
1517 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1518 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1519 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm);
1520 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1521 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1522 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3336)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1523 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x);
1524 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value);
1525 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr);
1526 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1528 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1529 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1530 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1531 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* field, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disc);
1532 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3817)(NimStringDesc* strVal, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1533 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1534 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1535 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind);
1536 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1537 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1538 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n);
1539 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1541 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1542 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1543 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1544 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm);
1545 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1546 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1547 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1548 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest);
1549 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1550 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1551 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1552 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op);
1553 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0);
1554 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1555 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1556 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerSwap__lowerings_246)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1557 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1558 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1559 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1560 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1561 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode);
1562 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc);
1563 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1564 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1565 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1566 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1567 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1568 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1569 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy);
1570 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value);
1571 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1572 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1573 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1574 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1575 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1576 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1577 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags);
1578 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1579 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1581 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1582 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1583 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1584 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1585 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1586 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1587 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1588 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p);
1589 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen);
1590 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1591 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1592 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1593 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1594 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1595 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1596 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking__lowerings_116)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1598 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1599 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1600 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1601 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1602 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1603 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1604 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest);
1605 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1606 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start);
1607 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff);
1608 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
1609 extern TNimType NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_;
1610 extern TNimType NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_;
1611 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_2, "VM: immediate value does not fit into regBx", 43);
1612 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/vmgen.nim", 60);
1613 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_3 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1614 ((NI) 164),
1615 ((NI) 14)}
1616 ;
1617 extern TNimType NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_;
1618 extern TNimType NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_;
1619 static NIM_CONST tyTuple__SlmU1Ju0WFHUWkihyHMVYg TM__24XApAWKNvaMkcyklm8bNA_5 = {NIM_TRUE,
1620 ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2)}
1621 ;
1622 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_6, "cannot evaluate at compile time: ", 33);
1623 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_7 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1624 ((NI) 1477),
1625 ((NI) 13)}
1626 ;
1627 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_8, "cannot \'importc\' variable at compile time; ", 43);
1628 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_9 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1629 ((NI) 1616),
1630 ((NI) 14)}
1631 ;
1632 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_10 = {
1633 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
1634 0x00}
1635 ;
1636 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_11 = {
1637 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1638 0x00}
1639 ;
1640 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_12, "vmgen.nim(1811, 14) `obj.sym.position == currPosition` ", 55);
1641 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_13, "cannot create null element for: ", 32);
1642 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_14 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1643 ((NI) 1813),
1644 ((NI) 19)}
1645 ;
1646 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
1647 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_15 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1648 ((NI) 1856),
1649 ((NI) 15)}
1650 ;
1651 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_16 = {
1652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1653 0x00}
1654 ;
1655 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_17 = {
1656 0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1657 0x00}
1658 ;
1659 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_18, "VM problem: too many registers required", 39);
1660 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_19 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1661 ((NI) 229),
1662 ((NI) 15)}
1663 ;
1664 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_20 = {
1665 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
1666 0x00}
1667 ;
1668 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_21, "(", 1);
1669 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_22, ", ", 2);
1670 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_23, ")", 1);
1671 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_24 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1672 ((NI) 1671),
1673 ((NI) 22)}
1674 ;
1675 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1676 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_25, "Closure iterators are not supported by VM!", 42);
1677 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_26 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1678 ((NI) 2023),
1679 ((NI) 19)}
1680 ;
1681 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_27, "*", 1);
1682 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_28, "vmgen.nim(2005, 16) `s.offset == -1` ", 37);
1683 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_29 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1684 ((NI) 452),
1685 ((NI) 17)}
1686 ;
1687 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_30, "cannot generate code for: ", 26);
1688 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_31 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1689 ((NI) 2046),
1690 ((NI) 19)}
1691 ;
1692 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_32 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1693 ((NI) 2048),
1694 ((NI) 17)}
1695 ;
1696 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_33 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1697 ((NI) 186),
1698 ((NI) 16)}
1699 ;
1700 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_34, "VM: immediate value does not fit into an int8", 45);
1701 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_35 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1702 ((NI) 147),
1703 ((NI) 14)}
1704 ;
1705 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_36 = {
1706 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1707 0x00}
1708 ;
1709 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_37, "not unused", 10);
1710 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_38 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1711 ((NI) 487),
1712 ((NI) 15)}
1713 ;
1714 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_39 = {
1715 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1716 0x00}
1717 ;
1718 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_40 = {
1719 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1720 0x00}
1721 ;
1722 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero__int495056_7;
1723 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_41 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1724 ((NI) 1720),
1725 ((NI) 17)}
1726 ;
1727 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_42 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1728 ((NI) 1732),
1729 ((NI) 17)}
1730 ;
1731 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_43, "no field symbol", 15);
1732 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_44 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1733 ((NI) 626),
1734 ((NI) 15)}
1735 ;
1736 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_45, "too large offset! cannot generate code for: ", 44);
1737 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_46 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1738 ((NI) 629),
1739 ((NI) 15)}
1740 ;
1741 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_47 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1742 ((NI) 269),
1743 ((NI) 15)}
1744 ;
1745 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_48 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1746 ((NI) 609),
1747 ((NI) 21)}
1748 ;
1749 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1750 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_49 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1751 ((NI) 533),
1752 ((NI) 16)}
1753 ;
1754 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_50, "vmgen.nim(1062, 20) `false` ", 28);
1755 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_51 = {
1756 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1757 0x00}
1758 ;
1759 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
1760 N_LIB_PRIVATE TNimType NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_;
1761 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
1762 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
1763 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1764 N_LIB_PRIVATE TNimType NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_;
1765 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_53 = {
1766 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1767 0x00}
1768 ;
1769 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_55 = {
1770 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1771 0x00}
1772 ;
1773 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_56, "getType", 7);
1774 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_57, "typeKind", 8);
1775 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_58, "getTypeInst", 11);
1776 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_59, "getSize", 7);
1777 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_60, "getAlign", 8);
1778 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_61, "invalid bindSym usage", 21);
1779 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_62 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1780 ((NI) 962),
1781 ((NI) 16)}
1782 ;
1783 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_63, "getFile", 7);
1784 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_64, "getLine", 7);
1785 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_65, "getColumn", 9);
1786 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_66, "copyLineInfo", 12);
1787 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_67 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1788 ((NI) 1323),
1789 ((NI) 21)}
1790 ;
1791 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_68 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1792 ((NI) 1326),
1793 ((NI) 25)}
1794 ;
1795 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_69, "expandToAst requires 1 argument", 31);
1796 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_70 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1797 ((NI) 1349),
1798 ((NI) 17)}
1799 ;
1800 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_71, "expandToAst requires a call expression", 38);
1801 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_72 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1802 ((NI) 1359),
1803 ((NI) 17)}
1804 ;
1805 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_73, "\'$1\' requires \'.importc\' types to be \'.completeStruct\'", 54);
1806 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_75, "sizeof", 6);
1807 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_74 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_75)}
1808 ;
1809 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_76 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1810 ((NI) 1361),
1811 ((NI) 15)}
1812 ;
1813 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_78, "alignof", 7);
1814 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_77 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_78)}
1815 ;
1816 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_79 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1817 ((NI) 1363),
1818 ((NI) 15)}
1819 ;
1820 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_81, "offsetof", 8);
1821 static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__24XApAWKNvaMkcyklm8bNA_80 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_81)}
1822 ;
1823 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_82 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1824 ((NI) 1365),
1825 ((NI) 15)}
1826 ;
1827 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
1828 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_83 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1829 ((NI) 1384),
1830 ((NI) 15)}
1831 ;
1832 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_84, "cannot call method ", 19);
1833 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_85, " at compile time", 16);
1834 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_86 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1835 ((NI) 2055),
1836 ((NI) 18)}
1837 ;
1838 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_87, "stdlib.marshal.to", 17);
1839 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_88, "stdlib.marshal.$$", 17);
1840 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_89 = {
1841 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1842 0x00}
1843 ;
1844 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_90 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1845 ((NI) 1580),
1846 ((NI) 21)}
1847 ;
1848 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_91 = {
1849 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10,
1850 0x00}
1851 ;
1852 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_92 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1853 ((NI) 1766),
1854 ((NI) 17)}
1855 ;
1856 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
1857 static NIM_CONST struct {
1858   TGenericSeq Sup;
1859   NI data[0];
1860 } TM__24XApAWKNvaMkcyklm8bNA_94 = {{0, 0 | NIM_STRLIT_FLAG}};
1861 static NIM_CONST tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ TM__24XApAWKNvaMkcyklm8bNA_93 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tySequence__qwqHTkRvwhrRyENtudHQ7g*)&TM__24XApAWKNvaMkcyklm8bNA_94)}
1862 ;
1863 extern TNimType NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_;
1864 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_95 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1865 ((NI) 178),
1866 ((NI) 16)}
1867 ;
1868 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_96, "VM problem: cannot find \'break\' target", 38);
1869 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_97 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1870 ((NI) 382),
1871 ((NI) 15)}
1872 ;
1873 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_98 = {
1874 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1875 0x00}
1876 ;
1877 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_99, "invalid object constructor", 26);
1878 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_100 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1879 ((NI) 1968),
1880 ((NI) 17)}
1881 ;
1882 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_101 = {
1883 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00,
1884 0x00}
1885 ;
1886 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_102 = {
1887 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
1888 0x00}
1889 ;
1890 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__24XApAWKNvaMkcyklm8bNA_103 = {
1891 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1892 0x00}
1893 ;
1894 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_104, "VM does not support \'cast\' from ", 32);
1895 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_105, " to ", 4);
1896 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_106 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1897 ((NI) 938),
1898 ((NI) 15)}
1899 ;
1900 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_107, "cannot generate VM code for ", 28);
1901 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_108 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1902 ((NI) 2166),
1903 ((NI) 17)}
1904 ;
1905 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_109 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1906 ((NI) 2207),
1907 ((NI) 16)}
1908 ;
1909 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_110, "VM problem: dest register is not set", 36);
1910 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_111 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1911 ((NI) 2192),
1912 ((NI) 17)}
1913 ;
1914 STRING_LITERAL(TM__24XApAWKNvaMkcyklm8bNA_112, "VM problem: dest register is set", 32);
1915 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__24XApAWKNvaMkcyklm8bNA_113 = {((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_4),
1916 ((NI) 2183),
1917 ((NI) 15)}
1918 ;
1919 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_INLINE(NU64,hiXorLo__pureZhashes_79)1920 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1921 	NU64 result;
1922 	result = (NU64)0;
1923 	__uint128_t r = a; r *= b; result = (r >> 64) ^ r;
1924 	return result;
1925 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1926 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1927 	NI result;
1928 	NU64 T1_;
1929 	NU64 T2_;
1930 	result = (NI)0;
1931 	T1_ = (NU64)0;
1932 	T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1933 	T2_ = (NU64)0;
1934 	T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1935 	result = ((NI) (T2_));
1936 	return result;
1937 }
N_INLINE(NI,hash__pureZhashes_128)1938 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
1939 	NI result;
1940 	result = (NI)0;
1941 	result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1942 	return result;
1943 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1944 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1945 	NIM_BOOL result;
1946 	result = (NIM_BOOL)0;
1947 	result = !((hcode == ((NI) 0)));
1948 	return result;
1949 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1950 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1951 	NI result;
1952 	result = (NI)0;
1953 	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1954 	return result;
1955 }
N_INLINE(NI,rawGet__sigmatch_5618)1956 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
1957 	NI result;
1958 	NI h;
1959 	NI T10_;
1960 {	result = (NI)0;
1961 	(*hc) = hash__pureZhashes_128(key);
1962 	{
1963 		if (!((*hc) == ((NI) 0))) goto LA3_;
1964 		(*hc) = ((NI) 314159265);
1965 	}
1966 	LA3_: ;
1967 	{
1968 		NI T7_;
1969 		T7_ = (t.data ? t.data->Sup.len : 0);
1970 		if (!(T7_ == ((NI) 0))) goto LA8_;
1971 		result = ((NI) -1);
1972 		goto BeforeRet_;
1973 	}
1974 	LA8_: ;
1975 	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1976 	h = (NI)((*hc) & T10_);
1977 	{
1978 		while (1) {
1979 			NIM_BOOL T13_;
1980 			NI T20_;
1981 			T13_ = (NIM_BOOL)0;
1982 			T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1983 			if (!T13_) goto LA12;
1984 			{
1985 				NIM_BOOL T16_;
1986 				T16_ = (NIM_BOOL)0;
1987 				T16_ = (t.data->data[h].Field0 == (*hc));
1988 				if (!(T16_)) goto LA17_;
1989 				T16_ = (t.data->data[h].Field1 == key);
1990 				LA17_: ;
1991 				if (!T16_) goto LA18_;
1992 				result = h;
1993 				goto BeforeRet_;
1994 			}
1995 			LA18_: ;
1996 			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1997 			h = nextTry__pureZcollectionsZtables_34(h, T20_);
1998 		} LA12: ;
1999 	}
2000 	result = (NI)(((NI) -1) - h);
2001 	}BeforeRet_: ;
2002 	return result;
2003 }
N_NIMCALL(NI,getOrDefault__vmgen_3597)2004 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__vmgen_3597)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key) {
2005 	NI result;
2006 	NI hcX60gensym637_;
2007 	NI indexX60gensym637_;
2008 	result = (NI)0;
2009 	hcX60gensym637_ = (NI)0;
2010 	indexX60gensym637_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym637_));
2011 	{
2012 		if (!(((NI) 0) <= indexX60gensym637_)) goto LA3_;
2013 		result = t.data->data[indexX60gensym637_].Field2;
2014 	}
2015 	LA3_: ;
2016 	return result;
2017 }
N_INLINE(NI,pluspercent___system_696)2018 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2019 	NI result;
2020 	result = (NI)0;
2021 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2022 	return result;
2023 }
N_INLINE(void,incRef__system_5338)2024 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2025 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2026 }
N_INLINE(NI,minuspercent___system_716)2027 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2028 	NI result;
2029 	result = (NI)0;
2030 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2031 	return result;
2032 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)2033 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
2034 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2035 	NI T1_;
2036 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2037 	T1_ = (NI)0;
2038 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2039 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2040 	return result;
2041 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2042 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2043 	NIM_BOOL result;
2044 	result = (NIM_BOOL)0;
2045 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2046 	return result;
2047 }
N_INLINE(void,rtlAddZCT__system_5343)2048 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2049 	addZCT__system_5294((&gch__system_5247.zct), c);
2050 }
N_INLINE(void,decRef__system_5345)2051 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2052 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2053 	{
2054 		NIM_BOOL T3_;
2055 		T3_ = (NIM_BOOL)0;
2056 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2057 		if (!T3_) goto LA4_;
2058 		rtlAddZCT__system_5343(c);
2059 	}
2060 	LA4_: ;
2061 }
N_INLINE(void,asgnRef)2062 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2063 	{
2064 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2065 		if (!!((src == NIM_NIL))) goto LA3_;
2066 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2067 		T5_ = usrToCell__system_5300(src);
2068 		incRef__system_5338(T5_);
2069 	}
2070 	LA3_: ;
2071 	{
2072 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2073 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
2074 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2075 		T10_ = usrToCell__system_5300((*dest));
2076 		decRef__system_5345(T10_);
2077 	}
2078 	LA8_: ;
2079 	(*dest) = src;
2080 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)2081 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2082 	NIM_BOOL result;
2083 	NIM_BOOL T1_;
2084 	NIM_BOOL T3_;
2085 	result = (NIM_BOOL)0;
2086 	T1_ = (NIM_BOOL)0;
2087 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
2088 	if (T1_) goto LA2_;
2089 	T3_ = (NIM_BOOL)0;
2090 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2091 	if (!(T3_)) goto LA4_;
2092 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
2093 	LA4_: ;
2094 	T1_ = T3_;
2095 	LA2_: ;
2096 	result = T1_;
2097 	return result;
2098 }
N_NIMCALL(void,gABx__vmgen_375)2099 N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_375)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI bx) {
2100 	{
2101 		NIM_BOOL T3_;
2102 		NU64 ins;
2103 		NI T7_;
2104 		NI T8_;
2105 		T3_ = (NIM_BOOL)0;
2106 		T3_ = (((NI) -8388608) <= bx);
2107 		if (!(T3_)) goto LA4_;
2108 		T3_ = (bx <= ((NI) 8388607));
2109 		LA4_: ;
2110 		if (!T3_) goto LA5_;
2111 		ins = (NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) ((NI)(bx + ((NI) 8388608))))) << (NU64)(24ULL)));
2112 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2113 		T7_ = (*c).code->Sup.len++;
2114 		(*c).code->data[T7_] = ins;
2115 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2116 		T8_ = (*c).debug->Sup.len++;
2117 		(*c).debug->data[T8_] = (*n).info;
2118 	}
2119 	goto LA1_;
2120 	LA5_: ;
2121 	{
2122 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_2), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_3, NIM_FALSE);
2123 	}
2124 	LA1_: ;
2125 }
N_NIMCALL(NI,xjmp__vmgen_398)2126 N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_398)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a) {
2127 	NI result;
2128 	NI T1_;
2129 	result = (NI)0;
2130 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
2131 	result = T1_;
2132 	gABx__vmgen_375(c, n, opc, a, ((NI) 0));
2133 	return result;
2134 }
N_INLINE(void,nimGCunrefRC1)2135 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2136 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2137 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2138 	T1_ = usrToCell__system_5300(p);
2139 	decRef__system_5345(T1_);
2140 }
N_INLINE(NI,len__ast_3198)2141 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2142 	NI result;
2143 	NI T1_;
2144 	result = (NI)0;
2145 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2146 	result = T1_;
2147 	return result;
2148 }
N_NIMCALL(void,genParams__vmgen_3318)2149 N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3318)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params) {
2150 	NI T1_;
2151 	NIM_BOOL colontmp_;
2152 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__2;
2153 	T1_ = (NI)0;
2154 	T1_ = len__ast_3198(params);
2155 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) (((T1_ >= ((NI) 1)) ? T1_ : ((NI) 1))))));
2156 	colontmp_ = NIM_TRUE;
2157 	colontmp__2 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
2158 	(*(*c).prc).regInfo->data[((NI) 0)].Field0 = colontmp_;
2159 	(*(*c).prc).regInfo->data[((NI) 0)].Field1 = colontmp__2;
2160 	{
2161 		NI i;
2162 		NI colontmp__3;
2163 		NI i_2;
2164 		i = (NI)0;
2165 		colontmp__3 = (NI)0;
2166 		colontmp__3 = len__ast_3198(params);
2167 		i_2 = ((NI) 1);
2168 		{
2169 			while (1) {
2170 				NIM_BOOL colontmp__4;
2171 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__5;
2172 				if (!(i_2 < colontmp__3)) goto LA4;
2173 				i = i_2;
2174 				colontmp__4 = NIM_TRUE;
2175 				colontmp__5 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2176 				(*(*c).prc).regInfo->data[i].Field0 = colontmp__4;
2177 				(*(*c).prc).regInfo->data[i].Field1 = colontmp__5;
2178 				i_2 += ((NI) 1);
2179 			} LA4: ;
2180 		}
2181 	}
2182 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)2183 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2184 	NIM_BOOL result;
2185 	NIM_BOOL T1_;
2186 	result = (NIM_BOOL)0;
2187 	T1_ = (NIM_BOOL)0;
2188 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2189 	if (!(T1_)) goto LA2_;
2190 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
2191 	LA2_: ;
2192 	result = T1_;
2193 	return result;
2194 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)2195 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2196 	NIM_BOOL result;
2197 	NIM_BOOL T1_;
2198 	NIM_BOOL T2_;
2199 	result = (NIM_BOOL)0;
2200 	T1_ = (NIM_BOOL)0;
2201 	T2_ = (NIM_BOOL)0;
2202 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2203 	if (!(T2_)) goto LA3_;
2204 	T2_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159));
2205 	LA3_: ;
2206 	T1_ = T2_;
2207 	if (!(T1_)) goto LA4_;
2208 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
2209 	LA4_: ;
2210 	result = T1_;
2211 	return result;
2212 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)2213 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2214 	NIM_BOOL result;
2215 	NIM_BOOL T1_;
2216 	result = (NIM_BOOL)0;
2217 	T1_ = (NIM_BOOL)0;
2218 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2219 	if (!(T1_)) goto LA2_;
2220 	T1_ = isGenericRoutine__ast_4627((*s).ast);
2221 	LA2_: ;
2222 	result = T1_;
2223 	return result;
2224 }
N_NIMCALL(void,genGenericParams__vmgen_3361)2225 N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3361)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp) {
2226 	NI base;
2227 	NI T1_;
2228 	NI T2_;
2229 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
2230 	base = T1_;
2231 	T2_ = (NI)0;
2232 	T2_ = len__ast_3198(gp);
2233 	asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(base + T2_)))));
2234 	{
2235 		NI i;
2236 		NI colontmp_;
2237 		NI i_2;
2238 		i = (NI)0;
2239 		colontmp_ = (NI)0;
2240 		colontmp_ = len__ast_3198(gp);
2241 		i_2 = ((NI) 0);
2242 		{
2243 			while (1) {
2244 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
2245 				NIM_BOOL colontmp__2;
2246 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
2247 				if (!(i_2 < colontmp_)) goto LA5;
2248 				i = i_2;
2249 				param = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
2250 				(*param).position = (NI)(base + i);
2251 				colontmp__2 = NIM_TRUE;
2252 				colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
2253 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field0 = colontmp__2;
2254 				(*(*c).prc).regInfo->data[(NI)(base + i)].Field1 = colontmp__3;
2255 				i_2 += ((NI) 1);
2256 			} LA5: ;
2257 		}
2258 	}
2259 }
N_INLINE(NIM_BOOL,importcCondVar__vmgen_2257)2260 static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2257)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2261 	NIM_BOOL result;
2262 {	result = (NIM_BOOL)0;
2263 	{
2264 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2265 		result = ((1792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2266 		goto BeforeRet_;
2267 	}
2268 	LA3_: ;
2269 	}BeforeRet_: ;
2270 	return result;
2271 }
N_NIMCALL(NIM_BOOL,isOwnedBy__vmgen_2234)2272 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2234)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
2273 	NIM_BOOL result;
2274 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
2275 {	result = (NIM_BOOL)0;
2276 	a_2 = (*a).owner;
2277 	{
2278 		while (1) {
2279 			NIM_BOOL T3_;
2280 			T3_ = (NIM_BOOL)0;
2281 			T3_ = !((a_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2282 			if (!(T3_)) goto LA4_;
2283 			T3_ = !(((*a_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2284 			LA4_: ;
2285 			if (!T3_) goto LA2;
2286 			{
2287 				if (!(a_2 == b)) goto LA7_;
2288 				result = NIM_TRUE;
2289 				goto BeforeRet_;
2290 			}
2291 			LA7_: ;
2292 			a_2 = (*a_2).owner;
2293 		} LA2: ;
2294 	}
2295 	}BeforeRet_: ;
2296 	return result;
2297 }
N_INLINE(void,nimCopyMem)2298 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2299 	void* T1_;
2300 	T1_ = (void*)0;
2301 	T1_ = memcpy(dest, source, ((size_t) (size)));
2302 }
N_INLINE(void,copyMem__system_1727)2303 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2304 	nimCopyMem(dest, source, size);
2305 }
N_INLINE(void,appendString)2306 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2307 	{
2308 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2309 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2310 		(*dest).Sup.len += (*src).Sup.len;
2311 	}
2312 	LA3_: ;
2313 }
N_NOINLINE(void,cannotEval__vmgen_2231)2314 N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2231)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2315 	NimStringDesc* T1_;
2316 	NimStringDesc* T2_;
2317 	T1_ = NIM_NIL;
2318 	T2_ = NIM_NIL;
2319 	T2_ = renderTree__renderer_46(n, 0);
2320 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 33);
2321 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_6));
2322 appendString(T1_, T2_);
2323 	liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_7, NIM_FALSE);
2324 }
N_NIMCALL(void,checkCanEval__vmgen_2268)2325 N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2326 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2327 {	s = (*n)._kind_4.sym;
2328 	{
2329 		if (!((268435464 & ~ (*s).flags)==0)) goto LA3_;
2330 		goto BeforeRet_;
2331 	}
2332 	LA3_: ;
2333 	{
2334 		NIM_BOOL T7_;
2335 		T7_ = (NIM_BOOL)0;
2336 		T7_ = importcCondVar__vmgen_2257(s);
2337 		if (!T7_) goto LA8_;
2338 		goto BeforeRet_;
2339 	}
2340 	LA8_: ;
2341 	{
2342 		NIM_BOOL T12_;
2343 		NIM_BOOL T13_;
2344 		NIM_BOOL T14_;
2345 		NIM_BOOL T16_;
2346 		T12_ = (NIM_BOOL)0;
2347 		T13_ = (NIM_BOOL)0;
2348 		T14_ = (NIM_BOOL)0;
2349 		T14_ = ((2856 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2350 		if (!(T14_)) goto LA15_;
2351 		T16_ = (NIM_BOOL)0;
2352 		T16_ = isOwnedBy__vmgen_2234(s, (*(*c).prc).sym);
2353 		T14_ = !(T16_);
2354 		LA15_: ;
2355 		T13_ = T14_;
2356 		if (!(T13_)) goto LA17_;
2357 		T13_ = !(((*s).owner == (*c).module));
2358 		LA17_: ;
2359 		T12_ = T13_;
2360 		if (!(T12_)) goto LA18_;
2361 		T12_ = !(((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0)));
2362 		LA18_: ;
2363 		if (!T12_) goto LA19_;
2364 		{
2365 			NIM_BOOL T23_;
2366 			T23_ = (NIM_BOOL)0;
2367 			T23_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
2368 			if (!(T23_)) goto LA24_;
2369 			T23_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
2370 			LA24_: ;
2371 			if (!T23_) goto LA25_;
2372 		}
2373 		goto LA21_;
2374 		LA25_: ;
2375 		{
2376 			cannotEval__vmgen_2231(c, n);
2377 		}
2378 		LA21_: ;
2379 	}
2380 	goto LA10_;
2381 	LA19_: ;
2382 	{
2383 		NIM_BOOL T29_;
2384 		T29_ = (NIM_BOOL)0;
2385 		T29_ = ((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2386 		if (!(T29_)) goto LA30_;
2387 		T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
2388 		LA30_: ;
2389 		if (!T29_) goto LA31_;
2390 		cannotEval__vmgen_2231(c, n);
2391 	}
2392 	goto LA10_;
2393 	LA31_: ;
2394 	LA10_: ;
2395 	}BeforeRet_: ;
2396 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)2397 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2398 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2399 	result = NIM_NIL;
2400 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
2401 	{
2402 		NIM_BOOL T3_;
2403 		T3_ = (NIM_BOOL)0;
2404 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2405 		if (!(T3_)) goto LA4_;
2406 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
2407 		LA4_: ;
2408 		if (!T3_) goto LA5_;
2409 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
2410 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
2411 	}
2412 	LA5_: ;
2413 	return result;
2414 }
N_INLINE(NIM_BOOL,importcCond__vmgen_2412)2415 static N_INLINE(NIM_BOOL, importcCond__vmgen_2412)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2416 	NIM_BOOL result;
2417 {	result = (NIM_BOOL)0;
2418 	{
2419 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
2420 		{
2421 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
2422 			if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
2423 			T9_ = NIM_NIL;
2424 			T9_ = getBody__modulegraphs_11241((*c).graph, s);
2425 			result = ((*T9_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
2426 			goto BeforeRet_;
2427 		}
2428 		LA7_: ;
2429 	}
2430 	LA3_: ;
2431 	}BeforeRet_: ;
2432 	return result;
2433 }
N_NIMCALL(void,importcSym__vmgen_2428)2434 N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2428)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2435 	NimStringDesc* T1_;
2436 	T1_ = NIM_NIL;
2437 	T1_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 43);
2438 appendString(T1_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_8));
2439 appendString(T1_, (*(*s).name).s);
2440 	liMessage__msgs_1118((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T1_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_9, NIM_FALSE);
2441 }
N_INLINE(NI,len__ast_4002)2442 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2443 	NI result;
2444 	NI T1_;
2445 	result = (NI)0;
2446 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2447 	result = T1_;
2448 	return result;
2449 }
N_NIMCALL(void,getNullValueAux__vmgen_2711)2450 N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2711)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI* currPosition) {
2451 	{
2452 		NIM_BOOL T3_;
2453 		NIM_BOOL T4_;
2454 		NI T6_;
2455 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
2456 		T3_ = (NIM_BOOL)0;
2457 		T4_ = (NIM_BOOL)0;
2458 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2459 		if (!(T4_)) goto LA5_;
2460 		T6_ = (NI)0;
2461 		T6_ = len__ast_4002(t);
2462 		T4_ = (((NI) 0) < T6_);
2463 		LA5_: ;
2464 		T3_ = T4_;
2465 		if (!(T3_)) goto LA7_;
2466 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2467 		LA7_: ;
2468 		if (!T3_) goto LA8_;
2469 		b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__24XApAWKNvaMkcyklm8bNA_11);
2470 		getNullValueAux__vmgen_2711(b, (*b).n, result, conf, currPosition);
2471 	}
2472 	LA8_: ;
2473 	switch ((*obj).kind) {
2474 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2475 	{
2476 		{
2477 			NI i;
2478 			NI colontmp_;
2479 			NI i_2;
2480 			i = (NI)0;
2481 			colontmp_ = (NI)0;
2482 			colontmp_ = len__ast_3198(obj);
2483 			i_2 = ((NI) 0);
2484 			{
2485 				while (1) {
2486 					if (!(i_2 < colontmp_)) goto LA13;
2487 					i = i_2;
2488 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], result, conf, currPosition);
2489 					i_2 += ((NI) 1);
2490 				} LA13: ;
2491 			}
2492 		}
2493 	}
2494 	break;
2495 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2496 	{
2497 		getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], result, conf, currPosition);
2498 		{
2499 			NI i_3;
2500 			NI colontmp__2;
2501 			NI i_4;
2502 			i_3 = (NI)0;
2503 			colontmp__2 = (NI)0;
2504 			colontmp__2 = len__ast_3198(obj);
2505 			i_4 = ((NI) 1);
2506 			{
2507 				while (1) {
2508 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
2509 					if (!(i_4 < colontmp__2)) goto LA17;
2510 					i_3 = i_4;
2511 					T18_ = NIM_NIL;
2512 					T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
2513 					getNullValueAux__vmgen_2711(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, result, conf, currPosition);
2514 					i_4 += ((NI) 1);
2515 				} LA17: ;
2516 			}
2517 		}
2518 	}
2519 	break;
2520 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2521 	{
2522 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
2523 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
2524 		field = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), (*result).info);
2525 		add__ast_4797(field, obj);
2526 		T20_ = NIM_NIL;
2527 		T20_ = getNullValue__vmgen_2432((*(*obj)._kind_4.sym).typ, (*result).info, conf);
2528 		add__ast_4797(field, T20_);
2529 		add__ast_4797(result, field);
2530 		{
2531 			if (!!(((*(*obj)._kind_4.sym).position == (*currPosition)))) goto LA23_;
2532 			failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_12));
2533 		}
2534 		LA23_: ;
2535 		(*currPosition) += ((NI) 1);
2536 	}
2537 	break;
2538 	default:
2539 	{
2540 		NimStringDesc* T26_;
2541 		NimStringDesc* T27_;
2542 		T26_ = NIM_NIL;
2543 		T27_ = NIM_NIL;
2544 		T27_ = dollar___renderer_2106(obj);
2545 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 32);
2546 appendString(T26_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2547 appendString(T26_, T27_);
2548 		liMessage__msgs_1118(conf, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_14, NIM_FALSE);
2549 	}
2550 	break;
2551 	}
2552 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getNullValue__vmgen_2432)2553 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__vmgen_2432)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2554 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2555 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2556 	result = NIM_NIL;
2557 	t = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_10);
2558 	switch ((*t).kind) {
2559 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2560 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2561 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2562 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2563 	{
2564 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), info, t);
2565 	}
2566 	break;
2567 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2568 	{
2569 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11), info, t);
2570 	}
2571 	break;
2572 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2573 	{
2574 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), info, t);
2575 	}
2576 	break;
2577 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2578 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2579 	{
2580 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), info, t);
2581 		asgnRef((void**) (&(*result)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
2582 	}
2583 	break;
2584 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2585 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2586 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
2587 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2588 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
2589 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
2590 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2591 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2592 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2593 	{
2594 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2595 	}
2596 	break;
2597 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2598 	{
2599 		{
2600 			if (!!(((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA9_;
2601 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2602 		}
2603 		goto LA7_;
2604 		LA9_: ;
2605 		{
2606 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
2607 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
2608 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2609 			T12_ = NIM_NIL;
2610 			T12_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2611 			add__ast_4797(result, T12_);
2612 			T13_ = NIM_NIL;
2613 			T13_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), info, t);
2614 			add__ast_4797(result, T13_);
2615 		}
2616 		LA7_: ;
2617 	}
2618 	break;
2619 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
2620 	{
2621 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
2622 		NI currPosition;
2623 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info, t);
2624 		T15_ = NIM_NIL;
2625 		T15_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info, t);
2626 		add__ast_4797(result, T15_);
2627 		currPosition = ((NI) 0);
2628 		getNullValueAux__vmgen_2711(t, (*t).n, result, conf, (&currPosition));
2629 	}
2630 	break;
2631 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2632 	{
2633 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2634 		{
2635 			NI i;
2636 			NI colontmp_;
2637 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
2638 			NI i_2;
2639 			i = (NI)0;
2640 			colontmp_ = (NI)0;
2641 			T18_ = lengthOrd__types_1661(conf, t);
2642 			colontmp_ = toInt__int495056_170(T18_);
2643 			i_2 = ((NI) 0);
2644 			{
2645 				while (1) {
2646 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
2647 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
2648 					if (!(i_2 < colontmp_)) goto LA20;
2649 					i = i_2;
2650 					T21_ = NIM_NIL;
2651 					T21_ = elemType__types_263(t);
2652 					T22_ = NIM_NIL;
2653 					T22_ = getNullValue__vmgen_2432(T21_, info, conf);
2654 					add__ast_4797(result, T22_);
2655 					i_2 += ((NI) 1);
2656 				} LA20: ;
2657 			}
2658 		}
2659 	}
2660 	break;
2661 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
2662 	{
2663 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), info, t);
2664 		{
2665 			NI i_3;
2666 			NI colontmp__2;
2667 			NI i_4;
2668 			i_3 = (NI)0;
2669 			colontmp__2 = (NI)0;
2670 			colontmp__2 = len__ast_4002(t);
2671 			i_4 = ((NI) 0);
2672 			{
2673 				while (1) {
2674 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
2675 					if (!(i_4 < colontmp__2)) goto LA26;
2676 					i_3 = i_4;
2677 					T27_ = NIM_NIL;
2678 					T27_ = getNullValue__vmgen_2432((*t).sons->data[i_3], info, conf);
2679 					add__ast_4797(result, T27_);
2680 					i_4 += ((NI) 1);
2681 				} LA26: ;
2682 			}
2683 		}
2684 	}
2685 	break;
2686 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
2687 	{
2688 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), info, t);
2689 	}
2690 	break;
2691 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
2692 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
2693 	{
2694 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), info, t);
2695 	}
2696 	break;
2697 	default:
2698 	{
2699 		NimStringDesc* T31_;
2700 		T31_ = NIM_NIL;
2701 		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 32);
2702 appendString(T31_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_13));
2703 appendString(T31_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
2704 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T31_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_15, NIM_FALSE);
2705 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
2706 	}
2707 	break;
2708 	}
2709 	return result;
2710 }
N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ,getSlotKind__vmgen_451)2711 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ, getSlotKind__vmgen_451)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2712 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ result;
2713 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2714 	result = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
2715 	T1_ = NIM_NIL;
2716 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_17);
2717 	switch ((*T1_).kind) {
2718 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2719 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2720 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2721 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2722 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2723 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2724 	{
2725 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 4);
2726 	}
2727 	break;
2728 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2729 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2730 	{
2731 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6);
2732 	}
2733 	break;
2734 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2735 	{
2736 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 5);
2737 	}
2738 	break;
2739 	default:
2740 	{
2741 		result = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2742 	}
2743 	break;
2744 	}
2745 	return result;
2746 }
N_INLINE(void,nimSetMem__systemZmemory_7)2747 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2748 	void* T1_;
2749 	T1_ = (void*)0;
2750 	T1_ = memset(a, v, ((size_t) (size)));
2751 }
N_INLINE(void,nimZeroMem)2752 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2753 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
2754 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,bestEffort__vmgen_468)2755 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, bestEffort__vmgen_468)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
2756 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
2757 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
2758 	{
2759 		NIM_BOOL T3_;
2760 		T3_ = (NIM_BOOL)0;
2761 		T3_ = !(((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL)));
2762 		if (!(T3_)) goto LA4_;
2763 		T3_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2764 		LA4_: ;
2765 		if (!T3_) goto LA5_;
2766 		result = (*(*(*c).prc).sym).info;
2767 	}
2768 	goto LA1_;
2769 	LA5_: ;
2770 	{
2771 		result = (*(*c).module).info;
2772 	}
2773 	LA1_: ;
2774 	return result;
2775 }
N_NIMCALL(NI,getFreeRegister__vmgen_479)2776 N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_479)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k, NI start) {
2777 	NI result;
2778 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
2779 	NI T30_;
2780 	NIM_BOOL colontmp__5;
2781 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
2782 {	result = (NI)0;
2783 	c = (*cc).prc;
2784 	{
2785 		NI i;
2786 		NI colontmp_;
2787 		NI T2_;
2788 		NI res;
2789 		i = (NI)0;
2790 		colontmp_ = (NI)0;
2791 		T2_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2792 		colontmp_ = (NI)(T2_ - ((NI) 1));
2793 		res = start;
2794 		{
2795 			while (1) {
2796 				if (!(res <= colontmp_)) goto LA4;
2797 				i = res;
2798 				{
2799 					NIM_BOOL T7_;
2800 					T7_ = (NIM_BOOL)0;
2801 					T7_ = ((*c).regInfo->data[i].Field1 == k);
2802 					if (!(T7_)) goto LA8_;
2803 					T7_ = !((*c).regInfo->data[i].Field0);
2804 					LA8_: ;
2805 					if (!T7_) goto LA9_;
2806 					(*c).regInfo->data[i].Field0 = NIM_TRUE;
2807 					result = ((NI) (i));
2808 					goto BeforeRet_;
2809 				}
2810 				LA9_: ;
2811 				res += ((NI) 1);
2812 			} LA4: ;
2813 		}
2814 	}
2815 	{
2816 		NI T13_;
2817 		T13_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2818 		if (!(((NI) 65535) <= T13_)) goto LA14_;
2819 		{
2820 			NI i_2;
2821 			NI colontmp__2;
2822 			NI T17_;
2823 			NI res_2;
2824 			i_2 = (NI)0;
2825 			colontmp__2 = (NI)0;
2826 			T17_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2827 			colontmp__2 = (NI)(T17_ - ((NI) 1));
2828 			res_2 = start;
2829 			{
2830 				while (1) {
2831 					if (!(res_2 <= colontmp__2)) goto LA19;
2832 					i_2 = res_2;
2833 					{
2834 						NIM_BOOL colontmp__3;
2835 						tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__4;
2836 						if (!!((*c).regInfo->data[i_2].Field0)) goto LA22_;
2837 						colontmp__3 = NIM_TRUE;
2838 						colontmp__4 = k;
2839 						(*c).regInfo->data[i_2].Field0 = colontmp__3;
2840 						(*c).regInfo->data[i_2].Field1 = colontmp__4;
2841 						result = ((NI) (i_2));
2842 						goto BeforeRet_;
2843 					}
2844 					LA22_: ;
2845 					res_2 += ((NI) 1);
2846 				} LA19: ;
2847 			}
2848 		}
2849 	}
2850 	LA14_: ;
2851 	{
2852 		NI T26_;
2853 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T29_;
2854 		T26_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2855 		if (!(((NI) 65535) <= T26_)) goto LA27_;
2856 		T29_ = bestEffort__vmgen_468(cc);
2857 		liMessage__msgs_1118((*cc).config, T29_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_19, NIM_FALSE);
2858 	}
2859 	LA27_: ;
2860 	T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
2861 	result = ((NI) (((T30_ >= start) ? T30_ : start)));
2862 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(((NI) (result)) + ((NI) 1))))));
2863 	colontmp__5 = NIM_TRUE;
2864 	colontmp__6 = k;
2865 	(*c).regInfo->data[result].Field0 = colontmp__5;
2866 	(*c).regInfo->data[result].Field1 = colontmp__6;
2867 	}BeforeRet_: ;
2868 	return result;
2869 }
N_NIMCALL(NI,getTemp__vmgen_541)2870 N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, tyObject_TType__facALICuu8zUj0hjvbTLFg* tt) {
2871 	NI result;
2872 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
2873 	tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ k;
2874 	result = (NI)0;
2875 	typ = skipTypesOrNil__ast_4185(tt, TM__24XApAWKNvaMkcyklm8bNA_16);
2876 	{
2877 		if (!(typ == 0)) goto LA3_;
2878 		k = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 7);
2879 	}
2880 	goto LA1_;
2881 	LA3_: ;
2882 	{
2883 		k = getSlotKind__vmgen_451(typ);
2884 	}
2885 	LA1_: ;
2886 	result = getFreeRegister__vmgen_479(cc, k, ((NI) 0));
2887 	return result;
2888 }
N_NIMCALL(NI,genx__vmgen_712)2889 N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_712)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
2890 	NI result;
2891 	NI tmp;
2892 	result = (NI)0;
2893 	tmp = ((NI) -1);
2894 	gen__vmgen_687(c, n, (&tmp), flags);
2895 	{
2896 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
2897 		result = ((NI) (tmp));
2898 	}
2899 	LA3_: ;
2900 	return result;
2901 }
N_NIMCALL(void,gABC__vmgen_312)2902 N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_312)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI c) {
2903 	NU64 ins;
2904 	NI T1_;
2905 	NI T2_;
2906 	ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) (c))) << (NU64)(40ULL)));
2907 	asgnRef((void**) (&(*ctx).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*ctx).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
2908 	T1_ = (*ctx).code->Sup.len++;
2909 	(*ctx).code->data[T1_] = ins;
2910 	asgnRef((void**) (&(*ctx).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*ctx).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
2911 	T2_ = (*ctx).debug->Sup.len++;
2912 	(*ctx).debug->data[T2_] = (*n).info;
2913 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,whichAsgnOpc__vmgen_1846)2914 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, whichAsgnOpc__vmgen_1846)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresCopy) {
2915 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
2916 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
2917 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2918 	T1_ = NIM_NIL;
2919 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
2920 	switch ((*T1_).kind) {
2921 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2922 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2923 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2924 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2925 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
2926 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2927 	{
2928 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4);
2929 	}
2930 	break;
2931 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
2932 	{
2933 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5);
2934 	}
2935 	break;
2936 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2937 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2938 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2939 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2940 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2941 	{
2942 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6);
2943 	}
2944 	break;
2945 	default:
2946 	{
2947 		{
2948 			if (!requiresCopy) goto LA8_;
2949 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7);
2950 		}
2951 		goto LA6_;
2952 		LA8_: ;
2953 		{
2954 			result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14);
2955 		}
2956 		LA6_: ;
2957 	}
2958 	break;
2959 	}
2960 	return result;
2961 }
N_NIMCALL(void,freeTemp__vmgen_550)2962 N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_550)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI r) {
2963 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c_2;
2964 	c_2 = (*c).prc;
2965 	{
2966 		if (!((248 &((NU16)1<<((NU)((*c_2).regInfo->data[r].Field1)&15U)))!=0)) goto LA3_;
2967 		(*c_2).regInfo->data[r].Field0 = NIM_FALSE;
2968 	}
2969 	LA3_: ;
2970 }
N_NIMCALL(void,genAdditionalCopy__vmgen_2307)2971 N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2307)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
2972 	NI cc;
2973 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
2974 	cc = getTemp__vmgen_541(c, (*n).typ);
2975 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
2976 	T1_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
2977 	gABC__vmgen_312(c, n, T1_, cc, value, ((NI) 0));
2978 	gABC__vmgen_312(c, n, opc, dest, idx, cc);
2979 	freeTemp__vmgen_550(c, cc);
2980 }
N_NIMCALL(void,genGlobalInit__vmgen_2436)2981 N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2436)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2982 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2983 	NI dest;
2984 	T1_ = NIM_NIL;
2985 	T1_ = getNullValue__vmgen_2432((*s).typ, (*n).info, (*c).config);
2986 	add__ast_4797((*c).globals, T1_);
2987 	(*s).position = len__ast_3198((*c).globals);
2988 	dest = getTemp__vmgen_541(c, (*s).typ);
2989 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), dest, (*s).position);
2990 	{
2991 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
2992 		NI tmp;
2993 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
2994 		T4_ = NIM_NIL;
2995 		T4_ = astdef__ast_3483(s);
2996 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
2997 		T7_ = NIM_NIL;
2998 		T7_ = astdef__ast_3483(s);
2999 		tmp = genx__vmgen_712(c, T7_, 0);
3000 		genAdditionalCopy__vmgen_2307(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest, ((NI) 0), tmp);
3001 		freeTemp__vmgen_550(c, dest);
3002 		freeTemp__vmgen_550(c, tmp);
3003 	}
3004 	LA5_: ;
3005 }
N_NIMCALL(NIM_BOOL,fitsRegister__vmgen_1814)3006 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1814)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3007 	NIM_BOOL result;
3008 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3009 	result = (NIM_BOOL)0;
3010 	T1_ = NIM_NIL;
3011 	T1_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_20);
3012 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
3013 	return result;
3014 }
N_NIMCALL(void,setSlot__vmgen_2224)3015 N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2224)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
3016 	{
3017 		tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ T5_;
3018 		NI T11_;
3019 		if (!((*v).position == ((NI) 0))) goto LA3_;
3020 		T5_ = (tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ)0;
3021 		{
3022 			if (!((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9))) goto LA8_;
3023 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 2);
3024 		}
3025 		goto LA6_;
3026 		LA8_: ;
3027 		{
3028 			T5_ = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 1);
3029 		}
3030 		LA6_: ;
3031 		T11_ = (NI)0;
3032 		T11_ = getFreeRegister__vmgen_479(c, T5_, ((NI) 1));
3033 		(*v).position = ((NI) (T11_));
3034 	}
3035 	LA3_: ;
3036 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)3037 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
3038 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
3039 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)3040 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
3041 	NimStringDesc* result;
3042 	result = NIM_NIL;
3043 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
3044 appendString(result, info.Field0);
3045 	{
3046 		if (!(((NI) 0) < info.Field1)) goto LA3_;
3047 		result = resizeString(result, 1);
3048 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_21));
3049 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
3050 		{
3051 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
3052 			result = resizeString(result, 2);
3053 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_22));
3054 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
3055 		}
3056 		LA7_: ;
3057 		result = resizeString(result, 1);
3058 appendString(result, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_23));
3059 	}
3060 	LA3_: ;
3061 	return result;
3062 }
N_NIMCALL(void,genAsgn__vmgen_2215)3063 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2215)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
3064 	NI tmp;
3065 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T1_;
3066 	tmp = genx__vmgen_712(c, ri, 0);
3067 	T1_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3068 	T1_ = whichAsgnOpc__vmgen_1846(ri, requiresCopy);
3069 	gABC__vmgen_312(c, ri, T1_, ((NI) (dest)), tmp, ((NI) 0));
3070 	freeTemp__vmgen_550(c, tmp);
3071 }
N_NIMCALL(void,genRdVar__vmgen_2453)3072 N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3073 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3074 	s = (*n)._kind_4.sym;
3075 	{
3076 		NIM_BOOL T3_;
3077 		NIM_BOOL isImportcVar;
3078 		T3_ = (NIM_BOOL)0;
3079 		T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
3080 		if (!(T3_)) goto LA4_;
3081 		T3_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
3082 		LA4_: ;
3083 		if (!T3_) goto LA5_;
3084 		isImportcVar = importcCondVar__vmgen_2257(s);
3085 		{
3086 			NIM_BOOL T9_;
3087 			NIM_BOOL T10_;
3088 			T9_ = (NIM_BOOL)0;
3089 			T10_ = (NIM_BOOL)0;
3090 			T10_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
3091 			if (T10_) goto LA11_;
3092 			T10_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3093 			LA11_: ;
3094 			T9_ = T10_;
3095 			if (T9_) goto LA12_;
3096 			T9_ = isImportcVar;
3097 			LA12_: ;
3098 			if (!T9_) goto LA13_;
3099 		}
3100 		goto LA7_;
3101 		LA13_: ;
3102 		{
3103 			if (!((*s).position == ((NI) 0))) goto LA16_;
3104 			cannotEval__vmgen_2231(c, n);
3105 		}
3106 		goto LA7_;
3107 		LA16_: ;
3108 		LA7_: ;
3109 		{
3110 			if (!((*s).position == ((NI) 0))) goto LA20_;
3111 			{
3112 				NIM_BOOL T24_;
3113 				T24_ = (NIM_BOOL)0;
3114 				T24_ = importcCond__vmgen_2412(c, s);
3115 				if (T24_) goto LA25_;
3116 				T24_ = isImportcVar;
3117 				LA25_: ;
3118 				if (!T24_) goto LA26_;
3119 				importcSym__vmgen_2428(c, (*n).info, s);
3120 			}
3121 			goto LA22_;
3122 			LA26_: ;
3123 			{
3124 				genGlobalInit__vmgen_2436(c, n, s);
3125 			}
3126 			LA22_: ;
3127 		}
3128 		LA20_: ;
3129 		{
3130 			NI T33_;
3131 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA31_;
3132 			T33_ = (NI)0;
3133 			T33_ = getTemp__vmgen_541(c, (*n).typ);
3134 			(*dest) = ((NI) (T33_));
3135 		}
3136 		LA31_: ;
3137 		{
3138 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA36_;
3139 			{
3140 				if (!isImportcVar) goto LA40_;
3141 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179), ((NI) ((*dest))), (*s).position);
3142 			}
3143 			goto LA38_;
3144 			LA40_: ;
3145 			{
3146 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177), ((NI) ((*dest))), (*s).position);
3147 			}
3148 			LA38_: ;
3149 		}
3150 		goto LA34_;
3151 		LA36_: ;
3152 		{
3153 			if (!isImportcVar) goto LA44_;
3154 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 178), ((NI) ((*dest))), (*s).position);
3155 		}
3156 		goto LA34_;
3157 		LA44_: ;
3158 		{
3159 			NIM_BOOL T47_;
3160 			NI cc;
3161 			T47_ = (NIM_BOOL)0;
3162 			T47_ = fitsRegister__vmgen_1814((*s).typ);
3163 			if (!(T47_)) goto LA48_;
3164 			T47_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 0))&7U)))!=0));
3165 			LA48_: ;
3166 			if (!T47_) goto LA49_;
3167 			cc = getTemp__vmgen_541(c, (*n).typ);
3168 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), cc, (*s).position);
3169 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
3170 			freeTemp__vmgen_550(c, cc);
3171 		}
3172 		goto LA34_;
3173 		LA49_: ;
3174 		{
3175 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176), ((NI) ((*dest))), (*s).position);
3176 		}
3177 		LA34_: ;
3178 	}
3179 	goto LA1_;
3180 	LA5_: ;
3181 	{
3182 		{
3183 			NIM_BOOL T55_;
3184 			T55_ = (NIM_BOOL)0;
3185 			T55_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
3186 			if (!(T55_)) goto LA56_;
3187 			T55_ = ((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0));
3188 			LA56_: ;
3189 			if (!T55_) goto LA57_;
3190 			setSlot__vmgen_2224(c, s);
3191 		}
3192 		LA57_: ;
3193 		{
3194 			NIM_BOOL T61_;
3195 			NIM_BOOL T63_;
3196 			T61_ = (NIM_BOOL)0;
3197 			T61_ = (((NI) 0) < (*s).position);
3198 			if (T61_) goto LA62_;
3199 			T63_ = (NIM_BOOL)0;
3200 			T63_ = ((*s).position == ((NI) 0));
3201 			if (!(T63_)) goto LA64_;
3202 			T63_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
3203 			LA64_: ;
3204 			T61_ = T63_;
3205 			LA62_: ;
3206 			if (!T61_) goto LA65_;
3207 			{
3208 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA69_;
3209 				(*dest) = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
3210 				{
3211 					NimStringDesc* argX60gensym442_;
3212 					if (!!(((*(*c).prc).regInfo->data[(*dest)].Field1 < ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3)))) goto LA73_;
3213 					argX60gensym442_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_24);
3214 					internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym442_, TM__24XApAWKNvaMkcyklm8bNA_24);
3215 				}
3216 				LA73_: ;
3217 			}
3218 			goto LA67_;
3219 			LA69_: ;
3220 			{
3221 				NIM_BOOL requiresCopy;
3222 				NIM_BOOL T76_;
3223 				T76_ = (NIM_BOOL)0;
3224 				T76_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[(*dest)].Field1);
3225 				if (!(T76_)) goto LA77_;
3226 				T76_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 2))&7U)))!=0));
3227 				LA77_: ;
3228 				requiresCopy = T76_;
3229 				genAsgn__vmgen_2215(c, (*dest), n, requiresCopy);
3230 			}
3231 			LA67_: ;
3232 		}
3233 		goto LA59_;
3234 		LA65_: ;
3235 		{
3236 			cannotEval__vmgen_2231(c, n);
3237 		}
3238 		LA59_: ;
3239 	}
3240 	LA1_: ;
3241 }
N_INLINE(NimStringDesc *,X5BX5D___vmgen_3076)3242 static N_INLINE(NimStringDesc*, X5BX5D___vmgen_3076)(NimStringDesc** s, NI sLen_0, NI i) {
3243 	NimStringDesc* result;
3244 	result = NIM_NIL;
3245 	result = copyString(s[(NI)(sLen_0 - i)]);
3246 	return result;
3247 }
N_INLINE(int,nimCmpMem)3248 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
3249 	int result;
3250 	result = (int)0;
3251 	result = memcmp(a, b, ((size_t) (size)));
3252 	return result;
3253 }
N_INLINE(NIM_BOOL,equalMem__system_1735)3254 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
3255 	NIM_BOOL result;
3256 	int T1_;
3257 	result = (NIM_BOOL)0;
3258 	T1_ = (int)0;
3259 	T1_ = nimCmpMem(a, b, size);
3260 	result = (T1_ == ((NI32) 0));
3261 	return result;
3262 }
N_INLINE(NIM_BOOL,eqStrings)3263 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
3264 	NIM_BOOL result;
3265 	NI alen;
3266 	NI blen;
3267 {	result = (NIM_BOOL)0;
3268 	alen = (a ? a->Sup.len : 0);
3269 	blen = (b ? b->Sup.len : 0);
3270 	{
3271 		if (!(alen == blen)) goto LA3_;
3272 		{
3273 			if (!(alen == ((NI) 0))) goto LA7_;
3274 			result = NIM_TRUE;
3275 			goto BeforeRet_;
3276 		}
3277 		LA7_: ;
3278 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
3279 		goto BeforeRet_;
3280 	}
3281 	LA3_: ;
3282 	}BeforeRet_: ;
3283 	return result;
3284 }
N_NIMCALL(NIM_BOOL,matches__vmgen_3058)3285 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3058)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NimStringDesc* x) {
3286 	NIM_BOOL result;
3287 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* y;
3288 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3289 {	result = (NIM_BOOL)0;
3290 	y = nsuSplitChar(x, 46, ((NI) -1));
3291 	s_2 = s;
3292 	{
3293 		NI i;
3294 		NI colontmp_;
3295 		NI T2_;
3296 		NI res;
3297 		i = (NI)0;
3298 		colontmp_ = (NI)0;
3299 		T2_ = (y ? y->Sup.len : 0);
3300 		colontmp_ = T2_;
3301 		res = ((NI) 1);
3302 		{
3303 			while (1) {
3304 				if (!(res <= colontmp_)) goto LA4;
3305 				i = res;
3306 				{
3307 					NIM_BOOL T7_;
3308 					NIM_BOOL T9_;
3309 					NimStringDesc* T10_;
3310 					NI T11_;
3311 					NimStringDesc* T13_;
3312 					T7_ = (NIM_BOOL)0;
3313 					T7_ = (s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3314 					if (T7_) goto LA8_;
3315 					T9_ = (NIM_BOOL)0;
3316 					T10_ = NIM_NIL;
3317 					T10_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3318 					T11_ = (NI)0;
3319 					T11_ = nsuCmpIgnoreStyle(T10_, (*(*s_2).name).s);
3320 					T9_ = !((T11_ == ((NI) 0)));
3321 					if (!(T9_)) goto LA12_;
3322 					T13_ = NIM_NIL;
3323 					T13_ = X5BX5D___vmgen_3076(y->data, (y ? y->Sup.len : 0), i);
3324 					T9_ = !(eqStrings(T13_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_27)));
3325 					LA12_: ;
3326 					T7_ = T9_;
3327 					LA8_: ;
3328 					if (!T7_) goto LA14_;
3329 					result = NIM_FALSE;
3330 					goto BeforeRet_;
3331 				}
3332 				LA14_: ;
3333 				{
3334 					if (!(((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0)) goto LA18_;
3335 					s_2 = (*(*s_2).owner).owner;
3336 				}
3337 				goto LA16_;
3338 				LA18_: ;
3339 				{
3340 					s_2 = (*s_2).owner;
3341 				}
3342 				LA16_: ;
3343 				{
3344 					while (1) {
3345 						NIM_BOOL T23_;
3346 						NIM_BOOL T24_;
3347 						T23_ = (NIM_BOOL)0;
3348 						T24_ = (NIM_BOOL)0;
3349 						T24_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3350 						if (!(T24_)) goto LA25_;
3351 						T24_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
3352 						LA25_: ;
3353 						T23_ = T24_;
3354 						if (!(T23_)) goto LA26_;
3355 						T23_ = !(((*s_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3356 						LA26_: ;
3357 						if (!T23_) goto LA22;
3358 						s_2 = (*s_2).owner;
3359 					} LA22: ;
3360 				}
3361 				res += ((NI) 1);
3362 			} LA4: ;
3363 		}
3364 	}
3365 	result = NIM_TRUE;
3366 	}BeforeRet_: ;
3367 	return result;
3368 }
N_NIMCALL(NIM_BOOL,procIsCallback__vmgen_3104)3369 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3104)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
3370 	NIM_BOOL result;
3371 	NI i;
3372 {	result = (NIM_BOOL)0;
3373 	{
3374 		if (!((*s).offset < ((NI) -1))) goto LA3_;
3375 		result = NIM_TRUE;
3376 		goto BeforeRet_;
3377 	}
3378 	LA3_: ;
3379 	i = ((NI) -2);
3380 	{
3381 		NimStringDesc** key;
3382 		tyProc__5QC9cKfPJmKuW0XbCTd8ylA* value;
3383 		NI i_2;
3384 		NI L;
3385 		NI T6_;
3386 		key = (NimStringDesc**)0;
3387 		value = (tyProc__5QC9cKfPJmKuW0XbCTd8ylA*)0;
3388 		i_2 = ((NI) 0);
3389 		T6_ = ((*c).callbacks ? (*c).callbacks->Sup.len : 0);
3390 		L = T6_;
3391 		{
3392 			while (1) {
3393 				if (!(i_2 < L)) goto LA8;
3394 				key = (&(*c).callbacks->data[i_2].Field0);
3395 				value = (&(*c).callbacks->data[i_2].Field1);
3396 				{
3397 					NIM_BOOL T11_;
3398 					T11_ = (NIM_BOOL)0;
3399 					T11_ = matches__vmgen_3058(s, (*key));
3400 					if (!T11_) goto LA12_;
3401 					{
3402 						if (!!(((*s).offset == ((NI) -1)))) goto LA16_;
3403 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_28));
3404 					}
3405 					LA16_: ;
3406 					(*s).offset = i;
3407 					result = NIM_TRUE;
3408 					goto BeforeRet_;
3409 				}
3410 				LA12_: ;
3411 				i -= ((NI) 1);
3412 				i_2 += ((NI) 1);
3413 			} LA8: ;
3414 		}
3415 	}
3416 	}BeforeRet_: ;
3417 	return result;
3418 }
N_NIMCALL(NIM_BOOL,sameConstant__vmgen_969)3419 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3420 	NIM_BOOL result;
3421 {	result = (NIM_BOOL)0;
3422 	result = NIM_FALSE;
3423 	{
3424 		if (!(a == b)) goto LA3_;
3425 		result = NIM_TRUE;
3426 	}
3427 	goto LA1_;
3428 	LA3_: ;
3429 	{
3430 		NIM_BOOL T6_;
3431 		NIM_BOOL T7_;
3432 		T6_ = (NIM_BOOL)0;
3433 		T7_ = (NIM_BOOL)0;
3434 		T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3435 		if (!(T7_)) goto LA8_;
3436 		T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3437 		LA8_: ;
3438 		T6_ = T7_;
3439 		if (!(T6_)) goto LA9_;
3440 		T6_ = ((*a).kind == (*b).kind);
3441 		LA9_: ;
3442 		if (!T6_) goto LA10_;
3443 		switch ((*a).kind) {
3444 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3445 		{
3446 			result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
3447 		}
3448 		break;
3449 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3450 		{
3451 			result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
3452 		}
3453 		break;
3454 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
3455 		{
3456 			result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
3457 		}
3458 		break;
3459 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
3460 		{
3461 			union { NF source; NU64 dest; } LOC16;
3462 			union { NF source; NU64 dest; } LOC17;
3463 			LOC16.source = (*a)._kind_2.floatVal;
3464 			LOC17.source = (*b)._kind_2.floatVal;
3465 			result = (LOC16.dest == LOC17.dest);
3466 		}
3467 		break;
3468 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
3469 		{
3470 			result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
3471 		}
3472 		break;
3473 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
3474 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3475 		{
3476 			result = ((*a).typ == (*b).typ);
3477 		}
3478 		break;
3479 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
3480 		{
3481 			result = NIM_TRUE;
3482 		}
3483 		break;
3484 		default:
3485 		{
3486 			{
3487 				NI T24_;
3488 				NI T25_;
3489 				T24_ = (NI)0;
3490 				T24_ = len__ast_3198(a);
3491 				T25_ = (NI)0;
3492 				T25_ = len__ast_3198(b);
3493 				if (!(T24_ == T25_)) goto LA26_;
3494 				{
3495 					NI i;
3496 					NI colontmp_;
3497 					NI i_2;
3498 					i = (NI)0;
3499 					colontmp_ = (NI)0;
3500 					colontmp_ = len__ast_3198(a);
3501 					i_2 = ((NI) 0);
3502 					{
3503 						while (1) {
3504 							if (!(i_2 < colontmp_)) goto LA30;
3505 							i = i_2;
3506 							{
3507 								NIM_BOOL T33_;
3508 								T33_ = (NIM_BOOL)0;
3509 								T33_ = sameConstant__vmgen_969((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i]);
3510 								if (!!(T33_)) goto LA34_;
3511 								goto BeforeRet_;
3512 							}
3513 							LA34_: ;
3514 							i_2 += ((NI) 1);
3515 						} LA30: ;
3516 					}
3517 				}
3518 				result = NIM_TRUE;
3519 			}
3520 			LA26_: ;
3521 		}
3522 		break;
3523 		}
3524 	}
3525 	goto LA1_;
3526 	LA10_: ;
3527 	LA1_: ;
3528 	}BeforeRet_: ;
3529 	return result;
3530 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canonValue__vmgen_947)3531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__vmgen_947)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3532 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3533 	result = NIM_NIL;
3534 	result = n;
3535 	return result;
3536 }
N_NIMCALL(NI,rawGenLiteral__vmgen_950)3537 N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_950)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3538 	NI result;
3539 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3540 	result = (NI)0;
3541 	result = len__ast_3198((*c).constants);
3542 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4)) & 31);
3543 	T1_ = NIM_NIL;
3544 	T1_ = canonValue__vmgen_947(n);
3545 	add__ast_4797((*c).constants, T1_);
3546 	{
3547 		NimStringDesc* argX60gensym109_;
3548 		if (!!((result < ((NI) 8388607)))) goto LA4_;
3549 		argX60gensym109_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_29);
3550 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym109_, TM__24XApAWKNvaMkcyklm8bNA_29);
3551 	}
3552 	LA4_: ;
3553 	return result;
3554 }
N_NIMCALL(NI,genLiteral__vmgen_1013)3555 N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1013)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3556 	NI result;
3557 {	result = (NI)0;
3558 	{
3559 		NI i;
3560 		NI colontmp_;
3561 		NI i_2;
3562 		i = (NI)0;
3563 		colontmp_ = (NI)0;
3564 		colontmp_ = len__ast_3198((*c).constants);
3565 		i_2 = ((NI) 0);
3566 		{
3567 			while (1) {
3568 				if (!(i_2 < colontmp_)) goto LA3;
3569 				i = i_2;
3570 				{
3571 					NIM_BOOL T6_;
3572 					T6_ = (NIM_BOOL)0;
3573 					T6_ = sameConstant__vmgen_969((*(*c).constants)._kind_6.sons->data[i], n);
3574 					if (!T6_) goto LA7_;
3575 					result = i;
3576 					goto BeforeRet_;
3577 				}
3578 				LA7_: ;
3579 				i_2 += ((NI) 1);
3580 			} LA3: ;
3581 		}
3582 	}
3583 	result = rawGenLiteral__vmgen_950(c, n);
3584 	}BeforeRet_: ;
3585 	return result;
3586 }
N_NIMCALL(void,genLit__vmgen_1199)3587 N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1199)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
3588 	NI lit;
3589 	{
3590 		NI T5_;
3591 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3592 		T5_ = (NI)0;
3593 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3594 		(*dest) = ((NI) (T5_));
3595 	}
3596 	LA3_: ;
3597 	lit = genLiteral__vmgen_1013(c, n);
3598 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
3599 }
N_NIMCALL(void,genTypeLit__vmgen_2407)3600 N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2407)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* dest) {
3601 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
3602 	n = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
3603 	asgnRef((void**) (&(*n).typ), t);
3604 	genLit__vmgen_1199(c, n, dest);
3605 }
N_NIMCALL(NIM_BOOL,isTemp__vmgen_929)3606 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_929)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI dest) {
3607 	NIM_BOOL result;
3608 	NIM_BOOL T1_;
3609 	result = (NIM_BOOL)0;
3610 	T1_ = (NIM_BOOL)0;
3611 	T1_ = (((NI) 0) <= ((NI) (dest)));
3612 	if (!(T1_)) goto LA2_;
3613 	T1_ = (((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[dest].Field1);
3614 	LA2_: ;
3615 	result = T1_;
3616 	return result;
3617 }
N_NIMCALL(void,gen__vmgen_692)3618 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_692)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3619 	NI d;
3620 	d = ((NI) (dest));
3621 	gen__vmgen_687(c, n, (&d), flags);
3622 }
N_NIMCALL(void,patch__vmgen_434)3623 N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_434)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI p) {
3624 	NI p_2;
3625 	NI diff;
3626 	NI T1_;
3627 	NU64 oldInstr;
3628 	p_2 = p;
3629 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
3630 	diff = (NI)(T1_ - p_2);
3631 	{
3632 		NIM_BOOL T4_;
3633 		NimStringDesc* argX60gensym51_;
3634 		T4_ = (NIM_BOOL)0;
3635 		T4_ = (((NI) -8388607) < diff);
3636 		if (!(T4_)) goto LA5_;
3637 		T4_ = (diff < ((NI) 8388607));
3638 		LA5_: ;
3639 		if (!!(T4_)) goto LA6_;
3640 		argX60gensym51_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_33);
3641 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym51_, TM__24XApAWKNvaMkcyklm8bNA_33);
3642 	}
3643 	LA6_: ;
3644 	oldInstr = (*c).code->data[p_2];
3645 	(*c).code->data[p_2] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
3646 }
N_NIMCALL(void,genAndOr__vmgen_937)3647 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_937)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI* dest) {
3648 	NIM_BOOL copyBack;
3649 	NIM_BOOL T1_;
3650 	NIM_BOOL T3_;
3651 	NI tmp;
3652 	NI lab1;
3653 	T1_ = (NIM_BOOL)0;
3654 	T1_ = (((NI) ((*dest))) < ((NI) 0));
3655 	if (T1_) goto LA2_;
3656 	T3_ = (NIM_BOOL)0;
3657 	T3_ = isTemp__vmgen_929(c, (*dest));
3658 	T1_ = !(T3_);
3659 	LA2_: ;
3660 	copyBack = T1_;
3661 	{
3662 		if (!copyBack) goto LA6_;
3663 		tmp = getTemp__vmgen_541(c, (*n).typ);
3664 	}
3665 	goto LA4_;
3666 	LA6_: ;
3667 	{
3668 		tmp = ((NI) ((*dest)));
3669 	}
3670 	LA4_: ;
3671 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 1)], tmp, 0);
3672 	lab1 = xjmp__vmgen_398(c, n, opc, tmp);
3673 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 2)], tmp, 0);
3674 	patch__vmgen_434(c, lab1);
3675 	{
3676 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA11_;
3677 		(*dest) = ((NI) (tmp));
3678 	}
3679 	goto LA9_;
3680 	LA11_: ;
3681 	{
3682 		if (!copyBack) goto LA14_;
3683 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
3684 		freeTemp__vmgen_550(c, tmp);
3685 	}
3686 	goto LA9_;
3687 	LA14_: ;
3688 	LA9_: ;
3689 }
N_NIMCALL(NIM_BOOL,isInt8Lit__vmgen_1558)3690 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1558)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3691 	NIM_BOOL result;
3692 	result = (NIM_BOOL)0;
3693 	{
3694 		NIM_BOOL T5_;
3695 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3696 		T5_ = (NIM_BOOL)0;
3697 		T5_ = (IL64(-128) <= (*n)._kind_1.intVal);
3698 		if (!(T5_)) goto LA6_;
3699 		T5_ = ((*n)._kind_1.intVal <= IL64(127));
3700 		LA6_: ;
3701 		result = T5_;
3702 	}
3703 	LA3_: ;
3704 	return result;
3705 }
N_NIMCALL(void,gABI__vmgen_347)3706 N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_347)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI a, NI b, NI64 imm) {
3707 	{
3708 		NIM_BOOL T3_;
3709 		NU64 ins;
3710 		NI T7_;
3711 		NI T8_;
3712 		T3_ = (NIM_BOOL)0;
3713 		T3_ = (IL64(-128) <= imm);
3714 		if (!(T3_)) goto LA4_;
3715 		T3_ = (imm <= IL64(127));
3716 		LA4_: ;
3717 		if (!T3_) goto LA5_;
3718 		ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) ((NI64)(imm + IL64(128))))) << (NU64)(40ULL)));
3719 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_)));
3720 		T7_ = (*c).code->Sup.len++;
3721 		(*c).code->data[T7_] = ins;
3722 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) incrSeqV3((TGenericSeq*)((*c).debug), (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_)));
3723 		T8_ = (*c).debug->Sup.len++;
3724 		(*c).debug->data[T8_] = (*n).info;
3725 	}
3726 	goto LA1_;
3727 	LA5_: ;
3728 	{
3729 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_34), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_35, NIM_FALSE);
3730 	}
3731 	LA1_: ;
3732 }
N_NIMCALL(void,genBinaryABC__vmgen_1405)3733 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1405)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3734 	NI tmp;
3735 	NI tmp2;
3736 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3737 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
3738 	{
3739 		NI T5_;
3740 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
3741 		T5_ = (NI)0;
3742 		T5_ = getTemp__vmgen_541(c, (*n).typ);
3743 		(*dest) = ((NI) (T5_));
3744 	}
3745 	LA3_: ;
3746 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
3747 	freeTemp__vmgen_550(c, tmp);
3748 	freeTemp__vmgen_550(c, tmp2);
3749 }
N_NIMCALL(void,genNarrow__vmgen_1427)3750 N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1427)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
3751 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3752 	NI64 size;
3753 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
3754 	size = getSize__types_3336((*c).config, t);
3755 	{
3756 		NIM_BOOL T3_;
3757 		NIM_BOOL T5_;
3758 		T3_ = (NIM_BOOL)0;
3759 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3760 		if (T3_) goto LA4_;
3761 		T5_ = (NIM_BOOL)0;
3762 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
3763 		if (!(T5_)) goto LA6_;
3764 		T5_ = (size < IL64(8));
3765 		LA6_: ;
3766 		T3_ = T5_;
3767 		LA4_: ;
3768 		if (!T3_) goto LA7_;
3769 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3770 	}
3771 	goto LA1_;
3772 	LA7_: ;
3773 	{
3774 		NIM_BOOL T10_;
3775 		NIM_BOOL T12_;
3776 		T10_ = (NIM_BOOL)0;
3777 		T10_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3778 		if (T10_) goto LA11_;
3779 		T12_ = (NIM_BOOL)0;
3780 		T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3781 		if (!(T12_)) goto LA13_;
3782 		T12_ = (size < IL64(8));
3783 		LA13_: ;
3784 		T10_ = T12_;
3785 		LA11_: ;
3786 		if (!T10_) goto LA14_;
3787 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
3788 	}
3789 	goto LA1_;
3790 	LA14_: ;
3791 	LA1_: ;
3792 }
N_NIMCALL(void,genAddSubInt__vmgen_1588)3793 N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1588)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
3794 	{
3795 		NIM_BOOL T3_;
3796 		NI tmp;
3797 		T3_ = (NIM_BOOL)0;
3798 		T3_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
3799 		if (!T3_) goto LA4_;
3800 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
3801 		{
3802 			NI T10_;
3803 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
3804 			T10_ = (NI)0;
3805 			T10_ = getTemp__vmgen_541(c, (*n).typ);
3806 			(*dest) = ((NI) (T10_));
3807 		}
3808 		LA8_: ;
3809 		gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), ((NI) ((*dest))), tmp, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
3810 		freeTemp__vmgen_550(c, tmp);
3811 	}
3812 	goto LA1_;
3813 	LA4_: ;
3814 	{
3815 		genBinaryABC__vmgen_1405(c, n, dest, opc);
3816 	}
3817 	LA1_: ;
3818 	genNarrow__vmgen_1427(c, n, (*dest));
3819 }
N_INLINE(void,unused__vmgen_1026)3820 static N_INLINE(void, unused__vmgen_1026)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI x) {
3821 	{
3822 		if (!(((NI) 0) <= ((NI) (x)))) goto LA3_;
3823 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_37), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_38, NIM_FALSE);
3824 	}
3825 	LA3_: ;
3826 }
N_NIMCALL(NI,genIndex__vmgen_1305)3827 N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1305)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* arr) {
3828 	NI result;
3829 	result = (NI)0;
3830 	{
3831 		NIM_BOOL T3_;
3832 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
3833 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA x;
3834 		NIM_BOOL T6_;
3835 		NI tmp;
3836 		NI T9_;
3837 		T3_ = (NIM_BOOL)0;
3838 		T4_ = NIM_NIL;
3839 		T4_ = skipTypes__ast_3735(arr, TM__24XApAWKNvaMkcyklm8bNA_40);
3840 		T3_ = ((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
3841 		if (!(T3_)) goto LA5_;
3842 		x = firstOrd__types_1353((*c).config, arr);
3843 		T6_ = (NIM_BOOL)0;
3844 		T6_ = eqeq___int495056_313(x, Zero__int495056_7);
3845 		T3_ = !(T6_);
3846 		LA5_: ;
3847 		if (!T3_) goto LA7_;
3848 		tmp = genx__vmgen_712(c, n, 0);
3849 		freeTemp__vmgen_550(c, tmp);
3850 		result = getTemp__vmgen_541(c, (*n).typ);
3851 		T9_ = (NI)0;
3852 		T9_ = toInt__int495056_170(x);
3853 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32), result, tmp, ((NI64) (T9_)));
3854 	}
3855 	goto LA1_;
3856 	LA7_: ;
3857 	{
3858 		result = genx__vmgen_712(c, n, 0);
3859 	}
3860 	LA1_: ;
3861 	return result;
3862 }
N_NIMCALL(NI,genField__vmgen_1288)3863 N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1288)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3864 	NI result;
3865 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
3866 	result = (NI)0;
3867 	{
3868 		NIM_BOOL T3_;
3869 		T3_ = (NIM_BOOL)0;
3870 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
3871 		if (T3_) goto LA4_;
3872 		T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)));
3873 		LA4_: ;
3874 		if (!T3_) goto LA5_;
3875 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_43), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_44, NIM_FALSE);
3876 	}
3877 	LA5_: ;
3878 	s = (*n)._kind_4.sym;
3879 	{
3880 		NimStringDesc* T11_;
3881 		if (!(((NI) 65535) < (*s).position)) goto LA9_;
3882 		T11_ = NIM_NIL;
3883 		T11_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 44);
3884 appendString(T11_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_45));
3885 appendString(T11_, (*(*s).name).s);
3886 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_46, NIM_FALSE);
3887 	}
3888 	LA9_: ;
3889 	result = ((NI) ((*s).position));
3890 	return result;
3891 }
N_NIMCALL(void,genCheckedObjAccessAux__vmgen_1316)3892 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1316)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
3893 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
3894 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkExpr;
3895 	NIM_BOOL negCheck;
3896 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* disc;
3897 	NI discVal;
3898 	NI T14_;
3899 	NI setLit;
3900 	NI rs;
3901 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
3902 	NI lab1;
3903 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T16_;
3904 	tyObject_TType__facALICuu8zUj0hjvbTLFg* strType;
3905 	NI msgReg;
3906 	NI T22_;
3907 	NimStringDesc* fieldName;
3908 	NimStringDesc* msg;
3909 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strLit;
3910 	{
3911 		NimStringDesc* argX60gensym456_;
3912 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
3913 		argX60gensym456_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_41);
3914 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym456_, TM__24XApAWKNvaMkcyklm8bNA_41);
3915 	}
3916 	LA3_: ;
3917 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
3918 	checkExpr = (*n)._kind_6.sons->data[((NI) 1)];
3919 	negCheck = ((*(*(*checkExpr)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
3920 	{
3921 		NI T9_;
3922 		if (!negCheck) goto LA7_;
3923 		T9_ = (NI)0;
3924 		T9_ = len__ast_3198(checkExpr);
3925 		checkExpr = (*checkExpr)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
3926 	}
3927 	LA7_: ;
3928 	disc = (*checkExpr)._kind_6.sons->data[((NI) 2)];
3929 	{
3930 		NimStringDesc* argX60gensym465_;
3931 		if (!!(((*(*disc)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA12_;
3932 		argX60gensym465_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_42);
3933 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym465_, TM__24XApAWKNvaMkcyklm8bNA_42);
3934 	}
3935 	LA12_: ;
3936 	gen__vmgen_687(c, (*accessExpr)._kind_6.sons->data[((NI) 0)], dest, flags);
3937 	discVal = getTemp__vmgen_541(c, (*disc).typ);
3938 	T14_ = (NI)0;
3939 	T14_ = genField__vmgen_1288(c, disc);
3940 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), discVal, ((NI) ((*dest))), T14_);
3941 	setLit = genx__vmgen_712(c, (*checkExpr)._kind_6.sons->data[((NI) 1)], 0);
3942 	T15_ = NIM_NIL;
3943 	T15_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
3944 	rs = getTemp__vmgen_541(c, T15_);
3945 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84), rs, setLit, discVal);
3946 	freeTemp__vmgen_550(c, discVal);
3947 	freeTemp__vmgen_550(c, setLit);
3948 	T16_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
3949 	{
3950 		if (!negCheck) goto LA19_;
3951 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162);
3952 	}
3953 	goto LA17_;
3954 	LA19_: ;
3955 	{
3956 		T16_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161);
3957 	}
3958 	LA17_: ;
3959 	lab1 = xjmp__vmgen_398(c, n, T16_, rs);
3960 	freeTemp__vmgen_550(c, rs);
3961 	strType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
3962 	T22_ = (NI)0;
3963 	T22_ = getTemp__vmgen_541(c, strType);
3964 	msgReg = ((NI) (T22_));
3965 	fieldName = dollar___renderer_2106((*accessExpr)._kind_6.sons->data[((NI) 1)]);
3966 	msg = genFieldDefect__astmsgs_61((*c).config, fieldName, (*disc)._kind_4.sym);
3967 	strLit = newStrNode__ast_3817(msg, (*(*accessExpr)._kind_6.sons->data[((NI) 1)]).info);
3968 	asgnRef((void**) (&(*strLit).typ), strType);
3969 	genLit__vmgen_1199(c, strLit, (&msgReg));
3970 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96), ((NI) (msgReg)), discVal, ((NI) 0));
3971 	freeTemp__vmgen_550(c, ((NI) (msgReg)));
3972 	patch__vmgen_434(c, lab1);
3973 }
N_NIMCALL(void,genAsgnPatch__vmgen_1321)3974 N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1321)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, NI value) {
3975 	switch ((*le).kind) {
3976 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3977 	{
3978 		NI dest;
3979 		NI idx;
3980 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
3981 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
3982 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, value);
3983 		freeTemp__vmgen_550(c, dest);
3984 		freeTemp__vmgen_550(c, idx);
3985 	}
3986 	break;
3987 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3988 	{
3989 		NI objR;
3990 		NI idx_2;
3991 		objR = ((NI) -1);
3992 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
3993 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
3994 		gABC__vmgen_312(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, value);
3995 		freeTemp__vmgen_550(c, ((NI) (objR)));
3996 	}
3997 	break;
3998 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3999 	{
4000 		NI dest_2;
4001 		NI idx_3;
4002 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4003 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
4004 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, value);
4005 		freeTemp__vmgen_550(c, dest_2);
4006 	}
4007 	break;
4008 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
4009 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
4010 	{
4011 		NI dest_3;
4012 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
4013 		gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), value);
4014 		freeTemp__vmgen_550(c, dest_3);
4015 	}
4016 	break;
4017 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4018 	{
4019 		{
4020 			NIM_BOOL T8_;
4021 			NI dest_4;
4022 			T8_ = (NIM_BOOL)0;
4023 			T8_ = (((*(*le)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4024 			if (!(T8_)) goto LA9_;
4025 			T8_ = !(((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4026 			LA9_: ;
4027 			if (!T8_) goto LA10_;
4028 			dest_4 = genx__vmgen_712(c, le, 2);
4029 			gABC__vmgen_312(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_4, ((NI) 0), value);
4030 			freeTemp__vmgen_550(c, dest_4);
4031 		}
4032 		LA10_: ;
4033 	}
4034 	break;
4035 	default:
4036 	{
4037 	}
4038 	break;
4039 	}
4040 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)4041 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4042 	NIM_BOOL result;
4043 	NIM_BOOL T1_;
4044 	result = (NIM_BOOL)0;
4045 	T1_ = (NIM_BOOL)0;
4046 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4047 	if (T1_) goto LA2_;
4048 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
4049 	LA2_: ;
4050 	result = T1_;
4051 	return result;
4052 }
N_NIMCALL(NI,getTempRange__vmgen_559)4053 N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_559)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* cc, NI n, tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ kind) {
4054 	NI result;
4055 	tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* c;
4056 	NI T34_;
4057 	NI T35_;
4058 {	result = (NI)0;
4059 	c = (*cc).prc;
4060 	{
4061 		NIM_BOOL T3_;
4062 		NI T4_;
4063 		NI T6_;
4064 		T3_ = (NIM_BOOL)0;
4065 		T4_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4066 		T3_ = (((NI) 40) <= T4_);
4067 		if (T3_) goto LA5_;
4068 		T6_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4069 		T3_ = (((NI) 65535) <= (NI)(T6_ + n));
4070 		LA5_: ;
4071 		if (!T3_) goto LA7_;
4072 		{
4073 			NI i;
4074 			NI colontmp_;
4075 			NI T10_;
4076 			NI res;
4077 			i = (NI)0;
4078 			colontmp_ = (NI)0;
4079 			T10_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4080 			colontmp_ = (NI)(T10_ - n);
4081 			res = ((NI) 0);
4082 			{
4083 				while (1) {
4084 					if (!(res <= colontmp_)) goto LA12;
4085 					i = res;
4086 					{
4087 						if (!!((*c).regInfo->data[i].Field0)) goto LA15_;
4088 						{
4089 							{
4090 								NI j;
4091 								NI colontmp__2;
4092 								NI colontmp__3;
4093 								NI res_2;
4094 								j = (NI)0;
4095 								colontmp__2 = (NI)0;
4096 								colontmp__3 = (NI)0;
4097 								colontmp__2 = (NI)(i + ((NI) 1));
4098 								colontmp__3 = (NI)((NI)(i + n) - ((NI) 1));
4099 								res_2 = colontmp__2;
4100 								{
4101 									while (1) {
4102 										if (!(res_2 <= colontmp__3)) goto LA20;
4103 										j = res_2;
4104 										{
4105 											if (!(*c).regInfo->data[j].Field0) goto LA23_;
4106 											goto LA17;
4107 										}
4108 										LA23_: ;
4109 										res_2 += ((NI) 1);
4110 									} LA20: ;
4111 								}
4112 							}
4113 							result = ((NI) (i));
4114 							{
4115 								NI k;
4116 								NI colontmp__4;
4117 								NI res_3;
4118 								k = (NI)0;
4119 								colontmp__4 = (NI)0;
4120 								colontmp__4 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4121 								res_3 = ((NI) (result));
4122 								{
4123 									while (1) {
4124 										NIM_BOOL colontmp__5;
4125 										tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__6;
4126 										if (!(res_3 <= ((NI) (colontmp__4)))) goto LA27;
4127 										k = ((NI) (res_3));
4128 										colontmp__5 = NIM_TRUE;
4129 										colontmp__6 = kind;
4130 										(*c).regInfo->data[k].Field0 = colontmp__5;
4131 										(*c).regInfo->data[k].Field1 = colontmp__6;
4132 										res_3 += ((NI) 1);
4133 									} LA27: ;
4134 								}
4135 							}
4136 							goto BeforeRet_;
4137 						} LA17: ;
4138 					}
4139 					LA15_: ;
4140 					res += ((NI) 1);
4141 				} LA12: ;
4142 			}
4143 		}
4144 	}
4145 	LA7_: ;
4146 	{
4147 		NI T30_;
4148 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T33_;
4149 		T30_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4150 		if (!(((NI) 65535) <= (NI)(T30_ + n))) goto LA31_;
4151 		T33_ = bestEffort__vmgen_468(cc);
4152 		liMessage__msgs_1118((*cc).config, T33_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_18), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_47, NIM_FALSE);
4153 	}
4154 	LA31_: ;
4155 	T34_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4156 	result = ((NI) (T34_));
4157 	T35_ = ((*c).regInfo ? (*c).regInfo->Sup.len : 0);
4158 	asgnRef((void**) (&(*c).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*c).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((NI)(T35_ + n)))));
4159 	{
4160 		NI k_2;
4161 		NI colontmp__7;
4162 		NI res_4;
4163 		k_2 = (NI)0;
4164 		colontmp__7 = (NI)0;
4165 		colontmp__7 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI) 1))));
4166 		res_4 = ((NI) (result));
4167 		{
4168 			while (1) {
4169 				NIM_BOOL colontmp__8;
4170 				tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__9;
4171 				if (!(res_4 <= ((NI) (colontmp__7)))) goto LA38;
4172 				k_2 = ((NI) (res_4));
4173 				colontmp__8 = NIM_TRUE;
4174 				colontmp__9 = kind;
4175 				(*c).regInfo->data[k_2].Field0 = colontmp__8;
4176 				(*c).regInfo->data[k_2].Field1 = colontmp__9;
4177 				res_4 += ((NI) 1);
4178 			} LA38: ;
4179 		}
4180 	}
4181 	}BeforeRet_: ;
4182 	return result;
4183 }
N_NIMCALL(NI,genType__vmgen_1088)4184 N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1088)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
4185 	NI result;
4186 	NI T10_;
4187 	NI T11_;
4188 {	result = (NI)0;
4189 	{
4190 		NI i;
4191 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4192 		NI i_2;
4193 		NI L;
4194 		NI T2_;
4195 		i = (NI)0;
4196 		t = NIM_NIL;
4197 		i_2 = ((NI) 0);
4198 		T2_ = ((*c).types ? (*c).types->Sup.len : 0);
4199 		L = T2_;
4200 		{
4201 			while (1) {
4202 				if (!(i_2 < L)) goto LA4;
4203 				i = i_2;
4204 				t = (*c).types->data[i_2];
4205 				{
4206 					NIM_BOOL T7_;
4207 					T7_ = (NIM_BOOL)0;
4208 					T7_ = sameType__types_1824(t, typ, 0);
4209 					if (!T7_) goto LA8_;
4210 					result = i;
4211 					goto BeforeRet_;
4212 				}
4213 				LA8_: ;
4214 				i_2 += ((NI) 1);
4215 			} LA4: ;
4216 		}
4217 	}
4218 	T10_ = ((*c).types ? (*c).types->Sup.len : 0);
4219 	result = T10_;
4220 	asgnRef((void**) (&(*c).types), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).types), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
4221 	T11_ = (*c).types->Sup.len++;
4222 	asgnRef((void**) (&(*c).types->data[T11_]), typ);
4223 	{
4224 		NimStringDesc* argX60gensym128_;
4225 		if (!!((result <= ((NI) 8388607)))) goto LA14_;
4226 		argX60gensym128_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_49);
4227 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym128_, TM__24XApAWKNvaMkcyklm8bNA_49);
4228 	}
4229 	LA14_: ;
4230 	}BeforeRet_: ;
4231 	return result;
4232 }
N_NIMCALL(void,freeTempRange__vmgen_626)4233 N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_626)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, NI n) {
4234 	{
4235 		NI i;
4236 		NI colontmp_;
4237 		NI res;
4238 		i = (NI)0;
4239 		colontmp_ = (NI)0;
4240 		colontmp_ = ((NI) ((NI)((NI)(((NI) (start)) + n) - ((NI) 1))));
4241 		res = ((NI) (start));
4242 		{
4243 			while (1) {
4244 				if (!(res <= ((NI) (colontmp_)))) goto LA3;
4245 				i = ((NI) (res));
4246 				freeTemp__vmgen_550(c, i);
4247 				res += ((NI) 1);
4248 			} LA3: ;
4249 		}
4250 	}
4251 }
N_NIMCALL(void,genCall__vmgen_1204)4252 N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1204)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4253 	NI x;
4254 	NI T16_;
4255 	tyObject_TType__facALICuu8zUj0hjvbTLFg* fntyp;
4256 	NI T37_;
4257 {	{
4258 		NIM_BOOL T3_;
4259 		NI T4_;
4260 		T3_ = (NIM_BOOL)0;
4261 		T4_ = (NI)0;
4262 		T4_ = len__ast_3198(n);
4263 		T3_ = (T4_ == ((NI) 0));
4264 		if (T3_) goto LA5_;
4265 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).typ == 0);
4266 		LA5_: ;
4267 		if (!T3_) goto LA6_;
4268 		goto BeforeRet_;
4269 	}
4270 	LA6_: ;
4271 	{
4272 		NIM_BOOL T10_;
4273 		NIM_BOOL T12_;
4274 		NI T15_;
4275 		T10_ = (NIM_BOOL)0;
4276 		T10_ = (((NI) ((*dest))) < ((NI) 0));
4277 		if (!(T10_)) goto LA11_;
4278 		T12_ = (NIM_BOOL)0;
4279 		T12_ = isEmptyType__ast_4779((*n).typ);
4280 		T10_ = !(T12_);
4281 		LA11_: ;
4282 		if (!T10_) goto LA13_;
4283 		T15_ = (NI)0;
4284 		T15_ = getTemp__vmgen_541(c, (*n).typ);
4285 		(*dest) = ((NI) (T15_));
4286 	}
4287 	LA13_: ;
4288 	T16_ = (NI)0;
4289 	T16_ = len__ast_3198(n);
4290 	x = getTempRange__vmgen_559(c, T16_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4291 	fntyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
4292 	{
4293 		NI i;
4294 		NI colontmp_;
4295 		NI i_2;
4296 		i = (NI)0;
4297 		colontmp_ = (NI)0;
4298 		colontmp_ = len__ast_3198(n);
4299 		i_2 = ((NI) 0);
4300 		{
4301 			while (1) {
4302 				NI r;
4303 				if (!(i_2 < colontmp_)) goto LA19;
4304 				i = i_2;
4305 				r = ((NI) ((NI)(((NI) (x)) + i)));
4306 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 4);
4307 				{
4308 					NI T22_;
4309 					NI T29_;
4310 					T22_ = (NI)0;
4311 					T22_ = len__ast_4002(fntyp);
4312 					if (!(T22_ <= i)) goto LA23_;
4313 					{
4314 						NimStringDesc* argX60gensym147_;
4315 						if (!!((((*fntyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0))) goto LA27_;
4316 						argX60gensym147_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_48);
4317 						internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym147_, TM__24XApAWKNvaMkcyklm8bNA_48);
4318 					}
4319 					LA27_: ;
4320 					T29_ = (NI)0;
4321 					T29_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[i]).typ);
4322 					gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), r, T29_);
4323 				}
4324 				LA23_: ;
4325 				i_2 += ((NI) 1);
4326 			} LA19: ;
4327 		}
4328 	}
4329 	{
4330 		NI T34_;
4331 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA32_;
4332 		T34_ = (NI)0;
4333 		T34_ = len__ast_3198(n);
4334 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154), ((NI) 0), x, ((NI) (T34_)));
4335 	}
4336 	goto LA30_;
4337 	LA32_: ;
4338 	{
4339 		NI T36_;
4340 		T36_ = (NI)0;
4341 		T36_ = len__ast_3198(n);
4342 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 155), ((NI) ((*dest))), x, ((NI) (T36_)));
4343 	}
4344 	LA30_: ;
4345 	T37_ = (NI)0;
4346 	T37_ = len__ast_3198(n);
4347 	freeTempRange__vmgen_626(c, x, T37_);
4348 	}BeforeRet_: ;
4349 }
N_NIMCALL(NIM_BOOL,needsAsgnPatch__vmgen_1269)4350 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4351 	NIM_BOOL result;
4352 	NIM_BOOL T1_;
4353 	NIM_BOOL T3_;
4354 	NIM_BOOL T5_;
4355 	result = (NIM_BOOL)0;
4356 	T1_ = (NIM_BOOL)0;
4357 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
4358 	if (T1_) goto LA2_;
4359 	T3_ = (NIM_BOOL)0;
4360 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4361 	if (!(T3_)) goto LA4_;
4362 	T5_ = (NIM_BOOL)0;
4363 	T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
4364 	if (!(T5_)) goto LA6_;
4365 	T5_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
4366 	LA6_: ;
4367 	T3_ = T5_;
4368 	LA4_: ;
4369 	T1_ = T3_;
4370 	LA2_: ;
4371 	result = T1_;
4372 	return result;
4373 }
N_NIMCALL(void,genNew__vmgen_1350)4374 N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1350)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4375 	NI dest;
4376 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4377 	NI T8_;
4378 	{
4379 		NIM_BOOL T3_;
4380 		T3_ = (NIM_BOOL)0;
4381 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4382 		if (!T3_) goto LA4_;
4383 		dest = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4384 	}
4385 	goto LA1_;
4386 	LA4_: ;
4387 	{
4388 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4389 	}
4390 	LA1_: ;
4391 	T7_ = NIM_NIL;
4392 	T7_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4393 	T8_ = (NI)0;
4394 	T8_ = genType__vmgen_1088(c, (*T7_).sons->data[((NI) 0)]);
4395 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), dest, T8_);
4396 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4397 	freeTemp__vmgen_550(c, dest);
4398 }
N_NIMCALL(void,genNewSeq__vmgen_1364)4399 N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1364)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4400 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4401 	NI dest;
4402 	NI tmp;
4403 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4404 	NI T8_;
4405 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
4406 	{
4407 		NIM_BOOL T3_;
4408 		T3_ = (NIM_BOOL)0;
4409 		T3_ = needsAsgnPatch__vmgen_1269((*n)._kind_6.sons->data[((NI) 1)]);
4410 		if (!T3_) goto LA4_;
4411 		dest = getTemp__vmgen_541(c, t);
4412 	}
4413 	goto LA1_;
4414 	LA4_: ;
4415 	{
4416 		dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4417 	}
4418 	LA1_: ;
4419 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4420 	T7_ = NIM_NIL;
4421 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4422 	T8_ = (NI)0;
4423 	T8_ = genType__vmgen_1088(c, T7_);
4424 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), dest, T8_);
4425 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4426 	freeTemp__vmgen_550(c, tmp);
4427 	genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
4428 	freeTemp__vmgen_550(c, dest);
4429 }
N_NIMCALL(void,genNewSeqOfCap__vmgen_1379)4430 N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1379)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4431 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4432 	NI tmp;
4433 	NI T6_;
4434 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
4435 	NI T8_;
4436 	t = (*n).typ;
4437 	{
4438 		NI T5_;
4439 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4440 		T5_ = (NI)0;
4441 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4442 		(*dest) = ((NI) (T5_));
4443 	}
4444 	LA3_: ;
4445 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4446 	T6_ = (NI)0;
4447 	T6_ = genType__vmgen_1088(c, t);
4448 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
4449 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, ((NI) 0));
4450 	T7_ = NIM_NIL;
4451 	T7_ = skipTypes__ast_3735(t, TM__24XApAWKNvaMkcyklm8bNA_36);
4452 	T8_ = (NI)0;
4453 	T8_ = genType__vmgen_1088(c, T7_);
4454 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T8_);
4455 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
4456 	freeTemp__vmgen_550(c, tmp);
4457 }
N_NIMCALL(void,genUnaryABC__vmgen_1390)4458 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1390)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4459 	NI tmp;
4460 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4461 	{
4462 		NI T5_;
4463 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4464 		T5_ = (NI)0;
4465 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4466 		(*dest) = ((NI) (T5_));
4467 	}
4468 	LA3_: ;
4469 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4470 	freeTemp__vmgen_550(c, tmp);
4471 }
N_NIMCALL(void,genUnaryABI__vmgen_1397)4472 N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1397)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI64 imm) {
4473 	NI tmp;
4474 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4475 	{
4476 		NI T5_;
4477 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4478 		T5_ = (NI)0;
4479 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4480 		(*dest) = ((NI) (T5_));
4481 	}
4482 	LA3_: ;
4483 	gABI__vmgen_347(c, n, opc, ((NI) ((*dest))), tmp, imm);
4484 	freeTemp__vmgen_550(c, tmp);
4485 }
N_NIMCALL(void,genSetType__vmgen_1481)4486 N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1481)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4487 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4488 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
4489 	{
4490 		NI T5_;
4491 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
4492 		T5_ = (NI)0;
4493 		T5_ = genType__vmgen_1088(c, t);
4494 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), dest, T5_);
4495 	}
4496 	LA3_: ;
4497 }
N_NIMCALL(void,genCard__vmgen_1621)4498 N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1621)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4499 	NI tmp;
4500 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4501 	{
4502 		NI T5_;
4503 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4504 		T5_ = (NI)0;
4505 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4506 		(*dest) = ((NI) (T5_));
4507 	}
4508 	LA3_: ;
4509 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4510 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39), ((NI) ((*dest))), tmp, ((NI) 0));
4511 	freeTemp__vmgen_550(c, tmp);
4512 }
N_NIMCALL(void,genBinaryABCnarrow__vmgen_1471)4513 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1471)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4514 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4515 	genNarrow__vmgen_1427(c, n, (*dest));
4516 }
N_NIMCALL(void,genNarrowU__vmgen_1453)4517 N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1453)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest) {
4518 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4519 	NI64 size;
4520 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
4521 	size = getSize__types_3336((*c).config, t);
4522 	{
4523 		NIM_BOOL T3_;
4524 		NIM_BOOL T5_;
4525 		T3_ = (NIM_BOOL)0;
4526 		T3_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4527 		if (T3_) goto LA4_;
4528 		T5_ = (NIM_BOOL)0;
4529 		T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4530 		if (!(T5_)) goto LA6_;
4531 		T5_ = (size < IL64(8));
4532 		LA6_: ;
4533 		T3_ = T5_;
4534 		LA4_: ;
4535 		if (!T3_) goto LA7_;
4536 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
4537 	}
4538 	LA7_: ;
4539 }
N_NIMCALL(void,genBinaryABCnarrowU__vmgen_1476)4540 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1476)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4541 	genBinaryABC__vmgen_1405(c, n, dest, opc);
4542 	genNarrowU__vmgen_1453(c, n, (*dest));
4543 }
N_NIMCALL(void,Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)4544 static N_NIMCALL(void, Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw)(void* p, NI op) {
4545 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* a;
4546 	a = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*)p;
4547 	nimGCvisit((void*)(*a).t21, op);
4548 	nimGCvisit((void*)(*a).targ22, op);
4549 	nimGCvisit((void*)(*a).n3, op);
4550 	nimGCvisit((void*)(*a).arg4, op);
4551 }
N_CLOSURE(NIM_BOOL,implicitConv__vmgen_1610)4552 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1610)(void* ClE_0) {
4553 	NIM_BOOL result;
4554 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenvP_;
4555 {	result = (NIM_BOOL)0;
4556 	colonenvP_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) ClE_0;
4557 	{
4558 		NIM_BOOL T3_;
4559 		T3_ = (NIM_BOOL)0;
4560 		T3_ = sameType__types_1824((*colonenvP_).t21, (*colonenvP_).targ22, 0);
4561 		if (!T3_) goto LA4_;
4562 		result = NIM_TRUE;
4563 		goto BeforeRet_;
4564 	}
4565 	LA4_: ;
4566 	{
4567 		NIM_BOOL T8_;
4568 		T8_ = (NIM_BOOL)0;
4569 		T8_ = ((*(*(*colonenvP_).n3).typ).kind == (*(*(*colonenvP_).arg4).typ).kind);
4570 		if (!(T8_)) goto LA9_;
4571 		T8_ = ((*(*(*colonenvP_).arg4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
4572 		LA9_: ;
4573 		if (!T8_) goto LA10_;
4574 		result = NIM_TRUE;
4575 		goto BeforeRet_;
4576 	}
4577 	LA10_: ;
4578 	}BeforeRet_: ;
4579 	return result;
4580 }
N_NIMCALL(void,genConv__vmgen_1602)4581 N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1602)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4582 	tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA* colonenv_;
4583 	NI tmp;
4584 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4585 	NI T13_;
4586 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
4587 	NI T15_;
4588 {	colonenv_ = NIM_NIL;
4589 	colonenv_ = (tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*) newObj((&NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_), sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA));
4590 	(*colonenv_).Sup.m_type = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
4591 	asgnRef((void**) (&(*colonenv_).n3), n);
4592 	asgnRef((void**) (&(*colonenv_).arg4), arg);
4593 	asgnRef((void**) (&(*colonenv_).t21), skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4594 	asgnRef((void**) (&(*colonenv_).targ22), skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_53));
4595 	{
4596 		tyProc__In3g79a0qTcRmbTbJp9ba9ctg T3_;
4597 		NIM_BOOL T4_;
4598 		nimZeroMem((void*)(&T3_), sizeof(tyProc__In3g79a0qTcRmbTbJp9ba9ctg));
4599 		T3_.ClP_0 = implicitConv__vmgen_1610; T3_.ClE_0 = colonenv_;
4600 		T4_ = (NIM_BOOL)0;
4601 		T4_ = T3_.ClE_0? T3_.ClP_0(T3_.ClE_0):((TM__24XApAWKNvaMkcyklm8bNA_54)(T3_.ClP_0))();
4602 		if (!T4_) goto LA5_;
4603 		gen__vmgen_687(c, (*colonenv_).arg4, dest, 0);
4604 		goto BeforeRet_;
4605 	}
4606 	LA5_: ;
4607 	tmp = genx__vmgen_712(c, (*colonenv_).arg4, 0);
4608 	{
4609 		NI T11_;
4610 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
4611 		T11_ = (NI)0;
4612 		T11_ = getTemp__vmgen_541(c, (*(*colonenv_).n3).typ);
4613 		(*dest) = ((NI) (T11_));
4614 	}
4615 	LA9_: ;
4616 	gABC__vmgen_312(c, (*colonenv_).n3, opc, ((NI) ((*dest))), tmp, ((NI) 0));
4617 	T12_ = NIM_NIL;
4618 	T12_ = skipTypes__ast_3735((*(*colonenv_).n3).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4619 	T13_ = (NI)0;
4620 	T13_ = genType__vmgen_1088(c, T12_);
4621 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T13_);
4622 	T14_ = NIM_NIL;
4623 	T14_ = skipTypes__ast_3735((*(*colonenv_).arg4).typ, TM__24XApAWKNvaMkcyklm8bNA_16);
4624 	T15_ = (NI)0;
4625 	T15_ = genType__vmgen_1088(c, T14_);
4626 	gABx__vmgen_375(c, (*colonenv_).n3, opc, ((NI) 0), T15_);
4627 	freeTemp__vmgen_550(c, tmp);
4628 	}BeforeRet_: ;
4629 }
N_NIMCALL(void,genBinarySet__vmgen_1494)4630 N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1494)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4631 	NI tmp;
4632 	NI tmp2;
4633 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4634 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4635 	{
4636 		NI T5_;
4637 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4638 		T5_ = (NI)0;
4639 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4640 		(*dest) = ((NI) (T5_));
4641 	}
4642 	LA3_: ;
4643 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], tmp);
4644 	genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 2)], tmp2);
4645 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4646 	freeTemp__vmgen_550(c, tmp);
4647 	freeTemp__vmgen_550(c, tmp2);
4648 }
N_NIMCALL(void,genVarargsABC__vmgen_1533)4649 N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1533)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4650 	NI x;
4651 	NI T6_;
4652 	NI T10_;
4653 	NI T11_;
4654 	{
4655 		NI T5_;
4656 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4657 		T5_ = (NI)0;
4658 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4659 		(*dest) = ((NI) (T5_));
4660 	}
4661 	LA3_: ;
4662 	T6_ = (NI)0;
4663 	T6_ = len__ast_3198(n);
4664 	x = getTempRange__vmgen_559(c, (NI)(T6_ - ((NI) 1)), ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 6));
4665 	{
4666 		NI i;
4667 		NI colontmp_;
4668 		NI i_2;
4669 		i = (NI)0;
4670 		colontmp_ = (NI)0;
4671 		colontmp_ = len__ast_3198(n);
4672 		i_2 = ((NI) 1);
4673 		{
4674 			while (1) {
4675 				NI r;
4676 				if (!(i_2 < colontmp_)) goto LA9;
4677 				i = i_2;
4678 				r = ((NI) ((NI)((NI)(((NI) (x)) + i) - ((NI) 1))));
4679 				gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4680 				i_2 += ((NI) 1);
4681 			} LA9: ;
4682 		}
4683 	}
4684 	T10_ = (NI)0;
4685 	T10_ = len__ast_3198(n);
4686 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), x, ((NI) ((NI)(T10_ - ((NI) 1)))));
4687 	T11_ = (NI)0;
4688 	T11_ = len__ast_3198(n);
4689 	freeTempRange__vmgen_626(c, x, (NI)(T11_ - ((NI) 1)));
4690 }
N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ,ldNullOpcode__vmgen_1836)4691 N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ, ldNullOpcode__vmgen_1836)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4692 	tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ result;
4693 	result = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
4694 	{
4695 		NIM_BOOL T3_;
4696 		T3_ = (NIM_BOOL)0;
4697 		T3_ = fitsRegister__vmgen_1814(t);
4698 		if (!T3_) goto LA4_;
4699 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173);
4700 	}
4701 	goto LA1_;
4702 	LA4_: ;
4703 	{
4704 		result = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172);
4705 	}
4706 	LA1_: ;
4707 	return result;
4708 }
N_NIMCALL(void,genBinaryStmtVar__vmgen_1513)4709 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1513)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4710 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4711 	NI dest;
4712 	NI tmp;
4713 	x = (*n)._kind_6.sons->data[((NI) 1)];
4714 	{
4715 		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
4716 		x = (*x)._kind_6.sons->data[((NI) 0)];
4717 	}
4718 	LA3_: ;
4719 	dest = genx__vmgen_712(c, x, 0);
4720 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4721 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4722 	freeTemp__vmgen_550(c, tmp);
4723 	freeTemp__vmgen_550(c, dest);
4724 }
N_NIMCALL(void,genBinaryABCD__vmgen_1414)4725 N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1414)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4726 	NI tmp;
4727 	NI tmp2;
4728 	NI tmp3;
4729 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4730 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4731 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4732 	{
4733 		NI T5_;
4734 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
4735 		T5_ = (NI)0;
4736 		T5_ = getTemp__vmgen_541(c, (*n).typ);
4737 		(*dest) = ((NI) (T5_));
4738 	}
4739 	LA3_: ;
4740 	gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
4741 	gABC__vmgen_312(c, n, opc, tmp3, ((NI) 0), ((NI) 0));
4742 	freeTemp__vmgen_550(c, tmp);
4743 	freeTemp__vmgen_550(c, tmp2);
4744 	freeTemp__vmgen_550(c, tmp3);
4745 }
N_NIMCALL(void,genVoidABC__vmgen_1749)4746 N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1749)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opcode) {
4747 	NI tmp1;
4748 	NI tmp2;
4749 	NI tmp3;
4750 	unused__vmgen_1026(c, n, dest);
4751 	tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4752 	tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4753 	tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
4754 	gABC__vmgen_312(c, n, opcode, tmp1, tmp2, tmp3);
4755 	freeTemp__vmgen_550(c, tmp1);
4756 	freeTemp__vmgen_550(c, tmp2);
4757 	freeTemp__vmgen_550(c, tmp3);
4758 }
N_NIMCALL(void,genBinaryStmt__vmgen_1505)4759 N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1505)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc) {
4760 	NI dest;
4761 	NI tmp;
4762 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4763 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4764 	gABC__vmgen_312(c, n, opc, dest, tmp, ((NI) 0));
4765 	freeTemp__vmgen_550(c, tmp);
4766 	freeTemp__vmgen_550(c, dest);
4767 }
N_NIMCALL(void,genBindSym__vmgen_1760)4768 N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1760)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
4769 	{
4770 		NI T3_;
4771 		T3_ = (NI)0;
4772 		T3_ = len__ast_3198(n);
4773 		if (!(T3_ == ((NI) 2))) goto LA4_;
4774 		{
4775 			NI idx;
4776 			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
4777 			idx = genLiteral__vmgen_1013(c, (*n)._kind_6.sons->data[((NI) 1)]);
4778 			{
4779 				NI T14_;
4780 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA12_;
4781 				T14_ = (NI)0;
4782 				T14_ = getTemp__vmgen_541(c, (*n).typ);
4783 				(*dest) = ((NI) (T14_));
4784 			}
4785 			LA12_: ;
4786 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181), ((NI) ((*dest))), idx);
4787 		}
4788 		goto LA6_;
4789 		LA8_: ;
4790 		{
4791 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_61), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_62, NIM_FALSE);
4792 		}
4793 		LA6_: ;
4794 	}
4795 	goto LA1_;
4796 	LA4_: ;
4797 	{
4798 		NI x;
4799 		NI T22_;
4800 		NI tmp0;
4801 		NI tmp1;
4802 		NI T27_;
4803 		NI T28_;
4804 		NI tmp2;
4805 		NI T29_;
4806 		NI T30_;
4807 		NI T31_;
4808 		NI T32_;
4809 		{
4810 			NI T21_;
4811 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA19_;
4812 			T21_ = (NI)0;
4813 			T21_ = getTemp__vmgen_541(c, (*n).typ);
4814 			(*dest) = ((NI) (T21_));
4815 		}
4816 		LA19_: ;
4817 		T22_ = (NI)0;
4818 		T22_ = len__ast_3198(n);
4819 		x = getTempRange__vmgen_559(c, T22_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
4820 		tmp0 = ((NI) (x));
4821 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 0)], (&tmp0));
4822 		{
4823 			NI i;
4824 			NI colontmp_;
4825 			NI T24_;
4826 			NI i_2;
4827 			i = (NI)0;
4828 			colontmp_ = (NI)0;
4829 			T24_ = (NI)0;
4830 			T24_ = len__ast_3198(n);
4831 			colontmp_ = (NI)(T24_ - ((NI) 2));
4832 			i_2 = ((NI) 1);
4833 			{
4834 				while (1) {
4835 					NI r;
4836 					if (!(i_2 < colontmp_)) goto LA26;
4837 					i = i_2;
4838 					r = ((NI) ((NI)(((NI) (x)) + i)));
4839 					gen__vmgen_692(c, (*n)._kind_6.sons->data[i], r, 0);
4840 					i_2 += ((NI) 1);
4841 				} LA26: ;
4842 			}
4843 		}
4844 		T27_ = (NI)0;
4845 		T27_ = len__ast_3198(n);
4846 		tmp1 = ((NI) ((NI)((NI)(((NI) (x)) + T27_) - ((NI) 2))));
4847 		T28_ = (NI)0;
4848 		T28_ = len__ast_3198(n);
4849 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], (&tmp1));
4850 		T29_ = (NI)0;
4851 		T29_ = len__ast_3198(n);
4852 		tmp2 = ((NI) ((NI)((NI)(((NI) (x)) + T29_) - ((NI) 1))));
4853 		T30_ = (NI)0;
4854 		T30_ = len__ast_3198(n);
4855 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[(NI)(T30_ - ((NI) 1))], (&tmp2));
4856 		T31_ = (NI)0;
4857 		T31_ = len__ast_3198(n);
4858 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182), ((NI) ((*dest))), x, ((NI) (T31_)));
4859 		T32_ = (NI)0;
4860 		T32_ = len__ast_3198(n);
4861 		freeTempRange__vmgen_626(c, x, T32_);
4862 	}
4863 	LA1_: ;
4864 }
N_NIMCALL(void,genMagic__vmgen_1858)4865 N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1858)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
4866 	switch (m) {
4867 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4868 	{
4869 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), dest);
4870 	}
4871 	break;
4872 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4873 	{
4874 		genAndOr__vmgen_937(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), dest);
4875 	}
4876 	break;
4877 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4878 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4879 	{
4880 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31));
4881 	}
4882 	break;
4883 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4884 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4885 	{
4886 		genAddSubInt__vmgen_1588(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29));
4887 	}
4888 	break;
4889 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4890 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4891 	{
4892 		NIM_BOOL isUnsigned;
4893 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4894 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
4895 		NI d;
4896 		unused__vmgen_1026(c, n, (*dest));
4897 		T6_ = NIM_NIL;
4898 		T6_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_39);
4899 		isUnsigned = ((*T6_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T6_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4900 		{
4901 			if (!!(isUnsigned)) goto LA9_;
4902 			{
4903 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA13_;
4904 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29);
4905 			}
4906 			goto LA11_;
4907 			LA13_: ;
4908 			{
4909 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31);
4910 			}
4911 			LA11_: ;
4912 		}
4913 		goto LA7_;
4914 		LA9_: ;
4915 		{
4916 			{
4917 				if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29))) goto LA19_;
4918 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53);
4919 			}
4920 			goto LA17_;
4921 			LA19_: ;
4922 			{
4923 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54);
4924 			}
4925 			LA17_: ;
4926 		}
4927 		LA7_: ;
4928 		d = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4929 		{
4930 			NIM_BOOL T24_;
4931 			T24_ = (NIM_BOOL)0;
4932 			T24_ = isInt8Lit__vmgen_1558((*n)._kind_6.sons->data[((NI) 2)]);
4933 			if (!(T24_)) goto LA25_;
4934 			T24_ = !(isUnsigned);
4935 			LA25_: ;
4936 			if (!T24_) goto LA26_;
4937 			gABI__vmgen_347(c, n, (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)(opc + ((NI) 1)), d, d, (*(*n)._kind_6.sons->data[((NI) 2)])._kind_1.intVal);
4938 		}
4939 		goto LA22_;
4940 		LA26_: ;
4941 		{
4942 			NI tmp;
4943 			tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
4944 			gABC__vmgen_312(c, n, opc, d, d, tmp);
4945 			freeTemp__vmgen_550(c, tmp);
4946 		}
4947 		LA22_: ;
4948 		genNarrow__vmgen_1427(c, (*n)._kind_6.sons->data[((NI) 1)], ((NI) (d)));
4949 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d);
4950 		freeTemp__vmgen_550(c, d);
4951 	}
4952 	break;
4953 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
4954 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 43):
4955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 144):
4956 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
4957 	{
4958 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
4959 	}
4960 	break;
4961 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
4962 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 154):
4963 	{
4964 		genCall__vmgen_1204(c, n, dest);
4965 	}
4966 	break;
4967 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
4968 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
4969 	{
4970 		unused__vmgen_1026(c, n, (*dest));
4971 		genNew__vmgen_1350(c, n);
4972 	}
4973 	break;
4974 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 34):
4975 	{
4976 		unused__vmgen_1026(c, n, (*dest));
4977 		genNewSeq__vmgen_1364(c, n);
4978 	}
4979 	break;
4980 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 35):
4981 	{
4982 		genNewSeqOfCap__vmgen_1379(c, n, dest);
4983 	}
4984 	break;
4985 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 145):
4986 	{
4987 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160));
4988 	}
4989 	break;
4990 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 146):
4991 	{
4992 		NI T36_;
4993 		NI tmp_2;
4994 		T36_ = (NI)0;
4995 		T36_ = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
4996 		freeTemp__vmgen_550(c, T36_);
4997 		tmp_2 = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
4998 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp_2, ((NI) 0));
4999 		{
5000 			NI T41_;
5001 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA39_;
5002 			T41_ = (NI)0;
5003 			T41_ = getTemp__vmgen_541(c, (*n).typ);
5004 			(*dest) = ((NI) (T41_));
5005 		}
5006 		LA39_: ;
5007 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160), ((NI) ((*dest))), tmp_2, ((NI) 0));
5008 		freeTemp__vmgen_550(c, tmp_2);
5009 	}
5010 	break;
5011 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36):
5012 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38):
5013 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
5014 	{
5015 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(0));
5016 	}
5017 	break;
5018 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37):
5019 	{
5020 		switch ((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind) {
5021 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5022 		{
5023 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), IL64(0));
5024 		}
5025 		break;
5026 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5027 		{
5028 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), IL64(0));
5029 		}
5030 		break;
5031 		default:
5032 		{
5033 			{
5034 				NimStringDesc* T51_;
5035 				if (!NIM_TRUE) goto LA49_;
5036 				T51_ = NIM_NIL;
5037 				T51_ = rawNewString((reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5038 appendString(T51_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_50));
5039 appendString(T51_, reprEnum((NI)(*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5040 				failedAssertImpl__systemZassertions_56(T51_);
5041 			}
5042 			LA49_: ;
5043 		}
5044 		break;
5045 		}
5046 	}
5047 	break;
5048 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40):
5049 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 41):
5050 	{
5051 		NI d_2;
5052 		NI tmp_3;
5053 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T53_;
5054 		unused__vmgen_1026(c, n, (*dest));
5055 		d_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5056 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5057 		genSetType__vmgen_1481(c, (*n)._kind_6.sons->data[((NI) 1)], d_2);
5058 		T53_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5059 		{
5060 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 40))) goto LA56_;
5061 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36);
5062 		}
5063 		goto LA54_;
5064 		LA56_: ;
5065 		{
5066 			T53_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 38);
5067 		}
5068 		LA54_: ;
5069 		gABC__vmgen_312(c, n, T53_, d_2, tmp_3, ((NI) 0));
5070 		freeTemp__vmgen_550(c, d_2);
5071 		freeTemp__vmgen_550(c, tmp_3);
5072 	}
5073 	break;
5074 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 42):
5075 	{
5076 		genCard__vmgen_1621(c, n, dest);
5077 	}
5078 	break;
5079 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
5080 	{
5081 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40));
5082 	}
5083 	break;
5084 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
5085 	{
5086 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41));
5087 	}
5088 	break;
5089 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 50):
5090 	{
5091 		genBinaryABCnarrow__vmgen_1471(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 42));
5092 	}
5093 	break;
5094 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
5095 	{
5096 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 43));
5097 	}
5098 	break;
5099 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
5100 	{
5101 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 44));
5102 	}
5103 	break;
5104 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
5105 	{
5106 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 45));
5107 	}
5108 	break;
5109 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
5110 	{
5111 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46));
5112 	}
5113 	break;
5114 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
5115 	{
5116 		NI tmp_4;
5117 		NI tmp2;
5118 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5119 		genNarrowU__vmgen_1453(c, n, ((NI) (tmp_4)));
5120 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5121 		{
5122 			NI T72_;
5123 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA70_;
5124 			T72_ = (NI)0;
5125 			T72_ = getTemp__vmgen_541(c, (*n).typ);
5126 			(*dest) = ((NI) (T72_));
5127 		}
5128 		LA70_: ;
5129 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 47), ((NI) ((*dest))), tmp_4, tmp2);
5130 		freeTemp__vmgen_550(c, tmp_4);
5131 		freeTemp__vmgen_550(c, tmp2);
5132 	}
5133 	break;
5134 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
5135 	{
5136 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5137 		NI64 size;
5138 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 48));
5139 		t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5140 		size = getSize__types_3336((*c).config, t);
5141 		{
5142 			NIM_BOOL T76_;
5143 			NIM_BOOL T78_;
5144 			T76_ = (NIM_BOOL)0;
5145 			T76_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5146 			if (T76_) goto LA77_;
5147 			T78_ = (NIM_BOOL)0;
5148 			T78_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5149 			if (!(T78_)) goto LA79_;
5150 			T78_ = (size < IL64(8));
5151 			LA79_: ;
5152 			T76_ = T78_;
5153 			LA77_: ;
5154 			if (!T76_) goto LA80_;
5155 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5156 		}
5157 		goto LA74_;
5158 		LA80_: ;
5159 		{
5160 			NIM_BOOL T83_;
5161 			NIM_BOOL T85_;
5162 			T83_ = (NIM_BOOL)0;
5163 			T83_ = ((*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
5164 			if (T83_) goto LA84_;
5165 			T85_ = (NIM_BOOL)0;
5166 			T85_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5167 			if (!(T85_)) goto LA86_;
5168 			T85_ = (size < IL64(8));
5169 			LA86_: ;
5170 			T83_ = T85_;
5171 			LA84_: ;
5172 			if (!T83_) goto LA87_;
5173 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI) 0));
5174 		}
5175 		goto LA74_;
5176 		LA87_: ;
5177 		LA74_: ;
5178 	}
5179 	break;
5180 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
5181 	{
5182 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 49));
5183 	}
5184 	break;
5185 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 60):
5186 	{
5187 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 50));
5188 	}
5189 	break;
5190 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 61):
5191 	{
5192 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 51));
5193 	}
5194 	break;
5195 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 62):
5196 	{
5197 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 52));
5198 	}
5199 	break;
5200 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
5201 	{
5202 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53));
5203 	}
5204 	break;
5205 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
5206 	{
5207 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54));
5208 	}
5209 	break;
5210 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
5211 	{
5212 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 55));
5213 	}
5214 	break;
5215 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
5216 	{
5217 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 56));
5218 	}
5219 	break;
5220 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 69):
5221 	{
5222 		genBinaryABCnarrowU__vmgen_1476(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 57));
5223 	}
5224 	break;
5225 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
5226 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
5227 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
5228 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
5229 	{
5230 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 58));
5231 	}
5232 	break;
5233 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
5234 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
5235 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
5236 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
5237 	{
5238 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 59));
5239 	}
5240 	break;
5241 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
5242 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
5243 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
5244 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
5245 	{
5246 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 60));
5247 	}
5248 	break;
5249 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
5250 	{
5251 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 61));
5252 	}
5253 	break;
5254 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
5255 	{
5256 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 62));
5257 	}
5258 	break;
5259 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
5260 	{
5261 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63));
5262 	}
5263 	break;
5264 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
5265 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
5266 	{
5267 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64));
5268 	}
5269 	break;
5270 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
5271 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
5272 	{
5273 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65));
5274 	}
5275 	break;
5276 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
5277 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
5278 	{
5279 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66));
5280 	}
5281 	break;
5282 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 90):
5283 	{
5284 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69));
5285 	}
5286 	break;
5287 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
5288 	{
5289 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70));
5290 	}
5291 	break;
5292 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
5293 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 94):
5294 	{
5295 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71));
5296 		genNarrow__vmgen_1427(c, n, (*dest));
5297 	}
5298 	break;
5299 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 100):
5300 	{
5301 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72));
5302 	}
5303 	break;
5304 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
5305 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 99):
5306 	{
5307 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
5308 	}
5309 	break;
5310 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 98):
5311 	{
5312 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5313 		NI64 size_2;
5314 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 73));
5315 		t_2 = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5316 		size_2 = getSize__types_3336((*c).config, t_2);
5317 		{
5318 			NIM_BOOL T115_;
5319 			NIM_BOOL T117_;
5320 			T115_ = (NIM_BOOL)0;
5321 			T115_ = ((*t_2).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*t_2).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
5322 			if (T115_) goto LA116_;
5323 			T117_ = (NIM_BOOL)0;
5324 			T117_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
5325 			if (!(T117_)) goto LA118_;
5326 			T117_ = (size_2 < IL64(8));
5327 			LA118_: ;
5328 			T115_ = T117_;
5329 			LA116_: ;
5330 			if (!T115_) goto LA119_;
5331 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(size_2 * IL64(8)))), ((NI) 0));
5332 		}
5333 		LA119_: ;
5334 	}
5335 	break;
5336 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 101):
5337 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 102):
5338 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 103):
5339 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 104):
5340 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 105):
5341 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 106):
5342 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 107):
5343 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 108):
5344 	{
5345 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
5346 	}
5347 	break;
5348 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
5349 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91):
5350 	{
5351 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 74));
5352 	}
5353 	break;
5354 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
5355 	{
5356 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75));
5357 	}
5358 	break;
5359 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
5360 	{
5361 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 76));
5362 	}
5363 	break;
5364 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
5365 	{
5366 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77));
5367 	}
5368 	break;
5369 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 120):
5370 	{
5371 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78));
5372 	}
5373 	break;
5374 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 121):
5375 	{
5376 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79));
5377 	}
5378 	break;
5379 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 122):
5380 	{
5381 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80));
5382 	}
5383 	break;
5384 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 123):
5385 	{
5386 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81));
5387 	}
5388 	break;
5389 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 124):
5390 	{
5391 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82));
5392 	}
5393 	break;
5394 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 125):
5395 	{
5396 		genVarargsABC__vmgen_1533(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83));
5397 	}
5398 	break;
5399 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
5400 	{
5401 		genBinarySet__vmgen_1494(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84));
5402 	}
5403 	break;
5404 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 135):
5405 	{
5406 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85));
5407 	}
5408 	break;
5409 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 136):
5410 	{
5411 		NI tmp_5;
5412 		unused__vmgen_1026(c, n, (*dest));
5413 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5414 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95), tmp_5, ((NI) 0), ((NI) 0));
5415 		freeTemp__vmgen_550(c, tmp_5);
5416 	}
5417 	break;
5418 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137):
5419 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
5420 	{
5421 		NI d_3;
5422 		NI tmp_6;
5423 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
5424 		unused__vmgen_1026(c, n, (*dest));
5425 		d_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5426 		tmp_6 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
5427 		T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5428 		{
5429 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 137))) goto LA139_;
5430 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 86);
5431 		}
5432 		goto LA137_;
5433 		LA139_: ;
5434 		{
5435 			T136_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 87);
5436 		}
5437 		LA137_: ;
5438 		gABC__vmgen_312(c, n, T136_, d_3, tmp_6, ((NI) 0));
5439 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_3);
5440 		freeTemp__vmgen_550(c, tmp_6);
5441 		freeTemp__vmgen_550(c, d_3);
5442 	}
5443 	break;
5444 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 142):
5445 	{
5446 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T143_;
5447 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
5448 		unused__vmgen_1026(c, n, (*dest));
5449 		T143_ = NIM_NIL;
5450 		{
5451 			NIM_BOOL T146_;
5452 			T146_ = (NIM_BOOL)0;
5453 			T146_ = ((*c).prc == ((tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) NIM_NIL));
5454 			if (T146_) goto LA147_;
5455 			T146_ = ((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
5456 			LA147_: ;
5457 			if (!T146_) goto LA148_;
5458 			T143_ = (*c).module;
5459 		}
5460 		goto LA144_;
5461 		LA148_: ;
5462 		{
5463 			T143_ = (*(*c).prc).sym;
5464 		}
5465 		LA144_: ;
5466 		T151_ = NIM_NIL;
5467 		T151_ = lowerSwap__lowerings_246((*c).graph, n, (*c).Sup.idgen, T143_);
5468 		gen__vmgen_707(c, T151_, 0);
5469 	}
5470 	break;
5471 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
5472 	{
5473 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 88));
5474 	}
5475 	break;
5476 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 147):
5477 	{
5478 		NI d2;
5479 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* d2AsNode;
5480 		NI tmp1;
5481 		NI tmp3;
5482 		{
5483 			NI T158_;
5484 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA156_;
5485 			T158_ = (NI)0;
5486 			T158_ = getTemp__vmgen_541(c, (*n).typ);
5487 			(*dest) = ((NI) (T158_));
5488 		}
5489 		LA156_: ;
5490 		d2 = (NI)0;
5491 		d2AsNode = (*(*n)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)];
5492 		{
5493 			NIM_BOOL T161_;
5494 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T164_;
5495 			T161_ = (NIM_BOOL)0;
5496 			T161_ = needsAsgnPatch__vmgen_1269(d2AsNode);
5497 			if (!T161_) goto LA162_;
5498 			T164_ = NIM_NIL;
5499 			T164_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
5500 			d2 = getTemp__vmgen_541(c, T164_);
5501 		}
5502 		goto LA159_;
5503 		LA162_: ;
5504 		{
5505 			d2 = genx__vmgen_712(c, d2AsNode, 0);
5506 		}
5507 		LA159_: ;
5508 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5509 		tmp3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 3)], 0);
5510 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), ((NI) ((*dest))), tmp1, d2);
5511 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92), tmp3, ((NI) 0), ((NI) 0));
5512 		freeTemp__vmgen_550(c, tmp1);
5513 		freeTemp__vmgen_550(c, tmp3);
5514 		genAsgnPatch__vmgen_1321(c, d2AsNode, d2);
5515 		freeTemp__vmgen_550(c, d2);
5516 	}
5517 	break;
5518 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 158):
5519 	{
5520 		NI d_4;
5521 		NI T167_;
5522 		unused__vmgen_1026(c, n, (*dest));
5523 		d_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5524 		T167_ = (NI)0;
5525 		T167_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5526 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), d_4, T167_);
5527 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), d_4, ((NI) (d_4)));
5528 		genAsgnPatch__vmgen_1321(c, (*n)._kind_6.sons->data[((NI) 1)], d_4);
5529 	}
5530 	break;
5531 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
5532 	{
5533 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T174_;
5534 		NI T175_;
5535 		{
5536 			NI T173_;
5537 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA171_;
5538 			T173_ = (NI)0;
5539 			T173_ = getTemp__vmgen_541(c, (*n).typ);
5540 			(*dest) = ((NI) (T173_));
5541 		}
5542 		LA171_: ;
5543 		T174_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5544 		T174_ = ldNullOpcode__vmgen_1836((*n).typ);
5545 		T175_ = (NI)0;
5546 		T175_ = genType__vmgen_1088(c, (*n).typ);
5547 		gABx__vmgen_375(c, n, T174_, ((NI) ((*dest))), T175_);
5548 	}
5549 	break;
5550 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
5551 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
5552 	{
5553 		NI tmp_7;
5554 		NI idx;
5555 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T182_;
5556 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5557 		NI T187_;
5558 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T188_;
5559 		{
5560 			NI T181_;
5561 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA179_;
5562 			T181_ = (NI)0;
5563 			T181_ = getTemp__vmgen_541(c, (*n).typ);
5564 			(*dest) = ((NI) (T181_));
5565 		}
5566 		LA179_: ;
5567 		tmp_7 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5568 		T182_ = NIM_NIL;
5569 		T182_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
5570 		idx = getTemp__vmgen_541(c, T182_);
5571 		typ = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
5572 		{
5573 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA185_;
5574 			typ = skipTypes__ast_3735(typ, TM__24XApAWKNvaMkcyklm8bNA_55);
5575 		}
5576 		LA185_: ;
5577 		T187_ = (NI)0;
5578 		T187_ = genType__vmgen_1088(c, typ);
5579 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), idx, T187_);
5580 		T188_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
5581 		{
5582 			if (!(m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15))) goto LA191_;
5583 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89);
5584 		}
5585 		goto LA189_;
5586 		LA191_: ;
5587 		{
5588 			T188_ = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90);
5589 		}
5590 		LA189_: ;
5591 		gABC__vmgen_312(c, n, T188_, ((NI) ((*dest))), tmp_7, idx);
5592 		freeTemp__vmgen_550(c, tmp_7);
5593 		freeTemp__vmgen_550(c, idx);
5594 	}
5595 	break;
5596 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
5597 	{
5598 		NI tmp_8;
5599 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
5600 		{
5601 			NI T199_;
5602 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA197_;
5603 			T199_ = (NI)0;
5604 			T199_ = getTemp__vmgen_541(c, (*n).typ);
5605 			(*dest) = ((NI) (T199_));
5606 		}
5607 		LA197_: ;
5608 		tmp_8 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5609 		T200_ = NIM_NIL;
5610 		T200_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
5611 		switch ((*T200_).kind) {
5612 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
5613 		{
5614 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34), ((NI) ((*dest))), tmp_8, IL64(1));
5615 		}
5616 		break;
5617 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
5618 		{
5619 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35), ((NI) ((*dest))), tmp_8, IL64(1));
5620 		}
5621 		break;
5622 		default:
5623 		{
5624 			gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), ((NI) ((*dest))), tmp_8, IL64(1));
5625 		}
5626 		break;
5627 		}
5628 		freeTemp__vmgen_550(c, tmp_8);
5629 	}
5630 	break;
5631 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 20):
5632 	{
5633 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5634 		unused__vmgen_1026(c, n, (*dest));
5635 		n_2 = skipConv__types_3597((*n)._kind_6.sons->data[((NI) 1)]);
5636 		{
5637 			NI x;
5638 			NI T209_;
5639 			NI T213_;
5640 			NI T214_;
5641 			if (!((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA207_;
5642 			T209_ = (NI)0;
5643 			T209_ = len__ast_3198(n_2);
5644 			x = getTempRange__vmgen_559(c, T209_, ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3));
5645 			{
5646 				NI i;
5647 				NI colontmp_;
5648 				NI i_2;
5649 				i = (NI)0;
5650 				colontmp_ = (NI)0;
5651 				colontmp_ = len__ast_3198(n_2);
5652 				i_2 = ((NI) 0);
5653 				{
5654 					while (1) {
5655 						NI r;
5656 						if (!(i_2 < colontmp_)) goto LA212;
5657 						i = i_2;
5658 						r = ((NI) ((NI)(((NI) (x)) + i)));
5659 						gen__vmgen_692(c, (*n_2)._kind_6.sons->data[i], r, 0);
5660 						i_2 += ((NI) 1);
5661 					} LA212: ;
5662 				}
5663 			}
5664 			T213_ = (NI)0;
5665 			T213_ = len__ast_3198(n_2);
5666 			gABC__vmgen_312(c, n_2, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153), x, ((NI) (T213_)), ((NI) 0));
5667 			T214_ = (NI)0;
5668 			T214_ = len__ast_3198(n_2);
5669 			freeTempRange__vmgen_626(c, x, T214_);
5670 		}
5671 		LA207_: ;
5672 	}
5673 	break;
5674 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 131):
5675 	{
5676 		unused__vmgen_1026(c, n, (*dest));
5677 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 100));
5678 	}
5679 	break;
5680 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 132):
5681 	{
5682 		unused__vmgen_1026(c, n, (*dest));
5683 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101));
5684 	}
5685 	break;
5686 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 133):
5687 	{
5688 		unused__vmgen_1026(c, n, (*dest));
5689 		genBinaryStmtVar__vmgen_1513(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102));
5690 	}
5691 	break;
5692 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 25):
5693 	{
5694 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141));
5695 	}
5696 	break;
5697 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 26):
5698 	{
5699 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142));
5700 	}
5701 	break;
5702 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
5703 	{
5704 		NI tmp_9;
5705 		NI T226_;
5706 		tmp_9 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5707 		{
5708 			NI T225_;
5709 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA223_;
5710 			T225_ = (NI)0;
5711 			T225_ = getTemp__vmgen_541(c, (*n).typ);
5712 			(*dest) = ((NI) (T225_));
5713 		}
5714 		LA223_: ;
5715 		T226_ = (NI)0;
5716 		T226_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
5717 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), tmp_9, T226_);
5718 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184), ((NI) ((*dest))), tmp_9, ((NI) 0));
5719 		freeTemp__vmgen_550(c, tmp_9);
5720 	}
5721 	break;
5722 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 22):
5723 	{
5724 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139));
5725 	}
5726 	break;
5727 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 23):
5728 	{
5729 		genBinaryABCD__vmgen_1414(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140));
5730 	}
5731 	break;
5732 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 212):
5733 	{
5734 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33), IL64(16));
5735 	}
5736 	break;
5737 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 255):
5738 	{
5739 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151));
5740 	}
5741 	break;
5742 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 272):
5743 	{
5744 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152));
5745 	}
5746 	break;
5747 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 270):
5748 	{
5749 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 187));
5750 	}
5751 	break;
5752 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 273):
5753 	{
5754 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 188));
5755 	}
5756 	break;
5757 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 213):
5758 	{
5759 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157));
5760 	}
5761 	break;
5762 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 214):
5763 	{
5764 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158));
5765 	}
5766 	break;
5767 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 217):
5768 	{
5769 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125));
5770 	}
5771 	break;
5772 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 215):
5773 	{
5774 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104));
5775 	}
5776 	break;
5777 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 216):
5778 	{
5779 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105));
5780 	}
5781 	break;
5782 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 218):
5783 	{
5784 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106));
5785 	}
5786 	break;
5787 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 219):
5788 	{
5789 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107));
5790 	}
5791 	break;
5792 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 220):
5793 	{
5794 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 127));
5795 	}
5796 	break;
5797 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 221):
5798 	{
5799 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 128));
5800 	}
5801 	break;
5802 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 222):
5803 	{
5804 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 129));
5805 	}
5806 	break;
5807 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 223):
5808 	{
5809 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 130));
5810 	}
5811 	break;
5812 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 224):
5813 	{
5814 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 131));
5815 	}
5816 	break;
5817 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 225):
5818 	{
5819 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132));
5820 	}
5821 	break;
5822 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 226):
5823 	{
5824 		genVoidABC__vmgen_1749(c, n, (*dest), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 133));
5825 	}
5826 	break;
5827 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 227):
5828 	{
5829 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134));
5830 	}
5831 	break;
5832 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 228):
5833 	{
5834 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 135));
5835 	}
5836 	break;
5837 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 229):
5838 	{
5839 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136));
5840 	}
5841 	break;
5842 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 230):
5843 	{
5844 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137));
5845 	}
5846 	break;
5847 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 231):
5848 	{
5849 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108));
5850 	}
5851 	break;
5852 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 232):
5853 	{
5854 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109));
5855 	}
5856 	break;
5857 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 233):
5858 	{
5859 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110));
5860 	}
5861 	break;
5862 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 234):
5863 	{
5864 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111));
5865 	}
5866 	break;
5867 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 235):
5868 	{
5869 		NI tmp_10;
5870 		NI rc;
5871 		tmp_10 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
5872 		{
5873 			NI T261_;
5874 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA259_;
5875 			T261_ = (NI)0;
5876 			T261_ = getTemp__vmgen_541(c, (*n).typ);
5877 			(*dest) = ((NI) (T261_));
5878 		}
5879 		LA259_: ;
5880 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_56))) goto LA262_;
5881 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_57))) goto LA263_;
5882 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_58))) goto LA264_;
5883 		goto LA265_;
5884 		LA262_: ;
5885 		{
5886 			rc = ((NI) 0);
5887 		}
5888 		goto LA266_;
5889 		LA263_: ;
5890 		{
5891 			rc = ((NI) 1);
5892 		}
5893 		goto LA266_;
5894 		LA264_: ;
5895 		{
5896 			rc = ((NI) 2);
5897 		}
5898 		goto LA266_;
5899 		LA265_: ;
5900 		{
5901 			rc = ((NI) 3);
5902 		}
5903 		LA266_: ;
5904 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112), ((NI) ((*dest))), tmp_10, ((NI) (rc)));
5905 		freeTemp__vmgen_550(c, tmp_10);
5906 	}
5907 	break;
5908 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 249):
5909 	{
5910 		NI imm;
5911 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_59))) goto LA272_;
5912 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_60))) goto LA273_;
5913 		goto LA274_;
5914 		LA272_: ;
5915 		{
5916 			imm = ((NI) 0);
5917 		}
5918 		goto LA275_;
5919 		LA273_: ;
5920 		{
5921 			imm = ((NI) 1);
5922 		}
5923 		goto LA275_;
5924 		LA274_: ;
5925 		{
5926 			imm = ((NI) 2);
5927 		}
5928 		LA275_: ;
5929 		genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115), ((NI64) (imm)));
5930 	}
5931 	break;
5932 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 236):
5933 	{
5934 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113));
5935 	}
5936 	break;
5937 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 248):
5938 	{
5939 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114));
5940 	}
5941 	break;
5942 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 237):
5943 	{
5944 		unused__vmgen_1026(c, n, (*dest));
5945 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116));
5946 	}
5947 	break;
5948 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 238):
5949 	{
5950 		unused__vmgen_1026(c, n, (*dest));
5951 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117));
5952 	}
5953 	break;
5954 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 239):
5955 	{
5956 		unused__vmgen_1026(c, n, (*dest));
5957 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118));
5958 	}
5959 	break;
5960 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 240):
5961 	{
5962 		unused__vmgen_1026(c, n, (*dest));
5963 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 119));
5964 	}
5965 	break;
5966 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 241):
5967 	{
5968 		unused__vmgen_1026(c, n, (*dest));
5969 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 120));
5970 	}
5971 	break;
5972 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 242):
5973 	{
5974 		unused__vmgen_1026(c, n, (*dest));
5975 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121));
5976 	}
5977 	break;
5978 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 244):
5979 	{
5980 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122));
5981 	}
5982 	break;
5983 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 245):
5984 	{
5985 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123));
5986 	}
5987 	break;
5988 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 246):
5989 	{
5990 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124));
5991 	}
5992 	break;
5993 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
5994 	{
5995 		genBindSym__vmgen_1760(c, n, dest);
5996 	}
5997 	break;
5998 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 247):
5999 	{
6000 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150));
6001 	}
6002 	break;
6003 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 252):
6004 	{
6005 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149));
6006 	}
6007 	break;
6008 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 253):
6009 	{
6010 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67));
6011 	}
6012 	break;
6013 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 254):
6014 	{
6015 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68));
6016 	}
6017 	break;
6018 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 243):
6019 	{
6020 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_63))) goto LA296_;
6021 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_64))) goto LA297_;
6022 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_65))) goto LA298_;
6023 		if (eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_66))) goto LA299_;
6024 		goto LA300_;
6025 		LA296_: ;
6026 		{
6027 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(0));
6028 		}
6029 		goto LA301_;
6030 		LA297_: ;
6031 		{
6032 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(1));
6033 		}
6034 		goto LA301_;
6035 		LA298_: ;
6036 		{
6037 			genUnaryABI__vmgen_1397(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147), IL64(2));
6038 		}
6039 		goto LA301_;
6040 		LA299_: ;
6041 		{
6042 			{
6043 				NI T308_;
6044 				NimStringDesc* argX60gensym324_;
6045 				T308_ = (NI)0;
6046 				T308_ = len__ast_3198(n);
6047 				if (!!((T308_ == ((NI) 3)))) goto LA309_;
6048 				argX60gensym324_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_67);
6049 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__24XApAWKNvaMkcyklm8bNA_67);
6050 			}
6051 			LA309_: ;
6052 			unused__vmgen_1026(c, n, (*dest));
6053 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148));
6054 		}
6055 		goto LA301_;
6056 		LA300_: ;
6057 		{
6058 			{
6059 				NimStringDesc* argX60gensym326_;
6060 				if (!NIM_TRUE) goto LA314_;
6061 				argX60gensym326_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_68);
6062 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym326_, TM__24XApAWKNvaMkcyklm8bNA_68);
6063 			}
6064 			LA314_: ;
6065 		}
6066 		LA301_: ;
6067 	}
6068 	break;
6069 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 257):
6070 	{
6071 		unused__vmgen_1026(c, n, (*dest));
6072 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146));
6073 	}
6074 	break;
6075 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 258):
6076 	{
6077 		unused__vmgen_1026(c, n, (*dest));
6078 		genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145));
6079 	}
6080 	break;
6081 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 259):
6082 	{
6083 		{
6084 			NI T321_;
6085 			T321_ = (NI)0;
6086 			T321_ = len__ast_3198(n);
6087 			if (!(T321_ <= ((NI) 1))) goto LA322_;
6088 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6089 		}
6090 		goto LA319_;
6091 		LA322_: ;
6092 		{
6093 			unused__vmgen_1026(c, n, (*dest));
6094 			genBinaryStmt__vmgen_1505(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144));
6095 		}
6096 		LA319_: ;
6097 	}
6098 	break;
6099 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 251):
6100 	{
6101 		{
6102 			NI T330_;
6103 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA328_;
6104 			T330_ = (NI)0;
6105 			T330_ = getTemp__vmgen_541(c, (*n).typ);
6106 			(*dest) = ((NI) (T330_));
6107 		}
6108 		LA328_: ;
6109 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159), ((NI) ((*dest))), ((NI) 0), ((NI) 0));
6110 	}
6111 	break;
6112 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 256):
6113 	{
6114 		genBinaryABC__vmgen_1405(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 126));
6115 	}
6116 	break;
6117 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
6118 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
6119 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 95):
6120 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
6121 	{
6122 		genCall__vmgen_1204(c, n, dest);
6123 	}
6124 	break;
6125 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
6126 	{
6127 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
6128 		{
6129 			NI T336_;
6130 			T336_ = (NI)0;
6131 			T336_ = len__ast_3198(n);
6132 			if (!!((T336_ == ((NI) 2)))) goto LA337_;
6133 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_69), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_70, NIM_FALSE);
6134 		}
6135 		LA337_: ;
6136 		arg = (*n)._kind_6.sons->data[((NI) 1)];
6137 		{
6138 			if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA341_;
6139 			{
6140 				NI T347_;
6141 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA345_;
6142 				T347_ = (NI)0;
6143 				T347_ = getTemp__vmgen_541(c, (*n).typ);
6144 				(*dest) = ((NI) (T347_));
6145 			}
6146 			LA345_: ;
6147 			genCall__vmgen_1204(c, arg, dest);
6148 		}
6149 		goto LA339_;
6150 		LA341_: ;
6151 		{
6152 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_71), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_72, NIM_FALSE);
6153 		}
6154 		LA339_: ;
6155 	}
6156 	break;
6157 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
6158 	{
6159 		NimStringDesc* T350_;
6160 		T350_ = NIM_NIL;
6161 		T350_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_74, 1);
6162 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T350_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_76, NIM_FALSE);
6163 	}
6164 	break;
6165 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
6166 	{
6167 		NimStringDesc* T352_;
6168 		T352_ = NIM_NIL;
6169 		T352_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_77, 1);
6170 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T352_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_79, NIM_FALSE);
6171 	}
6172 	break;
6173 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
6174 	{
6175 		NimStringDesc* T354_;
6176 		T354_ = NIM_NIL;
6177 		T354_ = nsuFormatOpenArray(((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_73), TM__24XApAWKNvaMkcyklm8bNA_80, 1);
6178 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T354_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_82, NIM_FALSE);
6179 	}
6180 	break;
6181 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
6182 	{
6183 	}
6184 	break;
6185 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
6186 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
6187 	{
6188 	}
6189 	break;
6190 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 148):
6191 	{
6192 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg_2;
6193 		NI a;
6194 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T363_;
6195 		arg_2 = (*n)._kind_6.sons->data[((NI) 1)];
6196 		a = genx__vmgen_712(c, arg_2, 0);
6197 		{
6198 			NI T362_;
6199 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA360_;
6200 			T362_ = (NI)0;
6201 			T362_ = getTemp__vmgen_541(c, (*arg_2).typ);
6202 			(*dest) = ((NI) (T362_));
6203 		}
6204 		LA360_: ;
6205 		T363_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6206 		T363_ = whichAsgnOpc__vmgen_1846(arg_2, NIM_FALSE);
6207 		gABC__vmgen_312(c, arg_2, T363_, ((NI) ((*dest))), a, ((NI) 0));
6208 		freeTemp__vmgen_550(c, a);
6209 	}
6210 	break;
6211 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 274):
6212 	{
6213 		genUnaryABC__vmgen_1390(c, n, dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 138));
6214 	}
6215 	break;
6216 	default:
6217 	{
6218 		NimStringDesc* T366_;
6219 		T366_ = NIM_NIL;
6220 		T366_ = rawNewString((reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 26);
6221 appendString(T366_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
6222 appendString(T366_, reprEnum((NI)m, (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_)));
6223 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T366_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_83, NIM_FALSE);
6224 	}
6225 	break;
6226 	}
6227 }
N_NIMCALL(void,genMarshalLoad__vmgen_2071)6228 N_LIB_PRIVATE N_NIMCALL(void, genMarshalLoad__vmgen_2071)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6229 	NI tmp;
6230 	NI T6_;
6231 	{
6232 		NI T5_;
6233 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6234 		T5_ = (NI)0;
6235 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6236 		(*dest) = ((NI) (T5_));
6237 	}
6238 	LA3_: ;
6239 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6240 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) ((*dest))), tmp, ((NI) 0));
6241 	T6_ = (NI)0;
6242 	T6_ = genType__vmgen_1088(c, (*n).typ);
6243 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185), ((NI) 0), T6_);
6244 	freeTemp__vmgen_550(c, tmp);
6245 }
N_NIMCALL(void,genMarshalStore__vmgen_2077)6246 N_LIB_PRIVATE N_NIMCALL(void, genMarshalStore__vmgen_2077)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6247 	NI tmp;
6248 	NI T6_;
6249 	{
6250 		NI T5_;
6251 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6252 		T5_ = (NI)0;
6253 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6254 		(*dest) = ((NI) (T5_));
6255 	}
6256 	LA3_: ;
6257 	tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
6258 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) ((*dest))), tmp, ((NI) 0));
6259 	T6_ = (NI)0;
6260 	T6_ = genType__vmgen_1088(c, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
6261 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186), ((NI) 0), T6_);
6262 	freeTemp__vmgen_550(c, tmp);
6263 }
N_INLINE(void,clearDest__vmgen_718)6264 static N_INLINE(void, clearDest__vmgen_718)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6265 	{
6266 		NIM_BOOL T3_;
6267 		NIM_BOOL T5_;
6268 		T3_ = (NIM_BOOL)0;
6269 		T3_ = (((NI) 0) <= ((NI) ((*dest))));
6270 		if (!(T3_)) goto LA4_;
6271 		T5_ = (NIM_BOOL)0;
6272 		T5_ = ((*n).typ == 0);
6273 		if (T5_) goto LA6_;
6274 		T5_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
6275 		LA6_: ;
6276 		T3_ = T5_;
6277 		LA4_: ;
6278 		if (!T3_) goto LA7_;
6279 		freeTemp__vmgen_550(c, ((NI) ((*dest))));
6280 		(*dest) = ((NI) -1);
6281 	}
6282 	LA7_: ;
6283 }
N_NIMCALL(NIM_BOOL,isInt16Lit__vmgen_1573)6284 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1573)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6285 	NIM_BOOL result;
6286 	result = (NIM_BOOL)0;
6287 	{
6288 		NIM_BOOL T5_;
6289 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
6290 		T5_ = (NIM_BOOL)0;
6291 		T5_ = (IL64(-32768) <= (*n)._kind_1.intVal);
6292 		if (!(T5_)) goto LA6_;
6293 		T5_ = ((*n)._kind_1.intVal <= IL64(32767));
6294 		LA6_: ;
6295 		result = T5_;
6296 	}
6297 	LA3_: ;
6298 	return result;
6299 }
N_NIMCALL(void,preventFalseAlias__vmgen_2315)6300 N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2315)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, NI dest, NI idx, NI value) {
6301 	{
6302 		NIM_BOOL T3_;
6303 		NIM_BOOL T4_;
6304 		NIM_BOOL T6_;
6305 		T3_ = (NIM_BOOL)0;
6306 		T4_ = (NIM_BOOL)0;
6307 		T4_ = isTemp__vmgen_929(c, ((NI) (dest)));
6308 		T3_ = !(T4_);
6309 		if (!(T3_)) goto LA5_;
6310 		T6_ = (NIM_BOOL)0;
6311 		T6_ = fitsRegister__vmgen_1814((*n).typ);
6312 		T3_ = !(T6_);
6313 		LA5_: ;
6314 		if (!T3_) goto LA7_;
6315 		genAdditionalCopy__vmgen_2307(c, n, opc, dest, idx, value);
6316 	}
6317 	goto LA1_;
6318 	LA7_: ;
6319 	{
6320 		gABC__vmgen_312(c, n, opc, dest, idx, value);
6321 	}
6322 	LA1_: ;
6323 }
N_NIMCALL(void,genAsgn__vmgen_2329)6324 N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2329)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri, NIM_BOOL requiresCopy) {
6325 	switch ((*le).kind) {
6326 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
6327 	{
6328 		NI dest;
6329 		NI idx;
6330 		NI tmp;
6331 		dest = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6332 		idx = genIndex__vmgen_1305(c, (*le)._kind_6.sons->data[((NI) 1)], (*(*le)._kind_6.sons->data[((NI) 0)]).typ);
6333 		tmp = genx__vmgen_712(c, ri, 0);
6334 		{
6335 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
6336 			T4_ = NIM_NIL;
6337 			T4_ = skipTypes__ast_3735((*(*le)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6338 			if (!((*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T4_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA5_;
6339 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26), dest, idx, tmp);
6340 		}
6341 		goto LA2_;
6342 		LA5_: ;
6343 		{
6344 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), dest, idx, tmp);
6345 		}
6346 		LA2_: ;
6347 		freeTemp__vmgen_550(c, tmp);
6348 		freeTemp__vmgen_550(c, idx);
6349 		freeTemp__vmgen_550(c, dest);
6350 	}
6351 	break;
6352 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
6353 	{
6354 		NI objR;
6355 		NI idx_2;
6356 		NI tmp_2;
6357 		objR = ((NI) -1);
6358 		genCheckedObjAccessAux__vmgen_1316(c, le, (&objR), 1);
6359 		idx_2 = genField__vmgen_1288(c, (*(*le)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
6360 		tmp_2 = genx__vmgen_712(c, ri, 0);
6361 		preventFalseAlias__vmgen_2315(c, (*le)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) (objR)), idx_2, tmp_2);
6362 		freeTemp__vmgen_550(c, tmp_2);
6363 		freeTemp__vmgen_550(c, ((NI) (objR)));
6364 	}
6365 	break;
6366 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
6367 	{
6368 		NI dest_2;
6369 		NI idx_3;
6370 		NI tmp_3;
6371 		dest_2 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6372 		idx_3 = genField__vmgen_1288(c, (*le)._kind_6.sons->data[((NI) 1)]);
6373 		tmp_3 = genx__vmgen_712(c, ri, 0);
6374 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), dest_2, idx_3, tmp_3);
6375 		freeTemp__vmgen_550(c, tmp_3);
6376 		freeTemp__vmgen_550(c, dest_2);
6377 	}
6378 	break;
6379 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
6380 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
6381 	{
6382 		NI dest_3;
6383 		NI tmp_4;
6384 		dest_3 = genx__vmgen_712(c, (*le)._kind_6.sons->data[((NI) 0)], 1);
6385 		tmp_4 = genx__vmgen_712(c, ri, 0);
6386 		preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), dest_3, ((NI) 0), tmp_4);
6387 		freeTemp__vmgen_550(c, dest_3);
6388 		freeTemp__vmgen_550(c, tmp_4);
6389 	}
6390 	break;
6391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6392 	{
6393 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
6394 		s = (*le)._kind_4.sym;
6395 		checkCanEval__vmgen_2268(c, le);
6396 		{
6397 			NIM_BOOL T14_;
6398 			NI tmp_5;
6399 			NI val;
6400 			T14_ = (NIM_BOOL)0;
6401 			T14_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6402 			if (!(T14_)) goto LA15_;
6403 			T14_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6404 			LA15_: ;
6405 			if (!T14_) goto LA16_;
6406 			tmp_5 = getTemp__vmgen_541(c, (*le).typ);
6407 			gen__vmgen_692(c, le, tmp_5, 2);
6408 			val = genx__vmgen_712(c, ri, 0);
6409 			preventFalseAlias__vmgen_2315(c, le, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp_5, ((NI) 0), val);
6410 			freeTemp__vmgen_550(c, val);
6411 			freeTemp__vmgen_550(c, tmp_5);
6412 		}
6413 		goto LA12_;
6414 		LA16_: ;
6415 		{
6416 			NI dest_4;
6417 			{
6418 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21))) goto LA21_;
6419 				setSlot__vmgen_2224(c, s);
6420 			}
6421 			LA21_: ;
6422 			{
6423 				NIM_BOOL T25_;
6424 				NIM_BOOL T27_;
6425 				NimStringDesc* argX60gensym417_;
6426 				T25_ = (NIM_BOOL)0;
6427 				T25_ = (((NI) 0) < (*s).position);
6428 				if (T25_) goto LA26_;
6429 				T27_ = (NIM_BOOL)0;
6430 				T27_ = ((*s).position == ((NI) 0));
6431 				if (!(T27_)) goto LA28_;
6432 				T27_ = ((2056 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6433 				LA28_: ;
6434 				T25_ = T27_;
6435 				LA26_: ;
6436 				if (!!(T25_)) goto LA29_;
6437 				argX60gensym417_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_90);
6438 				internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym417_, TM__24XApAWKNvaMkcyklm8bNA_90);
6439 			}
6440 			LA29_: ;
6441 			dest_4 = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))));
6442 			{
6443 				NIM_BOOL T33_;
6444 				NIM_BOOL T34_;
6445 				NIM_BOOL T35_;
6446 				NIM_BOOL T37_;
6447 				NI cc;
6448 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T41_;
6449 				T33_ = (NIM_BOOL)0;
6450 				T34_ = (NIM_BOOL)0;
6451 				T35_ = (NIM_BOOL)0;
6452 				T35_ = isTemp__vmgen_929(c, ((NI) (dest_4)));
6453 				T34_ = !(T35_);
6454 				if (!(T34_)) goto LA36_;
6455 				T37_ = (NIM_BOOL)0;
6456 				T37_ = fitsRegister__vmgen_1814((*le).typ);
6457 				T34_ = !(T37_);
6458 				LA36_: ;
6459 				T33_ = T34_;
6460 				if (!(T33_)) goto LA38_;
6461 				T33_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6462 				LA38_: ;
6463 				if (!T33_) goto LA39_;
6464 				cc = getTemp__vmgen_541(c, (*le).typ);
6465 				gen__vmgen_692(c, ri, cc, 0);
6466 				T41_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
6467 				T41_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
6468 				gABC__vmgen_312(c, le, T41_, dest_4, cc, ((NI) 0));
6469 				freeTemp__vmgen_550(c, cc);
6470 			}
6471 			goto LA31_;
6472 			LA39_: ;
6473 			{
6474 				gen__vmgen_692(c, ri, dest_4, 0);
6475 			}
6476 			LA31_: ;
6477 		}
6478 		LA12_: ;
6479 	}
6480 	break;
6481 	default:
6482 	{
6483 		NI dest_5;
6484 		dest_5 = genx__vmgen_712(c, le, 2);
6485 		genAsgn__vmgen_2215(c, ((NI) (dest_5)), ri, requiresCopy);
6486 		freeTemp__vmgen_550(c, dest_5);
6487 	}
6488 	break;
6489 	}
6490 }
N_NIMCALL(void,genObjAccess__vmgen_2569)6491 N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2569)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6492 	NI a;
6493 	NI b;
6494 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6495 	b = genField__vmgen_1288(c, (*n)._kind_6.sons->data[((NI) 1)]);
6496 	{
6497 		NI T5_;
6498 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6499 		T5_ = (NI)0;
6500 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6501 		(*dest) = ((NI) (T5_));
6502 	}
6503 	LA3_: ;
6504 	{
6505 		if (!!(((2 & flags) == 0))) goto LA8_;
6506 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), a, b);
6507 	}
6508 	goto LA6_;
6509 	LA8_: ;
6510 	{
6511 		NIM_BOOL T11_;
6512 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
6513 		NI cc;
6514 		T11_ = (NIM_BOOL)0;
6515 		T11_ = ((3 & flags) == 0);
6516 		if (!(T11_)) goto LA12_;
6517 		T13_ = NIM_NIL;
6518 		T13_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6519 		T11_ = fitsRegister__vmgen_1814(T13_);
6520 		LA12_: ;
6521 		if (!T11_) goto LA14_;
6522 		cc = getTemp__vmgen_541(c, (*n).typ);
6523 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, a, b);
6524 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6525 		freeTemp__vmgen_550(c, cc);
6526 	}
6527 	goto LA6_;
6528 	LA14_: ;
6529 	{
6530 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), a, b);
6531 	}
6532 	LA6_: ;
6533 	freeTemp__vmgen_550(c, a);
6534 }
N_NIMCALL(void,genCheckedObjAccess__vmgen_2646)6535 N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2646)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6536 	NI objR;
6537 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* accessExpr;
6538 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
6539 	NI fieldPos;
6540 	objR = ((NI) -1);
6541 	genCheckedObjAccessAux__vmgen_1316(c, n, (&objR), flags);
6542 	accessExpr = (*n)._kind_6.sons->data[((NI) 0)];
6543 	field = (*accessExpr)._kind_6.sons->data[((NI) 1)];
6544 	{
6545 		NimStringDesc* argX60gensym473_;
6546 		if (!!(((*(*field)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA3_;
6547 		argX60gensym473_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_92);
6548 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym473_, TM__24XApAWKNvaMkcyklm8bNA_92);
6549 	}
6550 	LA3_: ;
6551 	{
6552 		NI T9_;
6553 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA7_;
6554 		T9_ = (NI)0;
6555 		T9_ = getTemp__vmgen_541(c, (*n).typ);
6556 		(*dest) = ((NI) (T9_));
6557 	}
6558 	LA7_: ;
6559 	fieldPos = genField__vmgen_1288(c, field);
6560 	{
6561 		if (!!(((2 & flags) == 0))) goto LA12_;
6562 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6563 	}
6564 	goto LA10_;
6565 	LA12_: ;
6566 	{
6567 		NIM_BOOL T15_;
6568 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
6569 		NI cc;
6570 		T15_ = (NIM_BOOL)0;
6571 		T15_ = ((3 & flags) == 0);
6572 		if (!(T15_)) goto LA16_;
6573 		T17_ = NIM_NIL;
6574 		T17_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6575 		T15_ = fitsRegister__vmgen_1814(T17_);
6576 		LA16_: ;
6577 		if (!T15_) goto LA18_;
6578 		cc = getTemp__vmgen_541(c, (*accessExpr).typ);
6579 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), cc, ((NI) (objR)), fieldPos);
6580 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6581 		freeTemp__vmgen_550(c, cc);
6582 	}
6583 	goto LA10_;
6584 	LA18_: ;
6585 	{
6586 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
6587 	}
6588 	LA10_: ;
6589 	freeTemp__vmgen_550(c, ((NI) (objR)));
6590 }
N_NIMCALL(void,genArrAccessOpcode__vmgen_2541)6591 N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2541)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6592 	NI a;
6593 	NI b;
6594 	a = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6595 	b = genIndex__vmgen_1305(c, (*n)._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
6596 	{
6597 		NI T5_;
6598 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
6599 		T5_ = (NI)0;
6600 		T5_ = getTemp__vmgen_541(c, (*n).typ);
6601 		(*dest) = ((NI) (T5_));
6602 	}
6603 	LA3_: ;
6604 	{
6605 		NIM_BOOL T8_;
6606 		T8_ = (NIM_BOOL)0;
6607 		T8_ = (opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17) || opc == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28));
6608 		if (!(T8_)) goto LA9_;
6609 		T8_ = ((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0);
6610 		LA9_: ;
6611 		if (!T8_) goto LA10_;
6612 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6613 	}
6614 	goto LA6_;
6615 	LA10_: ;
6616 	{
6617 		NIM_BOOL T13_;
6618 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
6619 		NI cc;
6620 		T13_ = (NIM_BOOL)0;
6621 		T13_ = ((3 & flags) == 0);
6622 		if (!(T13_)) goto LA14_;
6623 		T15_ = NIM_NIL;
6624 		T15_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_91);
6625 		T13_ = fitsRegister__vmgen_1814(T15_);
6626 		LA14_: ;
6627 		if (!T13_) goto LA16_;
6628 		cc = getTemp__vmgen_541(c, (*n).typ);
6629 		gABC__vmgen_312(c, n, opc, cc, a, b);
6630 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), cc, ((NI) 0));
6631 		freeTemp__vmgen_550(c, cc);
6632 	}
6633 	goto LA6_;
6634 	LA16_: ;
6635 	{
6636 		gABC__vmgen_312(c, n, opc, ((NI) ((*dest))), a, b);
6637 	}
6638 	LA6_: ;
6639 	freeTemp__vmgen_550(c, a);
6640 	freeTemp__vmgen_550(c, b);
6641 }
N_NIMCALL(void,genArrAccess__vmgen_2682)6642 N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2682)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6643 	tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag arrayType;
6644 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6645 	T1_ = NIM_NIL;
6646 	T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_89);
6647 	arrayType = (*T1_).kind;
6648 	{
6649 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
6650 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA4_;
6651 		{
6652 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA8_;
6653 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28);
6654 		}
6655 		goto LA6_;
6656 		LA8_: ;
6657 		{
6658 			opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27);
6659 		}
6660 		LA6_: ;
6661 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc, flags);
6662 	}
6663 	goto LA2_;
6664 	LA4_: ;
6665 	{
6666 		if (!(arrayType == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA12_;
6667 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
6668 	}
6669 	goto LA2_;
6670 	LA12_: ;
6671 	{
6672 		tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc_2;
6673 		{
6674 			if (!((flags &((NU8)1<<((NU)(((tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ) 1))&7U)))!=0)) goto LA17_;
6675 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17);
6676 		}
6677 		goto LA15_;
6678 		LA17_: ;
6679 		{
6680 			opc_2 = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16);
6681 		}
6682 		LA15_: ;
6683 		genArrAccessOpcode__vmgen_2541(c, n, dest, opc_2, flags);
6684 	}
6685 	LA2_: ;
6686 }
N_NIMCALL(NIM_BOOL,unneededIndirection__vmgen_2084)6687 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6688 	NIM_BOOL result;
6689 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6690 	result = (NIM_BOOL)0;
6691 	T1_ = NIM_NIL;
6692 	T1_ = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_51);
6693 	result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
6694 	return result;
6695 }
N_NIMCALL(void,genDeref__vmgen_2181)6696 N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2181)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6697 	{
6698 		NIM_BOOL T3_;
6699 		T3_ = (NIM_BOOL)0;
6700 		T3_ = unneededIndirection__vmgen_2084((*n)._kind_6.sons->data[((NI) 0)]);
6701 		if (!T3_) goto LA4_;
6702 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, flags);
6703 		{
6704 			NIM_BOOL T8_;
6705 			T8_ = (NIM_BOOL)0;
6706 			T8_ = ((3 & flags) == 0);
6707 			if (!(T8_)) goto LA9_;
6708 			T8_ = fitsRegister__vmgen_1814((*n).typ);
6709 			LA9_: ;
6710 			if (!T8_) goto LA10_;
6711 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6712 		}
6713 		LA10_: ;
6714 	}
6715 	goto LA1_;
6716 	LA4_: ;
6717 	{
6718 		NI tmp;
6719 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
6720 		{
6721 			NI T17_;
6722 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA15_;
6723 			T17_ = (NI)0;
6724 			T17_ = getTemp__vmgen_541(c, (*n).typ);
6725 			(*dest) = ((NI) (T17_));
6726 		}
6727 		LA15_: ;
6728 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24), ((NI) ((*dest))), tmp, ((NI) 0));
6729 		{
6730 			NIM_BOOL T20_;
6731 			T20_ = (NIM_BOOL)0;
6732 			T20_ = ((3 & flags) == 0);
6733 			if (!(T20_)) goto LA21_;
6734 			T20_ = fitsRegister__vmgen_1814((*n).typ);
6735 			LA21_: ;
6736 			if (!T20_) goto LA22_;
6737 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI) 0));
6738 		}
6739 		LA22_: ;
6740 		freeTemp__vmgen_550(c, tmp);
6741 	}
6742 	LA1_: ;
6743 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canElimAddr__vmgen_2095)6744 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canElimAddr__vmgen_2095)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6745 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
6746 {	result = NIM_NIL;
6747 	{
6748 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
6749 		T3_ = NIM_NIL;
6750 		T3_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_40);
6751 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA4_;
6752 		result = (*n)._kind_6.sons->data[((NI) 0)];
6753 		goto BeforeRet_;
6754 	}
6755 	LA4_: ;
6756 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
6757 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
6758 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
6759 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
6760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
6761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
6762 	{
6763 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6764 		m = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6765 		{
6766 			if (!((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA9_;
6767 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6768 			add__ast_4797(result, (*m)._kind_6.sons->data[((NI) 0)]);
6769 		}
6770 		LA9_: ;
6771 	}
6772 	break;
6773 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
6774 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
6775 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
6776 	{
6777 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m_2;
6778 		m_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
6779 		{
6780 			if (!((*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*m_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA14_;
6781 			result = copyNode__ast_4336((*n)._kind_6.sons->data[((NI) 0)]);
6782 			add__ast_4797(result, (*m_2)._kind_6.sons->data[((NI) 0)]);
6783 		}
6784 		LA14_: ;
6785 	}
6786 	break;
6787 	default:
6788 	{
6789 		{
6790 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA19_;
6791 			result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
6792 		}
6793 		LA19_: ;
6794 	}
6795 	break;
6796 	}
6797 	}BeforeRet_: ;
6798 	return result;
6799 }
N_NIMCALL(NIM_BOOL,isGlobal__vmgen_1254)6800 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1254)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6801 	NIM_BOOL result;
6802 	NIM_BOOL T1_;
6803 	NIM_BOOL T3_;
6804 	result = (NIM_BOOL)0;
6805 	T1_ = (NIM_BOOL)0;
6806 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6807 	if (!(T1_)) goto LA2_;
6808 	T3_ = (NIM_BOOL)0;
6809 	T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
6810 	if (!(T3_)) goto LA4_;
6811 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
6812 	LA4_: ;
6813 	T1_ = T3_;
6814 	LA2_: ;
6815 	result = T1_;
6816 	return result;
6817 }
N_NIMCALL(void,genAddr__vmgen_2138)6818 N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2138)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
6819 	tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ newflags;
6820 {	{
6821 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6822 		m = canElimAddr__vmgen_2095(n);
6823 		if (!!((m == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
6824 		gen__vmgen_687(c, m, dest, flags);
6825 		goto BeforeRet_;
6826 	}
6827 	LA3_: ;
6828 	newflags = ((flags & ~ 1) | 2);
6829 	{
6830 		NIM_BOOL T7_;
6831 		T7_ = (NIM_BOOL)0;
6832 		T7_ = isGlobal__vmgen_1254((*n)._kind_6.sons->data[((NI) 0)]);
6833 		if (T7_) goto LA8_;
6834 		T7_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
6835 		LA8_: ;
6836 		if (!T7_) goto LA9_;
6837 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, newflags);
6838 	}
6839 	goto LA5_;
6840 	LA9_: ;
6841 	{
6842 		NI tmp;
6843 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], newflags);
6844 		{
6845 			NI T16_;
6846 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA14_;
6847 			T16_ = (NI)0;
6848 			T16_ = getTemp__vmgen_541(c, (*n).typ);
6849 			(*dest) = ((NI) (T16_));
6850 		}
6851 		LA14_: ;
6852 		{
6853 			if (!(((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 3) <= (*(*c).prc).regInfo->data[tmp].Field1)) goto LA19_;
6854 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23), ((NI) ((*dest))), tmp, ((NI) 0));
6855 			(*(*c).prc).regInfo->data[tmp].Field1 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 8);
6856 		}
6857 		goto LA17_;
6858 		LA19_: ;
6859 		{
6860 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22), ((NI) ((*dest))), tmp, ((NI) 0));
6861 		}
6862 		LA17_: ;
6863 		freeTemp__vmgen_550(c, tmp);
6864 	}
6865 	LA5_: ;
6866 	}BeforeRet_: ;
6867 }
N_NIMCALL(NIM_BOOL,isNotOpr__vmgen_729)6868 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_729)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6869 	NIM_BOOL result;
6870 	NIM_BOOL T1_;
6871 	NIM_BOOL T2_;
6872 	result = (NIM_BOOL)0;
6873 	T1_ = (NIM_BOOL)0;
6874 	T2_ = (NIM_BOOL)0;
6875 	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
6876 	if (!(T2_)) goto LA3_;
6877 	T2_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6878 	LA3_: ;
6879 	T1_ = T2_;
6880 	if (!(T1_)) goto LA4_;
6881 	T1_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
6882 	LA4_: ;
6883 	result = T1_;
6884 	return result;
6885 }
N_NIMCALL(void,genIf__vmgen_883)6886 N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_883)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6887 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6888 	{
6889 		NIM_BOOL T3_;
6890 		NIM_BOOL T5_;
6891 		NI T8_;
6892 		T3_ = (NIM_BOOL)0;
6893 		T3_ = (((NI) ((*dest))) < ((NI) 0));
6894 		if (!(T3_)) goto LA4_;
6895 		T5_ = (NIM_BOOL)0;
6896 		T5_ = isEmptyType__ast_4779((*n).typ);
6897 		T3_ = !(T5_);
6898 		LA4_: ;
6899 		if (!T3_) goto LA6_;
6900 		T8_ = (NI)0;
6901 		T8_ = getTemp__vmgen_541(c, (*n).typ);
6902 		(*dest) = ((NI) (T8_));
6903 	}
6904 	LA6_: ;
6905 	endings = NIM_NIL;
6906 	{
6907 		NI i;
6908 		NI colontmp_;
6909 		NI i_2;
6910 		i = (NI)0;
6911 		colontmp_ = (NI)0;
6912 		colontmp_ = len__ast_3198(n);
6913 		i_2 = ((NI) 0);
6914 		{
6915 			while (1) {
6916 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
6917 				if (!(i_2 < colontmp_)) goto LA11;
6918 				i = i_2;
6919 				it = (*n)._kind_6.sons->data[i];
6920 				{
6921 					NI T14_;
6922 					NI tmp;
6923 					NI elsePos;
6924 					T14_ = (NI)0;
6925 					T14_ = len__ast_3198(it);
6926 					if (!(T14_ == ((NI) 2))) goto LA15_;
6927 					tmp = getTemp__vmgen_541(c, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
6928 					elsePos = (NI)0;
6929 					{
6930 						NIM_BOOL T19_;
6931 						T19_ = (NIM_BOOL)0;
6932 						T19_ = isNotOpr__vmgen_729((*it)._kind_6.sons->data[((NI) 0)]);
6933 						if (!T19_) goto LA20_;
6934 						gen__vmgen_692(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], tmp, 0);
6935 						elsePos = xjmp__vmgen_398(c, (*(*it)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
6936 					}
6937 					goto LA17_;
6938 					LA20_: ;
6939 					{
6940 						gen__vmgen_692(c, (*it)._kind_6.sons->data[((NI) 0)], tmp, 0);
6941 						elsePos = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
6942 					}
6943 					LA17_: ;
6944 					freeTemp__vmgen_550(c, tmp);
6945 					clearDest__vmgen_718(c, n, dest);
6946 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 1)], dest, 0);
6947 					{
6948 						NI T25_;
6949 						NI T28_;
6950 						NI T29_;
6951 						T25_ = (NI)0;
6952 						T25_ = len__ast_3198(n);
6953 						if (!(i < (NI)(T25_ - ((NI) 1)))) goto LA26_;
6954 						T28_ = (NI)0;
6955 						T28_ = xjmp__vmgen_398(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
6956 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
6957 						T29_ = endings->Sup.len++;
6958 						endings->data[T29_] = T28_;
6959 					}
6960 					LA26_: ;
6961 					patch__vmgen_434(c, elsePos);
6962 				}
6963 				goto LA12_;
6964 				LA15_: ;
6965 				{
6966 					clearDest__vmgen_718(c, n, dest);
6967 					gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
6968 				}
6969 				LA12_: ;
6970 				i_2 += ((NI) 1);
6971 			} LA11: ;
6972 		}
6973 	}
6974 	{
6975 		NI* endPos;
6976 		NI i_3;
6977 		NI L;
6978 		NI T32_;
6979 		endPos = (NI*)0;
6980 		i_3 = ((NI) 0);
6981 		T32_ = (endings ? endings->Sup.len : 0);
6982 		L = T32_;
6983 		{
6984 			while (1) {
6985 				if (!(i_3 < L)) goto LA34;
6986 				endPos = (&endings->data[i_3]);
6987 				patch__vmgen_434(c, (*endPos));
6988 				i_3 += ((NI) 1);
6989 			} LA34: ;
6990 		}
6991 	}
6992 	clearDest__vmgen_718(c, n, dest);
6993 }
N_NIMCALL(void,genCase__vmgen_1030)6994 N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1030)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
6995 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
6996 	NI tmp;
6997 	{
6998 		NIM_BOOL T3_;
6999 		T3_ = (NIM_BOOL)0;
7000 		T3_ = isEmptyType__ast_4779((*n).typ);
7001 		if (!!(T3_)) goto LA4_;
7002 		{
7003 			NI T10_;
7004 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA8_;
7005 			T10_ = (NI)0;
7006 			T10_ = getTemp__vmgen_541(c, (*n).typ);
7007 			(*dest) = ((NI) (T10_));
7008 		}
7009 		LA8_: ;
7010 	}
7011 	goto LA1_;
7012 	LA4_: ;
7013 	{
7014 		unused__vmgen_1026(c, n, (*dest));
7015 	}
7016 	LA1_: ;
7017 	endings = NIM_NIL;
7018 	tmp = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7019 	gen__vmgen_692(c, (*n)._kind_6.sons->data[((NI) 0)], tmp, 0);
7020 	{
7021 		NI i;
7022 		NI colontmp_;
7023 		NI i_2;
7024 		i = (NI)0;
7025 		colontmp_ = (NI)0;
7026 		colontmp_ = len__ast_3198(n);
7027 		i_2 = ((NI) 1);
7028 		{
7029 			while (1) {
7030 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7031 				if (!(i_2 < colontmp_)) goto LA14;
7032 				i = i_2;
7033 				it = (*n)._kind_6.sons->data[i];
7034 				{
7035 					NI T17_;
7036 					T17_ = (NI)0;
7037 					T17_ = len__ast_3198(it);
7038 					if (!(T17_ == ((NI) 1))) goto LA18_;
7039 					{
7040 						NIM_BOOL T22_;
7041 						T22_ = (NIM_BOOL)0;
7042 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7043 						if (T22_) goto LA23_;
7044 						T22_ = !(((*(*it)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7045 						LA23_: ;
7046 						if (!T22_) goto LA24_;
7047 						gen__vmgen_687(c, (*it)._kind_6.sons->data[((NI) 0)], dest, 0);
7048 					}
7049 					LA24_: ;
7050 				}
7051 				goto LA15_;
7052 				LA18_: ;
7053 				{
7054 					NI b;
7055 					NI elsePos;
7056 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
7057 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
7058 					b = rawGenLiteral__vmgen_950(c, it);
7059 					gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165), tmp, b);
7060 					T27_ = NIM_NIL;
7061 					T27_ = lastSon__ast_4832(it);
7062 					elsePos = xjmp__vmgen_398(c, T27_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp);
7063 					T28_ = NIM_NIL;
7064 					T28_ = lastSon__ast_4832(it);
7065 					gen__vmgen_687(c, T28_, dest, 0);
7066 					{
7067 						NI T31_;
7068 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
7069 						NI T35_;
7070 						NI T36_;
7071 						T31_ = (NI)0;
7072 						T31_ = len__ast_3198(n);
7073 						if (!(i < (NI)(T31_ - ((NI) 1)))) goto LA32_;
7074 						T34_ = NIM_NIL;
7075 						T34_ = lastSon__ast_4832(it);
7076 						T35_ = (NI)0;
7077 						T35_ = xjmp__vmgen_398(c, T34_, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7078 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7079 						T36_ = endings->Sup.len++;
7080 						endings->data[T36_] = T35_;
7081 					}
7082 					LA32_: ;
7083 					patch__vmgen_434(c, elsePos);
7084 				}
7085 				LA15_: ;
7086 				clearDest__vmgen_718(c, n, dest);
7087 				i_2 += ((NI) 1);
7088 			} LA14: ;
7089 		}
7090 	}
7091 	freeTemp__vmgen_550(c, tmp);
7092 	{
7093 		NI* endPos;
7094 		NI i_3;
7095 		NI L;
7096 		NI T38_;
7097 		endPos = (NI*)0;
7098 		i_3 = ((NI) 0);
7099 		T38_ = (endings ? endings->Sup.len : 0);
7100 		L = T38_;
7101 		{
7102 			while (1) {
7103 				if (!(i_3 < L)) goto LA40;
7104 				endPos = (&endings->data[i_3]);
7105 				patch__vmgen_434(c, (*endPos));
7106 				i_3 += ((NI) 1);
7107 			} LA40: ;
7108 		}
7109 	}
7110 }
N_NIMCALL(NI,genLabel__vmgen_416)7111 N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_416)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7112 	NI result;
7113 	NI T1_;
7114 	result = (NI)0;
7115 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7116 	result = T1_;
7117 	return result;
7118 }
N_NIMCALL(NIM_BOOL,isTrue__vmgen_746)7119 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_746)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7120 	NIM_BOOL result;
7121 	NIM_BOOL T1_;
7122 	NIM_BOOL T2_;
7123 	NIM_BOOL T3_;
7124 	NIM_BOOL T7_;
7125 	result = (NIM_BOOL)0;
7126 	T1_ = (NIM_BOOL)0;
7127 	T2_ = (NIM_BOOL)0;
7128 	T3_ = (NIM_BOOL)0;
7129 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7130 	if (!(T3_)) goto LA4_;
7131 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
7132 	LA4_: ;
7133 	T2_ = T3_;
7134 	if (!(T2_)) goto LA5_;
7135 	T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
7136 	LA5_: ;
7137 	T1_ = T2_;
7138 	if (T1_) goto LA6_;
7139 	T7_ = (NIM_BOOL)0;
7140 	T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
7141 	if (!(T7_)) goto LA8_;
7142 	T7_ = !(((*n)._kind_1.intVal == IL64(0)));
7143 	LA8_: ;
7144 	T1_ = T7_;
7145 	LA6_: ;
7146 	result = T1_;
7147 	return result;
7148 }
N_NIMCALL(void,jmpBack__vmgen_422)7149 N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_422)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI p) {
7150 	NI dist;
7151 	NI T1_;
7152 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
7153 	dist = (NI)(p - T1_);
7154 	{
7155 		NIM_BOOL T4_;
7156 		NimStringDesc* argX60gensym49_;
7157 		T4_ = (NIM_BOOL)0;
7158 		T4_ = (((NI) -8388607) < dist);
7159 		if (!(T4_)) goto LA5_;
7160 		T4_ = (dist < ((NI) 8388607));
7161 		LA5_: ;
7162 		if (!!(T4_)) goto LA6_;
7163 		argX60gensym49_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_95);
7164 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym49_, TM__24XApAWKNvaMkcyklm8bNA_95);
7165 	}
7166 	LA6_: ;
7167 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164), ((NI) 0), dist);
7168 }
N_NIMCALL(void,popBlock__vmgen_639)7169 N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_639)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI oldLen) {
7170 	{
7171 		NI* f;
7172 		tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
7173 		NI i;
7174 		NI L;
7175 		NI T2_;
7176 		f = (NI*)0;
7177 		colontmp_ = NIM_NIL;
7178 		colontmp_ = (*(*c).prc).blocks->data[oldLen].fixups;
7179 		i = ((NI) 0);
7180 		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
7181 		L = T2_;
7182 		{
7183 			while (1) {
7184 				if (!(i < L)) goto LA4;
7185 				f = (&colontmp_->data[i]);
7186 				patch__vmgen_434(c, (*f));
7187 				i += ((NI) 1);
7188 			} LA4: ;
7189 		}
7190 	}
7191 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) setLengthSeqV2(&((*(*c).prc).blocks)->Sup, (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_), ((NI) (oldLen))));
7192 }
N_NIMCALL(void,genWhile__vmgen_761)7193 N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_761)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7194 	NI lab1;
7195 	NI oldLen;
7196 	NI T1_;
7197 	NI T2_;
7198 	lab1 = genLabel__vmgen_416(c);
7199 	T1_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7200 	oldLen = T1_;
7201 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7202 	T2_ = (*(*c).prc).blocks->Sup.len++;
7203 	asgnRef((void**) (&(*(*c).prc).blocks->data[T2_].label), TM__24XApAWKNvaMkcyklm8bNA_93.label);
7204 	genericSeqAssign((&(*(*c).prc).blocks->data[T2_].fixups), TM__24XApAWKNvaMkcyklm8bNA_93.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7205 	{
7206 		NIM_BOOL T5_;
7207 		T5_ = (NIM_BOOL)0;
7208 		T5_ = isTrue__vmgen_746((*n)._kind_6.sons->data[((NI) 0)]);
7209 		if (!T5_) goto LA6_;
7210 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7211 		jmpBack__vmgen_422(c, n, lab1);
7212 	}
7213 	goto LA3_;
7214 	LA6_: ;
7215 	{
7216 		NIM_BOOL T9_;
7217 		NI tmp;
7218 		NI lab2;
7219 		T9_ = (NIM_BOOL)0;
7220 		T9_ = isNotOpr__vmgen_729((*n)._kind_6.sons->data[((NI) 0)]);
7221 		if (!T9_) goto LA10_;
7222 		tmp = genx__vmgen_712(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], 0);
7223 		lab2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161), tmp);
7224 		freeTemp__vmgen_550(c, tmp);
7225 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7226 		jmpBack__vmgen_422(c, n, lab1);
7227 		patch__vmgen_434(c, lab2);
7228 	}
7229 	goto LA3_;
7230 	LA10_: ;
7231 	{
7232 		NI tmp_2;
7233 		NI lab2_2;
7234 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7235 		lab2_2 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162), tmp_2);
7236 		freeTemp__vmgen_550(c, tmp_2);
7237 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
7238 		jmpBack__vmgen_422(c, n, lab1);
7239 		patch__vmgen_434(c, lab2_2);
7240 	}
7241 	LA3_: ;
7242 	popBlock__vmgen_639(c, oldLen);
7243 }
N_NIMCALL(void,genBlock__vmgen_799)7244 N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_799)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7245 	NI oldRegisterCount;
7246 	NI T1_;
7247 	NI oldLen;
7248 	NI T2_;
7249 	tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ T3_;
7250 	NI T4_;
7251 	T1_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7252 	oldRegisterCount = T1_;
7253 	T2_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7254 	oldLen = T2_;
7255 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7256 	nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ));
7257 	T3_.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7258 	T3_.fixups = NIM_NIL;
7259 	asgnRef((void**) (&(*(*c).prc).blocks), (tySequence__JokFGfUW6i9b6aeU7xu6xBw*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks), (&NTIseqLtblockT__JokFGfUW6i9b6aeU7xu6xBw_)));
7260 	T4_ = (*(*c).prc).blocks->Sup.len++;
7261 	asgnRef((void**) (&(*(*c).prc).blocks->data[T4_].label), T3_.label);
7262 	genericSeqAssign((&(*(*c).prc).blocks->data[T4_].fixups), T3_.fixups, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7263 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 1)], dest, 0);
7264 	popBlock__vmgen_639(c, oldLen);
7265 	{
7266 		NI i;
7267 		NI colontmp_;
7268 		NI T6_;
7269 		NI i_2;
7270 		i = (NI)0;
7271 		colontmp_ = (NI)0;
7272 		T6_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
7273 		colontmp_ = T6_;
7274 		i_2 = oldRegisterCount;
7275 		{
7276 			while (1) {
7277 				if (!(i_2 < colontmp_)) goto LA8;
7278 				i = i_2;
7279 				{
7280 					NIM_BOOL colontmp__2;
7281 					tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ colontmp__3;
7282 					if (!!((i == ((NI) ((*dest)))))) goto LA11_;
7283 					colontmp__2 = NIM_FALSE;
7284 					colontmp__3 = ((tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ) 0);
7285 					(*(*c).prc).regInfo->data[i].Field0 = colontmp__2;
7286 					(*(*c).prc).regInfo->data[i].Field1 = colontmp__3;
7287 				}
7288 				LA11_: ;
7289 				i_2 += ((NI) 1);
7290 			} LA8: ;
7291 		}
7292 	}
7293 	clearDest__vmgen_718(c, n, dest);
7294 }
N_NIMCALL(void,genReturn__vmgen_1190)7295 N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1190)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7296 	{
7297 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
7298 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7299 	}
7300 	LA3_: ;
7301 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
7302 }
N_NIMCALL(void,genRaise__vmgen_1185)7303 N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1185)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7304 	NI dest;
7305 	dest = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
7306 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156), dest, ((NI) 0), ((NI) 0));
7307 	freeTemp__vmgen_550(c, dest);
7308 }
N_NIMCALL(void,genBreak__vmgen_831)7309 N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7310 	NI lab1;
7311 {	lab1 = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7312 	{
7313 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
7314 		{
7315 			NI i;
7316 			NI colontmp_;
7317 			NI T6_;
7318 			NI res;
7319 			i = (NI)0;
7320 			colontmp_ = (NI)0;
7321 			T6_ = ((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0);
7322 			colontmp_ = (NI)(T6_ - ((NI) 1));
7323 			res = colontmp_;
7324 			{
7325 				while (1) {
7326 					if (!(((NI) 0) <= res)) goto LA8;
7327 					i = res;
7328 					{
7329 						NI T13_;
7330 						if (!((*(*c).prc).blocks->data[i].label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym)) goto LA11_;
7331 						asgnRef((void**) (&(*(*c).prc).blocks->data[i].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[i].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7332 						T13_ = (*(*c).prc).blocks->data[i].fixups->Sup.len++;
7333 						(*(*c).prc).blocks->data[i].fixups->data[T13_] = lab1;
7334 						goto BeforeRet_;
7335 					}
7336 					LA11_: ;
7337 					res -= ((NI) 1);
7338 				} LA8: ;
7339 			}
7340 		}
7341 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_96), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_97, NIM_FALSE);
7342 	}
7343 	goto LA1_;
7344 	LA3_: ;
7345 	{
7346 		NI T15_;
7347 		NI T16_;
7348 		T15_ = (((*(*c).prc).blocks ? (*(*c).prc).blocks->Sup.len : 0)-1);
7349 		asgnRef((void**) (&(*(*c).prc).blocks->data[T15_].fixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*(*c).prc).blocks->data[T15_].fixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
7350 		T16_ = (*(*c).prc).blocks->data[T15_].fixups->Sup.len++;
7351 		(*(*c).prc).blocks->data[T15_].fixups->data[T16_] = lab1;
7352 	}
7353 	LA1_: ;
7354 	}BeforeRet_: ;
7355 }
N_NIMCALL(void,genTry__vmgen_1110)7356 N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1110)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7357 	tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
7358 	NI ehPos;
7359 	NI jumpToFinally;
7360 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
7361 	{
7362 		NIM_BOOL T3_;
7363 		NIM_BOOL T5_;
7364 		NI T8_;
7365 		T3_ = (NIM_BOOL)0;
7366 		T3_ = (((NI) ((*dest))) < ((NI) 0));
7367 		if (!(T3_)) goto LA4_;
7368 		T5_ = (NIM_BOOL)0;
7369 		T5_ = isEmptyType__ast_4779((*n).typ);
7370 		T3_ = !(T5_);
7371 		LA4_: ;
7372 		if (!T3_) goto LA6_;
7373 		T8_ = (NI)0;
7374 		T8_ = getTemp__vmgen_541(c, (*n).typ);
7375 		(*dest) = ((NI) (T8_));
7376 	}
7377 	LA6_: ;
7378 	endings = NIM_NIL;
7379 	ehPos = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166), ((NI) 0));
7380 	gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
7381 	clearDest__vmgen_718(c, n, dest);
7382 	jumpToFinally = xjmp__vmgen_398(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7383 	patch__vmgen_434(c, ehPos);
7384 	{
7385 		NI i;
7386 		NI colontmp_;
7387 		NI i_2;
7388 		i = (NI)0;
7389 		colontmp_ = (NI)0;
7390 		colontmp_ = len__ast_3198(n);
7391 		i_2 = ((NI) 1);
7392 		{
7393 			while (1) {
7394 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7395 				if (!(i_2 < colontmp_)) goto LA11;
7396 				i = i_2;
7397 				it = (*n)._kind_6.sons->data[i];
7398 				{
7399 					NI endExcept;
7400 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
7401 					if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA14_;
7402 					endExcept = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0));
7403 					{
7404 						NI j;
7405 						NI colontmp__2;
7406 						NI T17_;
7407 						NI i_3;
7408 						j = (NI)0;
7409 						colontmp__2 = (NI)0;
7410 						T17_ = (NI)0;
7411 						T17_ = len__ast_3198(it);
7412 						colontmp__2 = (NI)(T17_ - ((NI) 1));
7413 						i_3 = ((NI) 0);
7414 						{
7415 							while (1) {
7416 								tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
7417 								NI T20_;
7418 								if (!(i_3 < colontmp__2)) goto LA19;
7419 								j = i_3;
7420 								typ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[j]).typ, TM__24XApAWKNvaMkcyklm8bNA_98);
7421 								T20_ = (NI)0;
7422 								T20_ = genType__vmgen_1088(c, typ);
7423 								gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), T20_);
7424 								i_3 += ((NI) 1);
7425 							} LA19: ;
7426 						}
7427 					}
7428 					{
7429 						NI T23_;
7430 						T23_ = (NI)0;
7431 						T23_ = len__ast_3198(it);
7432 						if (!(T23_ == ((NI) 1))) goto LA24_;
7433 						gABx__vmgen_375(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167), ((NI) 0), ((NI) 0));
7434 					}
7435 					LA24_: ;
7436 					T26_ = NIM_NIL;
7437 					T26_ = lastSon__ast_4832(it);
7438 					gen__vmgen_687(c, T26_, dest, 0);
7439 					clearDest__vmgen_718(c, n, dest);
7440 					{
7441 						NI T29_;
7442 						NI T32_;
7443 						NI T33_;
7444 						T29_ = (NI)0;
7445 						T29_ = len__ast_3198(n);
7446 						if (!(i < T29_)) goto LA30_;
7447 						T32_ = (NI)0;
7448 						T32_ = xjmp__vmgen_398(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
7449 						endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
7450 						T33_ = endings->Sup.len++;
7451 						endings->data[T33_] = T32_;
7452 					}
7453 					LA30_: ;
7454 					patch__vmgen_434(c, endExcept);
7455 				}
7456 				LA14_: ;
7457 				i_2 += ((NI) 1);
7458 			} LA11: ;
7459 		}
7460 	}
7461 	fin = lastSon__ast_4832(n);
7462 	patch__vmgen_434(c, jumpToFinally);
7463 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168), ((NI) 0), ((NI) 0));
7464 	{
7465 		NI* endPos;
7466 		NI i_4;
7467 		NI L;
7468 		NI T35_;
7469 		endPos = (NI*)0;
7470 		i_4 = ((NI) 0);
7471 		T35_ = (endings ? endings->Sup.len : 0);
7472 		L = T35_;
7473 		{
7474 			while (1) {
7475 				if (!(i_4 < L)) goto LA37;
7476 				endPos = (&endings->data[i_4]);
7477 				patch__vmgen_434(c, (*endPos));
7478 				i_4 += ((NI) 1);
7479 			} LA37: ;
7480 		}
7481 	}
7482 	{
7483 		if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA40_;
7484 		gen__vmgen_707(c, (*fin)._kind_6.sons->data[((NI) 0)], 0);
7485 		clearDest__vmgen_718(c, n, dest);
7486 	}
7487 	LA40_: ;
7488 	gABx__vmgen_375(c, fin, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169), ((NI) 0), ((NI) 0));
7489 }
N_INLINE(NI,safeLen__ast_3191)7490 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7491 	NI result;
7492 	result = (NI)0;
7493 	{
7494 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
7495 		result = ((NI) 0);
7496 	}
7497 	goto LA1_;
7498 	LA3_: ;
7499 	{
7500 		result = len__ast_3198(n);
7501 	}
7502 	LA1_: ;
7503 	return result;
7504 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getOwner__vmgen_2251)7505 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getOwner__vmgen_2251)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
7506 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7507 	result = NIM_NIL;
7508 	result = (*(*c).prc).sym;
7509 	{
7510 		if (!(result == 0)) goto LA3_;
7511 		result = (*c).module;
7512 	}
7513 	LA3_: ;
7514 	return result;
7515 }
N_NIMCALL(void,genVarSection__vmgen_2831)7516 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2831)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7517 	{
7518 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
7519 		a = NIM_NIL;
7520 		{
7521 			NI i;
7522 			NI colontmp_;
7523 			NI i_2;
7524 			i = (NI)0;
7525 			colontmp_ = (NI)0;
7526 			colontmp_ = safeLen__ast_3191(n);
7527 			i_2 = ((NI) 0);
7528 			{
7529 				while (1) {
7530 					if (!(i_2 < colontmp_)) goto LA4;
7531 					i = i_2;
7532 					a = (*n)._kind_6.sons->data[i];
7533 					{
7534 						{
7535 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8_;
7536 							goto LA5;
7537 						}
7538 						LA8_: ;
7539 						{
7540 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
7541 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
7542 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA12_;
7543 							{
7544 								NI i_3;
7545 								NI colontmp__2;
7546 								NI T15_;
7547 								NI i_4;
7548 								i_3 = (NI)0;
7549 								colontmp__2 = (NI)0;
7550 								T15_ = (NI)0;
7551 								T15_ = len__ast_3198(a);
7552 								colontmp__2 = (NI)(T15_ - ((NI) 2));
7553 								i_4 = ((NI) 0);
7554 								{
7555 									while (1) {
7556 										if (!(i_4 < colontmp__2)) goto LA17;
7557 										i_3 = i_4;
7558 										{
7559 											if (!((*(*a)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA20_;
7560 											{
7561 												NIM_BOOL T24_;
7562 												T24_ = (NIM_BOOL)0;
7563 												T24_ = (((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7564 												if (!(T24_)) goto LA25_;
7565 												T24_ = !(((*(*(*a)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7566 												LA25_: ;
7567 												if (!!(T24_)) goto LA26_;
7568 												setSlot__vmgen_2224(c, (*(*a)._kind_6.sons->data[i_3])._kind_4.sym);
7569 											}
7570 											LA26_: ;
7571 											checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[i_3]);
7572 										}
7573 										LA20_: ;
7574 										i_4 += ((NI) 1);
7575 									} LA17: ;
7576 								}
7577 							}
7578 							T28_ = NIM_NIL;
7579 							T28_ = getOwner__vmgen_2251(c);
7580 							T29_ = NIM_NIL;
7581 							T29_ = lowerTupleUnpacking__lowerings_116((*c).graph, a, (*c).Sup.idgen, T28_);
7582 							gen__vmgen_707(c, T29_, 0);
7583 						}
7584 						goto LA10_;
7585 						LA12_: ;
7586 						{
7587 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7588 							if (!((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA31_;
7589 							s = (*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
7590 							checkCanEval__vmgen_2268(c, (*a)._kind_6.sons->data[((NI) 0)]);
7591 							{
7592 								NIM_BOOL T35_;
7593 								T35_ = (NIM_BOOL)0;
7594 								T35_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
7595 								if (!(T35_)) goto LA36_;
7596 								T35_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21)));
7597 								LA36_: ;
7598 								if (!T35_) goto LA37_;
7599 								{
7600 									if (!((*s).position == ((NI) 0))) goto LA41_;
7601 									{
7602 										NIM_BOOL T45_;
7603 										T45_ = (NIM_BOOL)0;
7604 										T45_ = importcCond__vmgen_2412(c, s);
7605 										if (!T45_) goto LA46_;
7606 										importcSym__vmgen_2428(c, (*a).info, s);
7607 									}
7608 									goto LA43_;
7609 									LA46_: ;
7610 									{
7611 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sa;
7612 										sa = getNullValue__vmgen_2432((*s).typ, (*a).info, (*c).config);
7613 										add__ast_4797((*c).globals, sa);
7614 										(*s).position = len__ast_3198((*c).globals);
7615 									}
7616 									LA43_: ;
7617 								}
7618 								LA41_: ;
7619 								{
7620 									NI tmp;
7621 									NI val;
7622 									if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51_;
7623 									tmp = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 2);
7624 									val = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 2)], 0);
7625 									genAdditionalCopy__vmgen_2307(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25), tmp, ((NI) 0), val);
7626 									freeTemp__vmgen_550(c, val);
7627 									freeTemp__vmgen_550(c, tmp);
7628 								}
7629 								LA51_: ;
7630 							}
7631 							goto LA33_;
7632 							LA37_: ;
7633 							{
7634 								setSlot__vmgen_2224(c, s);
7635 								{
7636 									tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T58_;
7637 									NI T59_;
7638 									if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA56_;
7639 									T58_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7640 									T58_ = ldNullOpcode__vmgen_1836((*s).typ);
7641 									T59_ = (NI)0;
7642 									T59_ = genType__vmgen_1088(c, (*s).typ);
7643 									gABx__vmgen_375(c, a, T58_, ((NI) ((*s).position)), T59_);
7644 								}
7645 								goto LA54_;
7646 								LA56_: ;
7647 								{
7648 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le;
7649 									{
7650 										NIM_BOOL T63_;
7651 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T66_;
7652 										NI T67_;
7653 										T63_ = (NIM_BOOL)0;
7654 										T63_ = fitsRegister__vmgen_1814((*s).typ);
7655 										if (!!(T63_)) goto LA64_;
7656 										T66_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7657 										T66_ = ldNullOpcode__vmgen_1836((*s).typ);
7658 										T67_ = (NI)0;
7659 										T67_ = genType__vmgen_1088(c, (*s).typ);
7660 										gABx__vmgen_375(c, a, T66_, ((NI) ((*s).position)), T67_);
7661 									}
7662 									LA64_: ;
7663 									le = (*a)._kind_6.sons->data[((NI) 0)];
7664 									{
7665 										NIM_BOOL T70_;
7666 										NIM_BOOL T71_;
7667 										NI cc;
7668 										tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T75_;
7669 										T70_ = (NIM_BOOL)0;
7670 										T71_ = (NIM_BOOL)0;
7671 										T71_ = fitsRegister__vmgen_1814((*le).typ);
7672 										T70_ = !(T71_);
7673 										if (!(T70_)) goto LA72_;
7674 										T70_ = ((2312 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
7675 										LA72_: ;
7676 										if (!T70_) goto LA73_;
7677 										cc = getTemp__vmgen_541(c, (*le).typ);
7678 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], cc, 0);
7679 										T75_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7680 										T75_ = whichAsgnOpc__vmgen_1846(le, NIM_TRUE);
7681 										gABC__vmgen_312(c, le, T75_, ((NI) ((*s).position)), cc, ((NI) 0));
7682 										freeTemp__vmgen_550(c, cc);
7683 									}
7684 									goto LA68_;
7685 									LA73_: ;
7686 									{
7687 										gen__vmgen_692(c, (*a)._kind_6.sons->data[((NI) 2)], ((NI) ((*s).position)), 0);
7688 									}
7689 									LA68_: ;
7690 								}
7691 								LA54_: ;
7692 							}
7693 							LA33_: ;
7694 						}
7695 						goto LA10_;
7696 						LA31_: ;
7697 						{
7698 							{
7699 								NI tmp_2;
7700 								tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T82_;
7701 								NI T83_;
7702 								if (!((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA80_;
7703 								tmp_2 = genx__vmgen_712(c, (*a)._kind_6.sons->data[((NI) 0)], 0);
7704 								T82_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
7705 								T82_ = ldNullOpcode__vmgen_1836((*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7706 								T83_ = (NI)0;
7707 								T83_ = genType__vmgen_1088(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
7708 								gABx__vmgen_375(c, a, T82_, tmp_2, T83_);
7709 								freeTemp__vmgen_550(c, tmp_2);
7710 							}
7711 							goto LA78_;
7712 							LA80_: ;
7713 							{
7714 								genAsgn__vmgen_2329(c, (*a)._kind_6.sons->data[((NI) 0)], (*a)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
7715 							}
7716 							LA78_: ;
7717 						}
7718 						LA10_: ;
7719 					} LA5: ;
7720 					i_2 += ((NI) 1);
7721 				} LA4: ;
7722 			}
7723 		}
7724 	}
7725 }
N_NIMCALL(void,genArrayConstr__vmgen_2947)7726 N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2947)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7727 	NI T6_;
7728 	tyObject_TType__facALICuu8zUj0hjvbTLFg* intType;
7729 	tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
7730 	{
7731 		NI T5_;
7732 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7733 		T5_ = (NI)0;
7734 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7735 		(*dest) = ((NI) (T5_));
7736 	}
7737 	LA3_: ;
7738 	T6_ = (NI)0;
7739 	T6_ = genType__vmgen_1088(c, (*n).typ);
7740 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7741 	intType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
7742 	seqType = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_36);
7743 	{
7744 		NI tmp;
7745 		NI T11_;
7746 		NI T12_;
7747 		if (!((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA9_;
7748 		tmp = getTemp__vmgen_541(c, intType);
7749 		T11_ = (NI)0;
7750 		T11_ = len__ast_3198(n);
7751 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), tmp, T11_);
7752 		T12_ = (NI)0;
7753 		T12_ = genType__vmgen_1088(c, seqType);
7754 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), ((NI) ((*dest))), T12_);
7755 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171), tmp, ((NI) 0));
7756 		freeTemp__vmgen_550(c, tmp);
7757 	}
7758 	LA9_: ;
7759 	{
7760 		NI T15_;
7761 		NI tmp_2;
7762 		NI T18_;
7763 		T15_ = (NI)0;
7764 		T15_ = len__ast_3198(n);
7765 		if (!(((NI) 0) < T15_)) goto LA16_;
7766 		tmp_2 = getTemp__vmgen_541(c, intType);
7767 		T18_ = (NI)0;
7768 		T18_ = genType__vmgen_1088(c, intType);
7769 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173), tmp_2, T18_);
7770 		{
7771 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7772 			x = NIM_NIL;
7773 			{
7774 				NI i;
7775 				NI colontmp_;
7776 				NI i_2;
7777 				i = (NI)0;
7778 				colontmp_ = (NI)0;
7779 				colontmp_ = safeLen__ast_3191(n);
7780 				i_2 = ((NI) 0);
7781 				{
7782 					while (1) {
7783 						NI a;
7784 						if (!(i_2 < colontmp_)) goto LA22;
7785 						i = i_2;
7786 						x = (*n)._kind_6.sons->data[i];
7787 						a = genx__vmgen_712(c, x, 0);
7788 						preventFalseAlias__vmgen_2315(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18), ((NI) ((*dest))), tmp_2, a);
7789 						gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30), tmp_2, tmp_2, IL64(1));
7790 						freeTemp__vmgen_550(c, a);
7791 						i_2 += ((NI) 1);
7792 					} LA22: ;
7793 				}
7794 			}
7795 		}
7796 		freeTemp__vmgen_550(c, tmp_2);
7797 	}
7798 	LA16_: ;
7799 }
N_NIMCALL(void,genSetConstr__vmgen_2971)7800 N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2971)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7801 	NI T6_;
7802 	{
7803 		NI T5_;
7804 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7805 		T5_ = (NI)0;
7806 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7807 		(*dest) = ((NI) (T5_));
7808 	}
7809 	LA3_: ;
7810 	T6_ = (NI)0;
7811 	T6_ = genType__vmgen_1088(c, (*n).typ);
7812 	gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T6_);
7813 	{
7814 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7815 		x = NIM_NIL;
7816 		{
7817 			NI i;
7818 			NI colontmp_;
7819 			NI i_2;
7820 			i = (NI)0;
7821 			colontmp_ = (NI)0;
7822 			colontmp_ = safeLen__ast_3191(n);
7823 			i_2 = ((NI) 0);
7824 			{
7825 				while (1) {
7826 					if (!(i_2 < colontmp_)) goto LA10;
7827 					i = i_2;
7828 					x = (*n)._kind_6.sons->data[i];
7829 					{
7830 						NI a;
7831 						NI b;
7832 						if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA13_;
7833 						a = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
7834 						b = genx__vmgen_712(c, (*x)._kind_6.sons->data[((NI) 1)], 0);
7835 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37), ((NI) ((*dest))), a, b);
7836 						freeTemp__vmgen_550(c, b);
7837 						freeTemp__vmgen_550(c, a);
7838 					}
7839 					goto LA11_;
7840 					LA13_: ;
7841 					{
7842 						NI a_2;
7843 						a_2 = genx__vmgen_712(c, x, 0);
7844 						gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36), ((NI) ((*dest))), a_2, ((NI) 0));
7845 						freeTemp__vmgen_550(c, a_2);
7846 					}
7847 					LA11_: ;
7848 					i_2 += ((NI) 1);
7849 				} LA10: ;
7850 			}
7851 		}
7852 	}
7853 }
N_NIMCALL(void,genObjConstr__vmgen_2985)7854 N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_2985)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7855 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7856 	{
7857 		NI T5_;
7858 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7859 		T5_ = (NI)0;
7860 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7861 		(*dest) = ((NI) (T5_));
7862 	}
7863 	LA3_: ;
7864 	t = skipTypes__ast_3735((*n).typ, TM__24XApAWKNvaMkcyklm8bNA_17);
7865 	{
7866 		NI T10_;
7867 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA8_;
7868 		T10_ = (NI)0;
7869 		T10_ = genType__vmgen_1088(c, (*t).sons->data[((NI) 0)]);
7870 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170), ((NI) ((*dest))), T10_);
7871 	}
7872 	goto LA6_;
7873 	LA8_: ;
7874 	{
7875 		NI T12_;
7876 		T12_ = (NI)0;
7877 		T12_ = genType__vmgen_1088(c, (*n).typ);
7878 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T12_);
7879 	}
7880 	LA6_: ;
7881 	{
7882 		NI i;
7883 		NI colontmp_;
7884 		NI i_2;
7885 		i = (NI)0;
7886 		colontmp_ = (NI)0;
7887 		colontmp_ = len__ast_3198(n);
7888 		i_2 = ((NI) 1);
7889 		{
7890 			while (1) {
7891 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7892 				if (!(i_2 < colontmp_)) goto LA15;
7893 				i = i_2;
7894 				it = (*n)._kind_6.sons->data[i];
7895 				{
7896 					NIM_BOOL T18_;
7897 					NI idx;
7898 					NI tmp;
7899 					T18_ = (NIM_BOOL)0;
7900 					T18_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
7901 					if (!(T18_)) goto LA19_;
7902 					T18_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7903 					LA19_: ;
7904 					if (!T18_) goto LA20_;
7905 					idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7906 					tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7907 					preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7908 					freeTemp__vmgen_550(c, tmp);
7909 				}
7910 				goto LA16_;
7911 				LA20_: ;
7912 				{
7913 					liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_99), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_100, NIM_FALSE);
7914 				}
7915 				LA16_: ;
7916 				i_2 += ((NI) 1);
7917 			} LA15: ;
7918 		}
7919 	}
7920 }
N_NIMCALL(void,genTupleConstr__vmgen_3027)7921 N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3027)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7922 	{
7923 		NI T5_;
7924 		if (!(((NI) ((*dest))) < ((NI) 0))) goto LA3_;
7925 		T5_ = (NI)0;
7926 		T5_ = getTemp__vmgen_541(c, (*n).typ);
7927 		(*dest) = ((NI) (T5_));
7928 	}
7929 	LA3_: ;
7930 	{
7931 		NI T10_;
7932 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA8_;
7933 		T10_ = (NI)0;
7934 		T10_ = genType__vmgen_1088(c, (*n).typ);
7935 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172), ((NI) ((*dest))), T10_);
7936 		{
7937 			NI i;
7938 			NI colontmp_;
7939 			NI i_2;
7940 			i = (NI)0;
7941 			colontmp_ = (NI)0;
7942 			colontmp_ = len__ast_3198(n);
7943 			i_2 = ((NI) 0);
7944 			{
7945 				while (1) {
7946 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7947 					if (!(i_2 < colontmp_)) goto LA13;
7948 					i = i_2;
7949 					it = (*n)._kind_6.sons->data[i];
7950 					{
7951 						NI idx;
7952 						NI tmp;
7953 						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16_;
7954 						idx = genField__vmgen_1288(c, (*it)._kind_6.sons->data[((NI) 0)]);
7955 						tmp = genx__vmgen_712(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
7956 						preventFalseAlias__vmgen_2315(c, (*it)._kind_6.sons->data[((NI) 1)], ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), idx, tmp);
7957 						freeTemp__vmgen_550(c, tmp);
7958 					}
7959 					goto LA14_;
7960 					LA16_: ;
7961 					{
7962 						NI tmp_2;
7963 						tmp_2 = genx__vmgen_712(c, it, 0);
7964 						preventFalseAlias__vmgen_2315(c, it, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21), ((NI) ((*dest))), ((NI) (i)), tmp_2);
7965 						freeTemp__vmgen_550(c, tmp_2);
7966 					}
7967 					LA14_: ;
7968 					i_2 += ((NI) 1);
7969 				} LA13: ;
7970 			}
7971 		}
7972 	}
7973 	LA8_: ;
7974 }
N_NIMCALL(void,genCastIntFloat__vmgen_1628)7975 N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1628)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest) {
7976 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag signedIntegers;
7977 	tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag unsignedIntegers;
7978 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
7979 	tyObject_TType__facALICuu8zUj0hjvbTLFg* dst;
7980 	NI64 srcSize;
7981 	NI64 dstSize;
7982 	nimZeroMem((void*)signedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
7983 	nimCopyMem((void*)signedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_101, 9);
7984 	nimZeroMem((void*)unsignedIntegers, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
7985 	nimCopyMem((void*)unsignedIntegers, (NIM_CONST void*)TM__24XApAWKNvaMkcyklm8bNA_102, 9);
7986 	src = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
7987 	dst = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__24XApAWKNvaMkcyklm8bNA_103);
7988 	srcSize = getSize__types_3336((*c).config, src);
7989 	dstSize = getSize__types_3336((*c).config, dst);
7990 	{
7991 		NIM_BOOL T3_;
7992 		NI tmp;
7993 		T3_ = (NIM_BOOL)0;
7994 		T3_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7995 		if (!(T3_)) goto LA4_;
7996 		T3_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7997 		LA4_: ;
7998 		if (!T3_) goto LA5_;
7999 		tmp = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8000 		{
8001 			NI T11_;
8002 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA9_;
8003 			T11_ = (NI)0;
8004 			T11_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8005 			(*dest) = ((NI) (T11_));
8006 		}
8007 		LA9_: ;
8008 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4), ((NI) ((*dest))), tmp, ((NI) 0));
8009 		{
8010 			if (!!((dstSize == IL64(8)))) goto LA14_;
8011 			{
8012 				if (!((signedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA18_;
8013 				{
8014 					if (!(dstSize <= srcSize)) goto LA22_;
8015 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8016 				}
8017 				LA22_: ;
8018 			}
8019 			goto LA16_;
8020 			LA18_: ;
8021 			{
8022 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA25_;
8023 				{
8024 					NIM_BOOL T29_;
8025 					T29_ = (NIM_BOOL)0;
8026 					T29_ = ((signedIntegers[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0);
8027 					if (T29_) goto LA30_;
8028 					T29_ = (dstSize < srcSize);
8029 					LA30_: ;
8030 					if (!T29_) goto LA31_;
8031 					gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI) 0));
8032 				}
8033 				LA31_: ;
8034 			}
8035 			goto LA16_;
8036 			LA25_: ;
8037 			LA16_: ;
8038 		}
8039 		LA14_: ;
8040 		freeTemp__vmgen_550(c, tmp);
8041 	}
8042 	goto LA1_;
8043 	LA5_: ;
8044 	{
8045 		NIM_BOOL T34_;
8046 		NIM_BOOL T35_;
8047 		NI tmp_2;
8048 		T34_ = (NIM_BOOL)0;
8049 		T35_ = (NIM_BOOL)0;
8050 		T35_ = (srcSize == dstSize);
8051 		if (!(T35_)) goto LA36_;
8052 		T35_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8053 		LA36_: ;
8054 		T34_ = T35_;
8055 		if (!(T34_)) goto LA37_;
8056 		T34_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8057 		LA37_: ;
8058 		if (!T34_) goto LA38_;
8059 		tmp_2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8060 		{
8061 			NI T44_;
8062 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA42_;
8063 			T44_ = (NI)0;
8064 			T44_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8065 			(*dest) = ((NI) (T44_));
8066 		}
8067 		LA42_: ;
8068 		{
8069 			if (!((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA47_;
8070 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8), ((NI) ((*dest))), tmp_2, ((NI) 0));
8071 		}
8072 		goto LA45_;
8073 		LA47_: ;
8074 		{
8075 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9), ((NI) ((*dest))), tmp_2, ((NI) 0));
8076 		}
8077 		LA45_: ;
8078 		freeTemp__vmgen_550(c, tmp_2);
8079 	}
8080 	goto LA1_;
8081 	LA38_: ;
8082 	{
8083 		NIM_BOOL T51_;
8084 		NIM_BOOL T52_;
8085 		NI tmp_3;
8086 		T51_ = (NIM_BOOL)0;
8087 		T52_ = (NIM_BOOL)0;
8088 		T52_ = (srcSize == dstSize);
8089 		if (!(T52_)) goto LA53_;
8090 		T52_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
8091 		LA53_: ;
8092 		T51_ = T52_;
8093 		if (!(T51_)) goto LA54_;
8094 		T51_ = ((*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*dst).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*dst).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8095 		LA54_: ;
8096 		if (!T51_) goto LA55_;
8097 		tmp_3 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8098 		{
8099 			NI T61_;
8100 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA59_;
8101 			T61_ = (NI)0;
8102 			T61_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8103 			(*dest) = ((NI) (T61_));
8104 		}
8105 		LA59_: ;
8106 		{
8107 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA64_;
8108 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10), ((NI) ((*dest))), tmp_3, ((NI) 0));
8109 			{
8110 				if (!((unsignedIntegers[(NU)((*dst).kind)>>3] &(1U<<((NU)((*dst).kind)&7U)))!=0)) goto LA68_;
8111 				gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98), ((NI) ((*dest))), ((NI) 32), ((NI) 0));
8112 			}
8113 			LA68_: ;
8114 		}
8115 		goto LA62_;
8116 		LA64_: ;
8117 		{
8118 			gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11), ((NI) ((*dest))), tmp_3, ((NI) 0));
8119 		}
8120 		LA62_: ;
8121 		freeTemp__vmgen_550(c, tmp_3);
8122 	}
8123 	goto LA1_;
8124 	LA55_: ;
8125 	{
8126 		NIM_BOOL T72_;
8127 		NI tmp_4;
8128 		NI64 imm;
8129 		NI T81_;
8130 		T72_ = (NIM_BOOL)0;
8131 		T72_ = ((*src).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*src).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8132 		if (!(T72_)) goto LA73_;
8133 		T72_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8134 		LA73_: ;
8135 		if (!T72_) goto LA74_;
8136 		tmp_4 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8137 		{
8138 			NI T80_;
8139 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA78_;
8140 			T80_ = (NI)0;
8141 			T80_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8142 			(*dest) = ((NI) (T80_));
8143 		}
8144 		LA78_: ;
8145 		T81_ = (NI)0;
8146 		{
8147 			if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA84_;
8148 			T81_ = ((NI) 1);
8149 		}
8150 		goto LA82_;
8151 		LA84_: ;
8152 		{
8153 			T81_ = ((NI) 2);
8154 		}
8155 		LA82_: ;
8156 		imm = ((NI64) (T81_));
8157 		gABI__vmgen_347(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12), ((NI) ((*dest))), tmp_4, imm);
8158 		freeTemp__vmgen_550(c, tmp_4);
8159 	}
8160 	goto LA1_;
8161 	LA74_: ;
8162 	{
8163 		NIM_BOOL T88_;
8164 		NI tmp_5;
8165 		NI T97_;
8166 		T88_ = (NIM_BOOL)0;
8167 		T88_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
8168 		if (!(T88_)) goto LA89_;
8169 		T88_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
8170 		LA89_: ;
8171 		if (!T88_) goto LA90_;
8172 		tmp_5 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8173 		{
8174 			NI T96_;
8175 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA94_;
8176 			T96_ = (NI)0;
8177 			T96_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8178 			(*dest) = ((NI) (T96_));
8179 		}
8180 		LA94_: ;
8181 		T97_ = (NI)0;
8182 		T97_ = genType__vmgen_1088(c, dst);
8183 		gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183), ((NI) ((*dest))), T97_);
8184 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13), ((NI) ((*dest))), tmp_5, ((NI) 0));
8185 		freeTemp__vmgen_550(c, tmp_5);
8186 	}
8187 	goto LA1_;
8188 	LA90_: ;
8189 	{
8190 		NIM_BOOL T99_;
8191 		T99_ = (NIM_BOOL)0;
8192 		T99_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8193 		if (!(T99_)) goto LA100_;
8194 		T99_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
8195 		LA100_: ;
8196 		if (!T99_) goto LA101_;
8197 		{
8198 			NI T107_;
8199 			if (!(((NI) ((*dest))) < ((NI) 0))) goto LA105_;
8200 			T107_ = (NI)0;
8201 			T107_ = getTemp__vmgen_541(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
8202 			(*dest) = ((NI) (T107_));
8203 		}
8204 		LA105_: ;
8205 		genLit__vmgen_1199(c, (*n)._kind_6.sons->data[((NI) 1)], dest);
8206 	}
8207 	goto LA1_;
8208 	LA101_: ;
8209 	{
8210 		NimStringDesc* T109_;
8211 		T109_ = NIM_NIL;
8212 		T109_ = rawNewString((reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + (reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 36);
8213 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_104));
8214 appendString(T109_, reprEnum((NI)(*src).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8215 appendString(T109_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_105));
8216 appendString(T109_, reprEnum((NI)(*dst).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8217 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_106, NIM_FALSE);
8218 	}
8219 	LA1_: ;
8220 }
N_INLINE(NIM_BOOL,isCompileTimeOnly__types_3528)8221 static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3528)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8222 	NIM_BOOL result;
8223 	result = (NIM_BOOL)0;
8224 	result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
8225 	return result;
8226 }
N_NIMCALL(void,gen__vmgen_687)8227 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_687)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* dest, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8228 	switch ((*n).kind) {
8229 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8230 	{
8231 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8232 		s = (*n)._kind_4.sym;
8233 		checkCanEval__vmgen_2268(c, n);
8234 		switch ((*s).kind) {
8235 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
8236 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
8237 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5):
8238 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
8239 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
8240 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
8241 		{
8242 			genRdVar__vmgen_2453(c, n, dest, flags);
8243 		}
8244 		break;
8245 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
8246 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
8247 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
8248 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
8249 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
8250 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
8251 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
8252 		{
8253 			{
8254 				NIM_BOOL T6_;
8255 				T6_ = (NIM_BOOL)0;
8256 				T6_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
8257 				if (!(T6_)) goto LA7_;
8258 				T6_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8259 				LA7_: ;
8260 				if (!T6_) goto LA8_;
8261 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_25), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_26, NIM_FALSE);
8262 			}
8263 			LA8_: ;
8264 			{
8265 				NIM_BOOL T12_;
8266 				T12_ = (NIM_BOOL)0;
8267 				T12_ = procIsCallback__vmgen_3104(c, s);
8268 				if (!T12_) goto LA13_;
8269 			}
8270 			goto LA10_;
8271 			LA13_: ;
8272 			{
8273 				NIM_BOOL T16_;
8274 				T16_ = (NIM_BOOL)0;
8275 				T16_ = importcCond__vmgen_2412(c, s);
8276 				if (!T16_) goto LA17_;
8277 				importcSym__vmgen_2428(c, (*n).info, s);
8278 			}
8279 			goto LA10_;
8280 			LA17_: ;
8281 			LA10_: ;
8282 			genLit__vmgen_1199(c, n, dest);
8283 		}
8284 		break;
8285 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
8286 		{
8287 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constVal;
8288 			{
8289 				if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA22_;
8290 				constVal = (*s).ast;
8291 			}
8292 			goto LA20_;
8293 			LA22_: ;
8294 			{
8295 				constVal = (*(*s).typ).n;
8296 			}
8297 			LA20_: ;
8298 			gen__vmgen_687(c, constVal, dest, 0);
8299 		}
8300 		break;
8301 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
8302 		{
8303 			{
8304 				NI T30_;
8305 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA28_;
8306 				T30_ = (NI)0;
8307 				T30_ = getTemp__vmgen_541(c, (*n).typ);
8308 				(*dest) = ((NI) (T30_));
8309 			}
8310 			LA28_: ;
8311 			{
8312 				NIM_BOOL T33_;
8313 				T33_ = (NIM_BOOL)0;
8314 				T33_ = (((NI) -32768) <= (*s).position);
8315 				if (!(T33_)) goto LA34_;
8316 				T33_ = ((*s).position <= ((NI) 32767));
8317 				LA34_: ;
8318 				if (!T33_) goto LA35_;
8319 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), (*s).position);
8320 			}
8321 			goto LA31_;
8322 			LA35_: ;
8323 			{
8324 				NI lit;
8325 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
8326 				T38_ = NIM_NIL;
8327 				T38_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*s).position)));
8328 				lit = genLiteral__vmgen_1013(c, T38_);
8329 				gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174), ((NI) ((*dest))), lit);
8330 			}
8331 			LA31_: ;
8332 		}
8333 		break;
8334 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
8335 		{
8336 			genTypeLit__vmgen_2407(c, (*s).typ, dest);
8337 		}
8338 		break;
8339 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
8340 		{
8341 			{
8342 				NIM_BOOL T43_;
8343 				T43_ = (NIM_BOOL)0;
8344 				T43_ = !(((*(*c).prc).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8345 				if (!(T43_)) goto LA44_;
8346 				T43_ = ((*(*(*c).prc).sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
8347 				LA44_: ;
8348 				if (!T43_) goto LA45_;
8349 				genRdVar__vmgen_2453(c, n, dest, flags);
8350 			}
8351 			goto LA41_;
8352 			LA45_: ;
8353 			{
8354 				NimStringDesc* T48_;
8355 				T48_ = NIM_NIL;
8356 				T48_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8357 appendString(T48_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8358 appendString(T48_, (*(*s).name).s);
8359 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_31, NIM_FALSE);
8360 			}
8361 			LA41_: ;
8362 		}
8363 		break;
8364 		default:
8365 		{
8366 			NimStringDesc* T50_;
8367 			T50_ = NIM_NIL;
8368 			T50_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 26);
8369 appendString(T50_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_30));
8370 appendString(T50_, (*(*s).name).s);
8371 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_32, NIM_FALSE);
8372 		}
8373 		break;
8374 		}
8375 	}
8376 	break;
8377 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
8378 	{
8379 		{
8380 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
8381 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA54_;
8382 			s_2 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
8383 			{
8384 				if (!!(((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA58_;
8385 				genMagic__vmgen_1858(c, n, dest, (*s_2).magic);
8386 			}
8387 			goto LA56_;
8388 			LA58_: ;
8389 			{
8390 				NimStringDesc* T63_;
8391 				if (!((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA61_;
8392 				T63_ = NIM_NIL;
8393 				T63_ = rawNewString(((*(*s_2).name).s ? (*(*s_2).name).s->Sup.len : 0) + 35);
8394 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_84));
8395 appendString(T63_, (*(*s_2).name).s);
8396 appendString(T63_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_85));
8397 				liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T63_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__24XApAWKNvaMkcyklm8bNA_86, NIM_FALSE);
8398 			}
8399 			goto LA56_;
8400 			LA61_: ;
8401 			{
8402 				NIM_BOOL T65_;
8403 				T65_ = (NIM_BOOL)0;
8404 				T65_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_87));
8405 				if (!T65_) goto LA66_;
8406 				genMarshalLoad__vmgen_2071(c, n, dest);
8407 			}
8408 			goto LA56_;
8409 			LA66_: ;
8410 			{
8411 				NIM_BOOL T69_;
8412 				T69_ = (NIM_BOOL)0;
8413 				T69_ = matches__vmgen_3058(s_2, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_88));
8414 				if (!T69_) goto LA70_;
8415 				genMarshalStore__vmgen_2077(c, n, dest);
8416 			}
8417 			goto LA56_;
8418 			LA70_: ;
8419 			{
8420 				genCall__vmgen_1204(c, n, dest);
8421 				clearDest__vmgen_718(c, n, dest);
8422 			}
8423 			LA56_: ;
8424 		}
8425 		goto LA52_;
8426 		LA54_: ;
8427 		{
8428 			genCall__vmgen_1204(c, n, dest);
8429 			clearDest__vmgen_718(c, n, dest);
8430 		}
8431 		LA52_: ;
8432 	}
8433 	break;
8434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
8435 	{
8436 		{
8437 			NIM_BOOL T77_;
8438 			T77_ = (NIM_BOOL)0;
8439 			T77_ = isInt16Lit__vmgen_1573(n);
8440 			if (!T77_) goto LA78_;
8441 			{
8442 				NI T84_;
8443 				if (!(((NI) ((*dest))) < ((NI) 0))) goto LA82_;
8444 				T84_ = (NI)0;
8445 				T84_ = getTemp__vmgen_541(c, (*n).typ);
8446 				(*dest) = ((NI) (T84_));
8447 			}
8448 			LA82_: ;
8449 			gABx__vmgen_375(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180), ((NI) ((*dest))), ((NI) ((*n)._kind_1.intVal)));
8450 		}
8451 		goto LA75_;
8452 		LA78_: ;
8453 		{
8454 			genLit__vmgen_1199(c, n, dest);
8455 		}
8456 		LA75_: ;
8457 	}
8458 	break;
8459 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
8460 	{
8461 		genLit__vmgen_1199(c, n, dest);
8462 	}
8463 	break;
8464 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
8465 	{
8466 		{
8467 			NIM_BOOL T90_;
8468 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T93_;
8469 			T90_ = (NIM_BOOL)0;
8470 			T90_ = isEmptyType__ast_4779((*n).typ);
8471 			if (!!(T90_)) goto LA91_;
8472 			T93_ = NIM_NIL;
8473 			T93_ = getNullValue__vmgen_2432((*n).typ, (*n).info, (*c).config);
8474 			genLit__vmgen_1199(c, T93_, dest);
8475 		}
8476 		goto LA88_;
8477 		LA91_: ;
8478 		{
8479 			unused__vmgen_1026(c, n, (*dest));
8480 		}
8481 		LA88_: ;
8482 	}
8483 	break;
8484 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
8485 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
8486 	{
8487 		unused__vmgen_1026(c, n, (*dest));
8488 		genAsgn__vmgen_2329(c, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73)));
8489 	}
8490 	break;
8491 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
8492 	{
8493 		genObjAccess__vmgen_2569(c, n, dest, flags);
8494 	}
8495 	break;
8496 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
8497 	{
8498 		genCheckedObjAccess__vmgen_2646(c, n, dest, flags);
8499 	}
8500 	break;
8501 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
8502 	{
8503 		genArrAccess__vmgen_2682(c, n, dest, flags);
8504 	}
8505 	break;
8506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
8507 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8508 	{
8509 		genDeref__vmgen_2181(c, n, dest, flags);
8510 	}
8511 	break;
8512 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
8513 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8514 	{
8515 		genAddr__vmgen_2138(c, n, dest, flags);
8516 	}
8517 	break;
8518 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
8519 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
8520 	{
8521 		genIf__vmgen_883(c, n, dest);
8522 	}
8523 	break;
8524 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
8525 	{
8526 		gen__vmgen_687(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], dest, 0);
8527 	}
8528 	break;
8529 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
8530 	{
8531 		genCase__vmgen_1030(c, n, dest);
8532 	}
8533 	break;
8534 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
8535 	{
8536 		unused__vmgen_1026(c, n, (*dest));
8537 		genWhile__vmgen_761(c, n);
8538 	}
8539 	break;
8540 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
8541 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
8542 	{
8543 		genBlock__vmgen_799(c, n, dest);
8544 	}
8545 	break;
8546 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
8547 	{
8548 		genReturn__vmgen_1190(c, n);
8549 	}
8550 	break;
8551 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
8552 	{
8553 		genRaise__vmgen_1185(c, n);
8554 	}
8555 	break;
8556 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
8557 	{
8558 		genBreak__vmgen_831(c, n);
8559 	}
8560 	break;
8561 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
8562 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
8563 	{
8564 		genTry__vmgen_1110(c, n, dest);
8565 	}
8566 	break;
8567 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
8568 	{
8569 		{
8570 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8571 			x = NIM_NIL;
8572 			{
8573 				NI i;
8574 				NI colontmp_;
8575 				NI i_2;
8576 				i = (NI)0;
8577 				colontmp_ = (NI)0;
8578 				colontmp_ = safeLen__ast_3191(n);
8579 				i_2 = ((NI) 0);
8580 				{
8581 					while (1) {
8582 						if (!(i_2 < colontmp_)) goto LA114;
8583 						i = i_2;
8584 						x = (*n)._kind_6.sons->data[i];
8585 						gen__vmgen_707(c, x, 0);
8586 						i_2 += ((NI) 1);
8587 					} LA114: ;
8588 				}
8589 			}
8590 		}
8591 	}
8592 	break;
8593 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
8594 	{
8595 		NI T120_;
8596 		{
8597 			NI i_3;
8598 			NI colontmp__2;
8599 			NI T117_;
8600 			NI i_4;
8601 			i_3 = (NI)0;
8602 			colontmp__2 = (NI)0;
8603 			T117_ = (NI)0;
8604 			T117_ = len__ast_3198(n);
8605 			colontmp__2 = (NI)(T117_ - ((NI) 1));
8606 			i_4 = ((NI) 0);
8607 			{
8608 				while (1) {
8609 					if (!(i_4 < colontmp__2)) goto LA119;
8610 					i_3 = i_4;
8611 					gen__vmgen_707(c, (*n)._kind_6.sons->data[i_3], 0);
8612 					i_4 += ((NI) 1);
8613 				} LA119: ;
8614 			}
8615 		}
8616 		T120_ = (NI)0;
8617 		T120_ = len__ast_3198(n);
8618 		gen__vmgen_687(c, (*n)._kind_6.sons->data[(NI)(T120_ - ((NI) 1))], dest, flags);
8619 	}
8620 	break;
8621 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
8622 	{
8623 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
8624 		T122_ = NIM_NIL;
8625 		T122_ = lastSon__ast_4832(n);
8626 		gen__vmgen_687(c, T122_, dest, flags);
8627 	}
8628 	break;
8629 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
8630 	{
8631 		unused__vmgen_1026(c, n, (*dest));
8632 		gen__vmgen_707(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8633 	}
8634 	break;
8635 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8636 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8637 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
8638 	{
8639 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8640 	}
8641 	break;
8642 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
8643 	{
8644 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8645 	}
8646 	break;
8647 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
8648 	{
8649 		genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 0)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93));
8650 	}
8651 	break;
8652 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
8653 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
8654 	{
8655 		unused__vmgen_1026(c, n, (*dest));
8656 		genVarSection__vmgen_2831(c, n);
8657 	}
8658 	break;
8659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
8660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
8661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
8662 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
8663 	{
8664 		unused__vmgen_1026(c, n, (*dest));
8665 	}
8666 	break;
8667 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
8668 	{
8669 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T130_;
8670 		T130_ = NIM_NIL;
8671 		T130_ = newSymNode__ast_3716((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
8672 		genLit__vmgen_1199(c, T130_, dest);
8673 	}
8674 	break;
8675 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
8676 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
8677 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
8678 	{
8679 		NI tmp0;
8680 		NI tmp1;
8681 		NI tmp2;
8682 		tmp0 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
8683 		tmp1 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
8684 		tmp2 = genx__vmgen_712(c, (*n)._kind_6.sons->data[((NI) 2)], 0);
8685 		gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 103), tmp0, tmp1, tmp2);
8686 		freeTemp__vmgen_550(c, tmp1);
8687 		freeTemp__vmgen_550(c, tmp2);
8688 		{
8689 			tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ T136_;
8690 			if (!(((NI) 0) <= ((NI) ((*dest))))) goto LA134_;
8691 			T136_ = (tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ)0;
8692 			T136_ = whichAsgnOpc__vmgen_1846(n, NIM_TRUE);
8693 			gABC__vmgen_312(c, n, T136_, ((NI) ((*dest))), tmp0, ((NI) 0));
8694 			freeTemp__vmgen_550(c, tmp0);
8695 		}
8696 		goto LA132_;
8697 		LA134_: ;
8698 		{
8699 			(*dest) = ((NI) (tmp0));
8700 		}
8701 		LA132_: ;
8702 	}
8703 	break;
8704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
8705 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
8706 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
8707 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
8709 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
8710 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
8711 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
8712 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
8713 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
8714 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
8715 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
8716 	{
8717 		unused__vmgen_1026(c, n, (*dest));
8718 	}
8719 	break;
8720 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
8721 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
8722 	{
8723 		gen__vmgen_687(c, (*n)._kind_6.sons->data[((NI) 0)], dest, 0);
8724 	}
8725 	break;
8726 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
8727 	{
8728 		genArrayConstr__vmgen_2947(c, n, dest);
8729 	}
8730 	break;
8731 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
8732 	{
8733 		genSetConstr__vmgen_2971(c, n, dest);
8734 	}
8735 	break;
8736 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
8737 	{
8738 		genObjConstr__vmgen_2985(c, n, dest);
8739 	}
8740 	break;
8741 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
8742 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
8743 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
8744 	{
8745 		genTupleConstr__vmgen_3027(c, n, dest);
8746 	}
8747 	break;
8748 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
8749 	{
8750 		{
8751 			if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 0))&7U)))!=0)) goto LA147_;
8752 			genConv__vmgen_1602(c, n, (*n)._kind_6.sons->data[((NI) 1)], dest, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94));
8753 		}
8754 		goto LA145_;
8755 		LA147_: ;
8756 		{
8757 			genCastIntFloat__vmgen_1628(c, n, dest);
8758 		}
8759 		LA145_: ;
8760 	}
8761 	break;
8762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8763 	{
8764 		genTypeLit__vmgen_2407(c, (*n).typ, dest);
8765 	}
8766 	break;
8767 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
8768 	{
8769 	}
8770 	break;
8771 	default:
8772 	{
8773 		{
8774 			NIM_BOOL T155_;
8775 			T155_ = (NIM_BOOL)0;
8776 			T155_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8777 			if (!(T155_)) goto LA156_;
8778 			T155_ = isCompileTimeOnly__types_3528((*n).typ);
8779 			LA156_: ;
8780 			if (!T155_) goto LA157_;
8781 			genTypeLit__vmgen_2407(c, (*n).typ, dest);
8782 		}
8783 		goto LA153_;
8784 		LA157_: ;
8785 		{
8786 			NimStringDesc* T160_;
8787 			NimStringDesc* T161_;
8788 			T160_ = NIM_NIL;
8789 			T161_ = NIM_NIL;
8790 			T161_ = dollar___renderer_2106(n);
8791 			T160_ = rawNewString((T161_ ? T161_->Sup.len : 0) + 28);
8792 appendString(T160_, ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_107));
8793 appendString(T160_, T161_);
8794 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T160_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_108, NIM_FALSE);
8795 		}
8796 		LA153_: ;
8797 	}
8798 	break;
8799 	}
8800 }
N_NIMCALL(void,gen__vmgen_707)8801 N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_707)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TGenFlag__dpr9bkeHD0U9bDk615O0L1FQ flags) {
8802 	NI tmp;
8803 	tmp = ((NI) -1);
8804 	gen__vmgen_687(c, n, (&tmp), flags);
8805 	{
8806 		if (!(((NI) 0) <= ((NI) (tmp)))) goto LA3_;
8807 		freeTemp__vmgen_550(c, ((NI) (tmp)));
8808 	}
8809 	LA3_: ;
8810 }
N_NIMCALL(void,finalJumpTarget__vmgen_3340)8811 N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3340)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI pc, NI diff) {
8812 	NU64 oldInstr;
8813 	{
8814 		NIM_BOOL T3_;
8815 		NimStringDesc* argX60gensym608_;
8816 		T3_ = (NIM_BOOL)0;
8817 		T3_ = (((NI) -8388607) < diff);
8818 		if (!(T3_)) goto LA4_;
8819 		T3_ = (diff < ((NI) 8388607));
8820 		LA4_: ;
8821 		if (!!(T3_)) goto LA5_;
8822 		argX60gensym608_ = toFileLineCol__msgs_615(TM__24XApAWKNvaMkcyklm8bNA_109);
8823 		internalErrorImpl__msgs_1431((*c).config, unknownLineInfo__lineinfos_280, argX60gensym608_, TM__24XApAWKNvaMkcyklm8bNA_109);
8824 	}
8825 	LA5_: ;
8826 	oldInstr = (*c).code->data[pc];
8827 	(*c).code->data[pc] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI) 8388608))))) << (NU64)(24ULL)));
8828 }
N_NIMCALL(void,optimizeJumps__vmgen_3387)8829 N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3387)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start) {
8830 	{
8831 		NI i;
8832 		NI colontmp_;
8833 		NI T2_;
8834 		NI i_2;
8835 		i = (NI)0;
8836 		colontmp_ = (NI)0;
8837 		T2_ = ((*c).code ? (*c).code->Sup.len : 0);
8838 		colontmp_ = T2_;
8839 		i_2 = start;
8840 		{
8841 			while (1) {
8842 				tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ opc;
8843 				if (!(i_2 < colontmp_)) goto LA4;
8844 				i = i_2;
8845 				opc = ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(0ULL)) & 255ULL)));
8846 				switch (opc) {
8847 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8848 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8849 				{
8850 					NI reg;
8851 					NI d;
8852 					reg = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(8ULL)) & 65535ULL)));
8853 					d = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8854 					{
8855 						NI iters;
8856 						NI res;
8857 						iters = (NI)0;
8858 						res = ((NI) 10);
8859 						{
8860 							while (1) {
8861 								if (!(((NI) 0) <= res)) goto LA8;
8862 								iters = res;
8863 								switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL)))) {
8864 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8865 								{
8866 									d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8867 								}
8868 								break;
8869 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
8870 								case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
8871 								{
8872 									{
8873 										if (!!((((NI) (((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(8ULL)) & 65535ULL))))) == ((NI) (reg))))) goto LA13_;
8874 										goto LA6;
8875 									}
8876 									LA13_: ;
8877 									{
8878 										if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(0ULL)) & 255ULL))) == opc)) goto LA17_;
8879 										d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8880 									}
8881 									goto LA15_;
8882 									LA17_: ;
8883 									{
8884 										d += ((NI) 1);
8885 									}
8886 									LA15_: ;
8887 								}
8888 								break;
8889 								default:
8890 								{
8891 									goto LA6;
8892 								}
8893 								break;
8894 								}
8895 								res -= ((NI) 1);
8896 							} LA8: ;
8897 						}
8898 					} LA6: ;
8899 					{
8900 						if (!!((d == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA23_;
8901 						finalJumpTarget__vmgen_3340(c, i, (NI)(d - i));
8902 					}
8903 					LA23_: ;
8904 				}
8905 				break;
8906 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
8907 				case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
8908 				{
8909 					NI d_2;
8910 					NI iters_2;
8911 					d_2 = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)));
8912 					iters_2 = ((NI) 10);
8913 					{
8914 						while (1) {
8915 							NIM_BOOL T28_;
8916 							T28_ = (NIM_BOOL)0;
8917 							T28_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163));
8918 							if (!(T28_)) goto LA29_;
8919 							T28_ = (((NI) 0) < iters_2);
8920 							LA29_: ;
8921 							if (!T28_) goto LA27;
8922 							d_2 += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
8923 							iters_2 -= ((NI) 1);
8924 						} LA27: ;
8925 					}
8926 					{
8927 						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1))) goto LA32_;
8928 						(*c).code->data[i] = (*c).code->data[d_2];
8929 					}
8930 					goto LA30_;
8931 					LA32_: ;
8932 					{
8933 						if (!!((d_2 == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)))))) goto LA35_;
8934 						finalJumpTarget__vmgen_3340(c, i, (NI)(d_2 - i));
8935 					}
8936 					goto LA30_;
8937 					LA35_: ;
8938 					LA30_: ;
8939 				}
8940 				break;
8941 				default:
8942 				{
8943 				}
8944 				break;
8945 				}
8946 				i_2 += ((NI) 1);
8947 			} LA4: ;
8948 		}
8949 	}
8950 }
N_NIMCALL(NI,genProc__vmgen_3055)8951 N_LIB_PRIVATE N_NIMCALL(NI, genProc__vmgen_3055)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
8952 	NI result;
8953 	NI pos;
8954 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym636_;
8955 	NIM_BOOL wasNotGenProcBefore;
8956 	NIM_BOOL noRegistersAllocated;
8957 	result = (NI)0;
8958 	xX60gensym636_ = s;
8959 	pos = getOrDefault__vmgen_3597((*c).procToCodePos, (NI)((NI)((NU64)(((NI) ((*xX60gensym636_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym636_).Sup.itemId.item))));
8960 	wasNotGenProcBefore = (pos == ((NI) 0));
8961 	noRegistersAllocated = ((*s).offset == ((NI) -1));
8962 	{
8963 		NIM_BOOL T3_;
8964 		NI last;
8965 		NI T7_;
8966 		NU64 eofInstr;
8967 		NI T14_;
8968 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym641_;
8969 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
8970 		NIM_BOOL T15_;
8971 		NI procStart;
8972 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* p;
8973 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* T16_;
8974 		tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* oldPrc;
8975 		NI T28_;
8976 		T3_ = (NIM_BOOL)0;
8977 		T3_ = wasNotGenProcBefore;
8978 		if (T3_) goto LA4_;
8979 		T3_ = noRegistersAllocated;
8980 		LA4_: ;
8981 		if (!T3_) goto LA5_;
8982 		T7_ = ((*c).code ? (*c).code->Sup.len : 0);
8983 		last = (NI)(T7_ - ((NI) 1));
8984 		eofInstr = (NU64)0;
8985 		{
8986 			NIM_BOOL T10_;
8987 			T10_ = (NIM_BOOL)0;
8988 			T10_ = (((NI) 0) <= last);
8989 			if (!(T10_)) goto LA11_;
8990 			T10_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
8991 			LA11_: ;
8992 			if (!T10_) goto LA12_;
8993 			eofInstr = (*c).code->data[last];
8994 			asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
8995 			asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
8996 		}
8997 		LA12_: ;
8998 		T14_ = ((*c).code ? (*c).code->Sup.len : 0);
8999 		result = (NI)(T14_ + ((NI) 1));
9000 		xX60gensym641_ = s;
9001 		X5BX5Deq___importer_2284((&(*c).procToCodePos), (NI)((NI)((NU64)(((NI) ((*xX60gensym641_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym641_).Sup.itemId.item))), result);
9002 		T15_ = (NIM_BOOL)0;
9003 		T15_ = isCompileTimeProc__ast_4683(s);
9004 		body = transformBody__transf_16((*c).graph, (*c).Sup.idgen, s, !(T15_));
9005 		procStart = xjmp__vmgen_398(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163), ((NI) 0));
9006 		T16_ = NIM_NIL;
9007 		T16_ = (tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ*) newObj((&NTIpproc__FM7mzTFsA8pyUhXVKKO6Gw_), sizeof(tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ));
9008 		if ((*T16_).blocks) { nimGCunrefRC1((*T16_).blocks); (*T16_).blocks = NIM_NIL; }
9009 		asgnRef((void**) (&(*T16_).sym), s);
9010 		p = T16_;
9011 		oldPrc = (*c).prc;
9012 		asgnRef((void**) (&(*c).prc), p);
9013 		genParams__vmgen_3318(c, (*(*s).typ).n);
9014 		{
9015 			NIM_BOOL T19_;
9016 			T19_ = (NIM_BOOL)0;
9017 			T19_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
9018 			if (!(T19_)) goto LA20_;
9019 			T19_ = isGenericRoutineStrict__ast_4639(s);
9020 			LA20_: ;
9021 			if (!T19_) goto LA21_;
9022 			genGenericParams__vmgen_3361(c, (*(*s).ast)._kind_6.sons->data[((NI) 2)]);
9023 		}
9024 		LA21_: ;
9025 		{
9026 			NI T27_;
9027 			if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12))&63U)))!=0)) goto LA25_;
9028 			asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) incrSeqV3((TGenericSeq*)((*(*c).prc).regInfo), (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_)));
9029 			T27_ = (*(*c).prc).regInfo->Sup.len++;
9030 			(*(*c).prc).regInfo->data[T27_] = TM__24XApAWKNvaMkcyklm8bNA_5;
9031 		}
9032 		LA25_: ;
9033 		gen__vmgen_707(c, body, 0);
9034 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1), ((NI) 0), ((NI) 0), ((NI) 0));
9035 		patch__vmgen_434(c, procStart);
9036 		gABC__vmgen_312(c, body, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) ((NU64)((NU64)((NU64)(eofInstr) >> (NU64)(8ULL)) & 65535ULL))), ((NI) 0), ((NI) 0));
9037 		optimizeJumps__vmgen_3387(c, result);
9038 		T28_ = ((*(*c).prc).regInfo ? (*(*c).prc).regInfo->Sup.len : 0);
9039 		(*s).offset = T28_;
9040 		asgnRef((void**) (&(*c).prc), oldPrc);
9041 	}
9042 	goto LA1_;
9043 	LA5_: ;
9044 	{
9045 		asgnRef((void**) (&(*(*c).prc).regInfo), (tySequence__C1Ql3I9bU3HGPJdRd2y9cbVg*) setLengthSeqV2(&((*(*c).prc).regInfo)->Sup, (&NTIseqLtupleLinuse58bool_kind58tslotkindTT__C1Ql3I9bU3HGPJdRd2y9cbVg_), ((NI) ((*s).offset))));
9046 		result = pos;
9047 	}
9048 	LA1_: ;
9049 	return result;
9050 }
N_NIMCALL(void,removeLastEof__vmgen_3268)9051 N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3268)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
9052 	NI last;
9053 	NI T1_;
9054 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9055 	last = (NI)(T1_ - ((NI) 1));
9056 	{
9057 		NIM_BOOL T4_;
9058 		T4_ = (NIM_BOOL)0;
9059 		T4_ = (((NI) 0) <= last);
9060 		if (!(T4_)) goto LA5_;
9061 		T4_ = (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0));
9062 		LA5_: ;
9063 		if (!T4_) goto LA6_;
9064 		asgnRef((void**) (&(*c).code), (tySequence__YdLNCDKYeipzJx3I8Xw82Q*) setLengthSeqV2(&((*c).code)->Sup, (&NTIseqLtinstrT__YdLNCDKYeipzJx3I8Xw82Q_), ((NI) (last))));
9065 		asgnRef((void**) (&(*c).debug), (tySequence__PJMRIt5QxCm6bRaVyQ5CGA*) setLengthSeqV2(&((*c).debug)->Sup, (&NTIseqLtlineinfoT__PJMRIt5QxCm6bRaVyQ5CGA_), ((NI) (last))));
9066 	}
9067 	LA6_: ;
9068 }
N_NIMCALL(NI,genExpr__vmgen_3309)9069 N_LIB_PRIVATE N_NIMCALL(NI, genExpr__vmgen_3309)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresValue) {
9070 	NI result;
9071 	NI T1_;
9072 	NI d;
9073 	result = (NI)0;
9074 	removeLastEof__vmgen_3268(c);
9075 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9076 	result = T1_;
9077 	d = ((NI) -1);
9078 	gen__vmgen_687(c, n, (&d), 0);
9079 	{
9080 		if (!(((NI) (d)) < ((NI) 0))) goto LA4_;
9081 		{
9082 			if (!requiresValue) goto LA8_;
9083 			liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_110), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_111, NIM_FALSE);
9084 		}
9085 		LA8_: ;
9086 		d = ((NI) 0);
9087 	}
9088 	LA4_: ;
9089 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) (d)), ((NI) 0), ((NI) 0));
9090 	return result;
9091 }
N_NIMCALL(NI,genStmt__vmgen_3301)9092 N_LIB_PRIVATE N_NIMCALL(NI, genStmt__vmgen_3301)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9093 	NI result;
9094 	NI T1_;
9095 	NI d;
9096 	result = (NI)0;
9097 	removeLastEof__vmgen_3268(c);
9098 	T1_ = ((*c).code ? (*c).code->Sup.len : 0);
9099 	result = T1_;
9100 	d = ((NI) -1);
9101 	gen__vmgen_687(c, n, (&d), 0);
9102 	gABC__vmgen_312(c, n, ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((NI) 0), ((NI) 0), ((NI) 0));
9103 	{
9104 		if (!(((NI) 0) <= ((NI) (d)))) goto LA4_;
9105 		liMessage__msgs_1118((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__24XApAWKNvaMkcyklm8bNA_112), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__24XApAWKNvaMkcyklm8bNA_113, NIM_FALSE);
9106 	}
9107 	LA4_: ;
9108 	return result;
9109 }
N_NIMCALL(void,compiler_vmgenDatInit000)9110 N_LIB_PRIVATE N_NIMCALL(void, compiler_vmgenDatInit000)(void) {
9111 static TNimNode* TM__24XApAWKNvaMkcyklm8bNA_52_5[5];
9112 static TNimNode TM__24XApAWKNvaMkcyklm8bNA_0[6];
9113 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9114 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA);
9115 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.kind = 17;
9116 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9117 TM__24XApAWKNvaMkcyklm8bNA_52_5[0] = &TM__24XApAWKNvaMkcyklm8bNA_0[1];
9118 TM__24XApAWKNvaMkcyklm8bNA_0[1].kind = 1;
9119 TM__24XApAWKNvaMkcyklm8bNA_0[1].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, colonstate_);
9120 TM__24XApAWKNvaMkcyklm8bNA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9121 TM__24XApAWKNvaMkcyklm8bNA_0[1].name = ":state";
9122 TM__24XApAWKNvaMkcyklm8bNA_52_5[1] = &TM__24XApAWKNvaMkcyklm8bNA_0[2];
9123 TM__24XApAWKNvaMkcyklm8bNA_0[2].kind = 1;
9124 TM__24XApAWKNvaMkcyklm8bNA_0[2].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, t21);
9125 TM__24XApAWKNvaMkcyklm8bNA_0[2].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9126 TM__24XApAWKNvaMkcyklm8bNA_0[2].name = "t21";
9127 TM__24XApAWKNvaMkcyklm8bNA_52_5[2] = &TM__24XApAWKNvaMkcyklm8bNA_0[3];
9128 TM__24XApAWKNvaMkcyklm8bNA_0[3].kind = 1;
9129 TM__24XApAWKNvaMkcyklm8bNA_0[3].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, targ22);
9130 TM__24XApAWKNvaMkcyklm8bNA_0[3].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
9131 TM__24XApAWKNvaMkcyklm8bNA_0[3].name = "targ22";
9132 TM__24XApAWKNvaMkcyklm8bNA_52_5[3] = &TM__24XApAWKNvaMkcyklm8bNA_0[4];
9133 TM__24XApAWKNvaMkcyklm8bNA_0[4].kind = 1;
9134 TM__24XApAWKNvaMkcyklm8bNA_0[4].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, n3);
9135 TM__24XApAWKNvaMkcyklm8bNA_0[4].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9136 TM__24XApAWKNvaMkcyklm8bNA_0[4].name = "n3";
9137 TM__24XApAWKNvaMkcyklm8bNA_52_5[4] = &TM__24XApAWKNvaMkcyklm8bNA_0[5];
9138 TM__24XApAWKNvaMkcyklm8bNA_0[5].kind = 1;
9139 TM__24XApAWKNvaMkcyklm8bNA_0[5].offset = offsetof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA, arg4);
9140 TM__24XApAWKNvaMkcyklm8bNA_0[5].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
9141 TM__24XApAWKNvaMkcyklm8bNA_0[5].name = "arg4";
9142 TM__24XApAWKNvaMkcyklm8bNA_0[0].len = 5; TM__24XApAWKNvaMkcyklm8bNA_0[0].kind = 2; TM__24XApAWKNvaMkcyklm8bNA_0[0].sons = &TM__24XApAWKNvaMkcyklm8bNA_52_5[0];
9143 NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_.node = &TM__24XApAWKNvaMkcyklm8bNA_0[0];
9144 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.size = sizeof(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9145 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.align = NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___tSX9a6VppB8gTJYBP9aDt4MA*);
9146 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.kind = 22;
9147 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.base = (&NTIobject__tSX9a6VppB8gTJYBP9aDt4MA_);
9148 NTIrefobject__b6fqZ1oVWC4DbYpw7amjAw_.marker = Marker_tyRef__b6fqZ1oVWC4DbYpw7amjAw;
9149 }
9150 
9151